2014-06-05 2 views
0

Вот наш XML:Как назначить тест XSL привести к переменному

... 

    <OBJECT_CONTACT_PLZ>2222</OBJECT_CONTACT_PLZ> 
    <Kategorien> 
     <Kategorie> 
      <Bezeichnung>AAA</Bezeichnung> 
      <Ebene>1</Ebene> 
      <KategorieID>13</KategorieID> 
     </Kategorie> 
     <Kategorie> 
      <Bezeichnung>BBB</Bezeichnung> 
      <Ebene>2</Ebene> 
      <KategorieID>35</KategorieID> 
      <Parent>13</Parent> 
     </Kategorie> 
     <Kategorie> 
      <Bezeichnung>XXX</Bezeichnung> 
      <Ebene>3</Ebene> 
      <KategorieID>55</KategorieID> 
      <Parent>35</Parent> 
     </Kategorie> 
    </Kategorien> 

... 

А вот наш XSL:

<xsl:if test="(td2:Kategorien/Kategorie[contains(Bezeichnung, 'XXX')] or td2:Kategorien/Kategorie[contains(Bezeichnung, 'YYY')] or td2:Kategorien/Kategorie[contains(Bezeichnung, 'ZZZ')]) and ((td2:OBJECT_CONTACT_PLZ='0000') or (td2:OBJECT_CONTACT_PLZ='1111') or (td2:OBJECT_CONTACT_PLZ='2222') or (td2:OBJECT_CONTACT_PLZ='3333'))"> 

<xsl:variable name="plz"> 
    <xsl:value-of select="td2:CONTACT_PLZ"></xsl:value-of> </xsl:variable> 

<xsl:variable name="betriebsart"> 
    <xsl:value-of select="td2:Kategorien/Kategorie/Bezeichnung"></xsl:value-of> </xsl:variable> 

На данный момент, переменная «Betriebsart» всегда наполнен первым «Kategorie», в данном случае «AAA».

Как заполнить переменную 'betriebsart' с помощью 'Kategorie', которая была сопоставлена ​​в предложении 'if', в данном случае 'XXX'?

Большое спасибо за любую помощь!

ответ

0

Try:

<xsl:value-of select="td2:Kategorien/Kategorie[contains(Bezeichnung, 'XXX') or contains(Bezeichnung, 'YYY') or contains(Bezeichnung, 'ZZZ')]/Bezeichnung"/> 
Смежные вопросы