2014-05-22 1 views
0

Если у меня есть несколько узлов в документе xsl и вы хотите проверить, что все они имеют дочерний узел, который существует, как бы вы это сделали с циклом for-each в XSL 2?XSL-проверка нескольких узлов существует с for-each

<A> 
<B> 
    <C>test</C> 
</B> 
<B> 
    <C>test</C> 
</B> 
</A> 

Например, в приведенном выше документе, мы хотим, чтобы перебрать все B Узлов в документе, и выяснить, если C существует с «тестом» значения для этого B узла.

+0

«* как бы вы это сделали с циклом for-each?» Вместо этого вы бы использовали count(). –

ответ

1

«мы хотим, чтобы перебрать все B Узлов в документе, и выяснить, если C существует с„тестом“значения для этого B узла»

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 

    <xsl:template match="/"> 
     <xsl:for-each select="A/B[C='test']"> 
      <!-- Rest of XSLT --> 
     </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 

Вы можете добавить «тесты»/предикаты с использованием [].

Смежные вопросы