В образце XML есть две формы, которые соответствуют по числу и типу; во второй форме соответствия мне нужно вычеркнуть значение элемента flag
. Я не могу изменить уровень, который я повторяю из-за некоторых взаимосвязанных таблиц стилей. Я могу сделать preceding-sibling
, если бы выполнял итерацию по formslist
, но я не могу понять, что синтаксис правильный, если я на один уровень глубже на элементе flag
. И число, и тип должны совпадать, прежде чем гасить.previous-sibling с завихрением
<apply-templates match="formslist/flag">
<xsl:choose>
<xsl:when test=""></xsl:when>
</xsl:choose>
</apply-templates>
Пример XML
<forms>
<formslist>
<number>one</number>
<type>car</type>
<flag>da</flag>
</formslist>
<formslist>
<number>two</number>
<type>truck</type>
<flag>ex</flag>
</formslist>
<formslist>
<number>one</number>
<type>car</type>
<flag>da</flag>
</formslist>
</forms>
Ваш вопрос немного запутанный. Если вы хотите получить родитель 'formlist' вашего текущего' флага', вы должны использовать '' .. "'. Для лучшего ответа вам нужно предоставить желаемый результат и полную таблицу стилей. – 2010-06-22 22:16:59
Хороший вопрос (+1). См. Мой ответ для полного и эффективного решения. –