Мне нужно фильтровать, какие данные возвращаются в моем преобразовании. Прочтите мой пример кода, и вы сможете увидеть, что я пытаюсь сделать здесь. Я ценю помощь. Благодарю.Фильтрация XML с помощью XSLT
<xsl:variable select="Records/Record[@level = '12345']/Field[@g = 'A67890']" name="Var1"/>
<xsl:variable select="Records/Record[@level = '12345']/Field[@g = 'B67890]" name="Var2"/>
<xsl:variable select="Records/Record[@level = '12345']/Field[@g= 'C67890']" name="Var3"/>
<xsl:variable select="Records/Record/Record[@level = 'ABC']/Field[@g = 'D123']" name="Var4"/>
<xsl:variable select="Records/Record/Record[@level = 'ABC']/Field[@g = 'C123']" name="Var5"/>
<xsl:if test="(contains($Var1= 'And') and ($Var2 = $Var4) and ($Var3 = $Var5) or contains($Var3= 'Or')">
----------**Code that is ran after if test**
</xsl:if>
Пожалуйста, покажите ваш входной XML и объяснить на простом английском языке, какие условия вы хотите проверить. Я боюсь 'contains ($ Var1 = 'And')' не имеет смысла синтаксис XPath. –
Извините, я не имею права публиковать свой входной XML. Мне нужно проверить, есть ли Var1 = And и если Var2 = Var4 и Var3 = Var5, или Var1 = Or. Это помогает? – dontchucknorris
'contains ($ Var1, 'And')' будет правильным синтаксисом для contains. По крайней мере, без малейших данных сложно сказать, что вы делаете. Можете ли вы опубликовать некоторые анонимные данные? – Bensonius