Ich habe begonnen, XSLT LernenXML zu XML-Transformation mit verschiedenem Innerem Knoten aber mit dem gleichen Knoten äußeren XSLT mit
Wenn an dem ich arbeite, dass ich eine falsche Art von XML-Format Eingang
<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<test>
<access1>113AL</access1>
<access2>119AL</access2>
</test>
<test>
<access2>115AL</access2>
<access3>116AL</access3>
</test>
<test>
<access4>118AL</access4>
<access5>119AL</access5>
</test>
<copies>
<test2>
<a>113AL</a>
<Copy1>Y</Copy1>
</test2>
<test2>
<a>113AX</a>
<Copy1>N</Copy1>
</test2>
</copies>
</root>
bekomme
Erwarteter Ausgang
<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<test>
<access1>113AL</access1>
<Indicator>true</Indicator>
<Copy>Y</Copy>
<access2>119AL</access2>
</test>
<test>
<access2>115AL</access2>
<access3>116AL</access3>
</test>
<test>
<access4>118AL</access4>
<access5>119AL</access5>
</test>
</root>
Ich versuche root/test/access-Werte mit root/test/access zu vergleichen. Wenn eine Übereinstimmung gefunden wird, sollte sie das entsprechende Copy-Tag enthalten. Mein XSL
<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<xsl:for-each select="test">
<test>
<access1><xsl:value-of select="//access1"/></access1>
<access2><xsl:value-of select="//access2"/></access2>
<xsl:for-each select="root/copies/test2/access">
<xsl:if test ="access1=test2/access">
<Copy>Y</Copy>
</xsl:if>
</xsl:for-each>
</test>
</xsl:for-each>
<xsl:for-each select="test">
<test>
<access2><xsl:value-of select="//access2"/></access2>
<access3><xsl:value-of select="//access3"/></access3>
<xsl:for-each select="root/copies/test2/access">
<xsl:if test ="access1=test2/access">
<Copy>Y</Copy>
</xsl:if>
</xsl:for-each>
</test>
</xsl:for-each>
<xsl:for-each select="test">
<test>
<access4><xsl:value-of select="//access4"/></access4>
<access5><xsl:value-of select="//access5"/></access5>
<xsl:for-each select="root/copies/test2/access">
<xsl:if test ="access1=test2/access">
<Copy>Y</Copy>
</xsl:if>
</xsl:for-each>
</test>
</xsl:for-each>
</root>
Das gibt mir falsch ausgegeben. Kann mir jemand hier helfen, wo ich einen Fehler mache und bitte hilf mir, wie es in XSLT 1.0 funktioniert?
Ist der markierte Abschnitt „Output“, was Sie _will_, um ernsthaft, oder ist es die falsche Ausgabe Ihrer momentan sehen? Wenn es sich um die falsche Ausgabe handelt, geben Sie bitte die erwartete Ausgabe an. –
Abschnitt beschriftet Ausgabe ist die erwartete Ausgabe. – user6309006
Es gibt nicht genügend Informationen zu beantworten. Woher kamen 'access6' und' access8'? Welche Regel führte dazu, dass "access8" diesen Text enthielt? –