2013-02-21 11 views
8

Mam plik xml, który jest podobny do tego.Jak sprawdzić nazwy węzłów XML za pomocą <xsl:if>

<RootTag> 
    <Form> 
     <Section> 
      <Annex> 
       <Group> 
         <Label value = "Name"></Label> 
         <Text Value = "Enter Name"></Text> 
       </Group> 
       <Group> 
         <Label value = "Gender"></Label> 
         <Radio Value = "Male||Female"></Text> 
       </Group> 
      </Annex> 
     </Section> 
    </Form> 
</RootTag> 

Teraz w moim xsl, muszę sprawdzić, czy zmienna jest <Text> lub <Radio> i generować <input> tag na podstawie tego wyniku.

Czy jest coś, co mogę zrobić, używając <xsl:if>? Jak <xsl:if test = 'node = <Text>'>

Odpowiedz

19
<xsl:if test="name() = 'Form'"> 

Jednakże, istnieją inne metody, które mogą być lepiej:

Jednym z nich jest użycie szablonu dla tej pozycji; silnik XSLT automatycznie wykona test, jeśli chcesz tak na niego spojrzeć.

<xsl:template match="Form"> 

Inny sposób polega na użyciu Oś

<xsl:for-each select="self::Form"> 
self::
Powiązane problemy