Hallo,
ich bin ziemlicher Anfänger und brauche Hilfe für folgende Aufgabe.
Ich habe einen Node-Set in der folgenden Form in einer variablen "cn" abgelegt:
<LDAP-search-results>
* <result>
o <DN>cn=sampleQCF,o=jndiTest</DN>
o <attribute-value name="javaReferenceAddress">#0#VER#6</attribute-value>
o <attribute-value name="javaReferenceAddress">#1#TRAN#0</attribute-value>
o <attribute-value name="javaReferenceAddress">#2#QMGR#QM_mqhost</attribute-value>
o <attribute-value name="javaReferenceAddress">#3#HOST#localhost</attribute-value>
o <attribute-value name="javaReferenceAddress">#4#PORT#1414</attribute-value>
o <attribute-value name="javaReferenceAddress">#5#CHAN#SYSTEM.DEF.SVR CONN</attribute-value>
o <attribute-value name="javaReferenceAddress">#6#CCS#819</attribute-value>
o <attribute-value name="javaReferenceAddress">#7#CT#</attribute-value>
o <attribute-value name="javaReferenceAddress">#8#CTO#0</attribute-value>
o <attribute-value name="javaReferenceAddress">#9#SRC#0</attribute-value>
o <attribute-value name="javaReferenceAddress">#10#SFIPS#false</attribute-value>
o <attribute-value name="javaReferenceAddress">#11#SPAG#false</attribute-value>
o <attribute-value name="javaReferenceAddress">#12#UCP#true</attribute-value>
o <attribute-value name="javaReferenceAddress">#13#PINT#5000</attribute-value>
o <attribute-value name="javaReferenceAddress">#14#MBS#10</attribute-value>
o <attribute-value name="javaReferenceAddress">#15#FIQ#1</attribute-value>
o <attribute-value name="javaReferenceAddress">#16#LA#</attribute-value>
o <attribute-value name="javaReferenceAddress">#17#RINT#5000</attribute-value>
o <attribute-value name="javaReferenceAddress">#18#TCM#true</attribute-value>
o <attribute-value name="javaReferenceAddress">#19#TM#QUEUE.TEMP</attribute-value>
o <attribute-value name="javaReferenceAddress">#20#TQPFX#</attribute-value>
o <attribute-value name="javaReferenceAddress">#21#MRET#1</attribute-value>
</result>
</LDAP-search-results>
In einer for-each schleife möchte ich die einzelnen Attribute extrahieren:
<!-- select="$cn//attribute-value" -->
<xsl:for-each select="$cn/LDAP-search-results/result/attribute-value">
<xsl:choose>
<xsl:when test="contains($cn/LDAP-search-results/result/attribute-value,'#0#VER#')">
<xsl:variable name="ver" select="substring-after($cn/LDAP-search-results/result/attribute-value,'#0#VER#')"/>
</xsl:when>
<xsl:when test="contains($cn/LDAP-search-results/result/attribute-value,'#1#TRAN#')">
<xsl:variable name="ver" select="substring-after($cn/LDAP-search-results/result/attribute-value,'#1#TRAN#')"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>
Als Ergebnis erhalte ich immer nur das erste Attribute - 6
Kann mir Jemand helfen - was mache ich falsch - wieso werden nicht aller Attribute nacheinander selektiert ?
Für eine rasche Hilfe bin ich äusserst dankbar
Viele Grüsse
Sepp
ich bin ziemlicher Anfänger und brauche Hilfe für folgende Aufgabe.
Ich habe einen Node-Set in der folgenden Form in einer variablen "cn" abgelegt:
<LDAP-search-results>
* <result>
o <DN>cn=sampleQCF,o=jndiTest</DN>
o <attribute-value name="javaReferenceAddress">#0#VER#6</attribute-value>
o <attribute-value name="javaReferenceAddress">#1#TRAN#0</attribute-value>
o <attribute-value name="javaReferenceAddress">#2#QMGR#QM_mqhost</attribute-value>
o <attribute-value name="javaReferenceAddress">#3#HOST#localhost</attribute-value>
o <attribute-value name="javaReferenceAddress">#4#PORT#1414</attribute-value>
o <attribute-value name="javaReferenceAddress">#5#CHAN#SYSTEM.DEF.SVR CONN</attribute-value>
o <attribute-value name="javaReferenceAddress">#6#CCS#819</attribute-value>
o <attribute-value name="javaReferenceAddress">#7#CT#</attribute-value>
o <attribute-value name="javaReferenceAddress">#8#CTO#0</attribute-value>
o <attribute-value name="javaReferenceAddress">#9#SRC#0</attribute-value>
o <attribute-value name="javaReferenceAddress">#10#SFIPS#false</attribute-value>
o <attribute-value name="javaReferenceAddress">#11#SPAG#false</attribute-value>
o <attribute-value name="javaReferenceAddress">#12#UCP#true</attribute-value>
o <attribute-value name="javaReferenceAddress">#13#PINT#5000</attribute-value>
o <attribute-value name="javaReferenceAddress">#14#MBS#10</attribute-value>
o <attribute-value name="javaReferenceAddress">#15#FIQ#1</attribute-value>
o <attribute-value name="javaReferenceAddress">#16#LA#</attribute-value>
o <attribute-value name="javaReferenceAddress">#17#RINT#5000</attribute-value>
o <attribute-value name="javaReferenceAddress">#18#TCM#true</attribute-value>
o <attribute-value name="javaReferenceAddress">#19#TM#QUEUE.TEMP</attribute-value>
o <attribute-value name="javaReferenceAddress">#20#TQPFX#</attribute-value>
o <attribute-value name="javaReferenceAddress">#21#MRET#1</attribute-value>
</result>
</LDAP-search-results>
In einer for-each schleife möchte ich die einzelnen Attribute extrahieren:
<!-- select="$cn//attribute-value" -->
<xsl:for-each select="$cn/LDAP-search-results/result/attribute-value">
<xsl:choose>
<xsl:when test="contains($cn/LDAP-search-results/result/attribute-value,'#0#VER#')">
<xsl:variable name="ver" select="substring-after($cn/LDAP-search-results/result/attribute-value,'#0#VER#')"/>
</xsl:when>
<xsl:when test="contains($cn/LDAP-search-results/result/attribute-value,'#1#TRAN#')">
<xsl:variable name="ver" select="substring-after($cn/LDAP-search-results/result/attribute-value,'#1#TRAN#')"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>
Als Ergebnis erhalte ich immer nur das erste Attribute - 6
Kann mir Jemand helfen - was mache ich falsch - wieso werden nicht aller Attribute nacheinander selektiert ?
Für eine rasche Hilfe bin ich äusserst dankbar
Viele Grüsse
Sepp
Comment