XPath Frage
droom
- xml-derivat
0 Rouven0 droom0 svg4you0 Thomas J.S.0 svg4you
0 Thomas J.S.0 droom
Ich habe folgende Auschnitte in einer XML-Datei:
1)<field id="#9">
<text id="#10">
<con>Text im Blau</con>
</text>
</field>
2)<page id="#9">
...
<text id="#10">
<con>Text im Rot</con>
</text>
...
</page>
Nun mit XSL bearbeite ich diese XML Datei:
<xsl:template match="text">
</xsl:choose>
<xsl:when test="parent::.=Field">
<p><font color="blue"><xsl:value-of select="con" /></font></p>
</xsl:when>
xsl:otherwise
<p><font color="red"><xsl:value-of select="con" /></font></p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Wenn XSL der Text-Knoten arbeitet, soll wenn der direkte Vater vom Text-Knoten Field ist, der Text im blau schreiben und sonst in rot.
Ich habe wie oben geschrieben probiert aber es funktionniert nicht. Wie kann ich sowas in XPath machen "Wenn der Vater des aktuellen Knoten = Field ist, dann ..."?
Hi,
ich versuch verzweifelt irgendwo eine XPath-Software auf meinem Rechner aufzutreiben, finde aber keine und kann das daher nicht ausprobieren.
Syntaktisch stochere ich etwas im Nebel, aber helfen könnte etwa:
name(parent)='Field', vielleicht auch ohne '
MfG
Rouven
Hallo Rouven!
Leider funktionniert es nicht. Jemand meinte zu mir, ich solle diese ausprobieren: /descendant-or-self::text[parent::name()="field"] aber es klappte auch nicht.
Tach Rouven,
ich versuch verzweifelt irgendwo eine XPath-Software auf meinem Rechner aufzutreiben, finde aber keine und kann das daher nicht ausprobieren.
Probiere es mal mit dem XPath builder oder der Firefox-Extension XPath Checker.
Man liest sich,
svg4you
Hallo "svg4you"
Ich wollte schon länger fragen: hat dein Nameswechsel einen Grund?
Grüße
Thomas
Tach Thomas,
Hallo "svg4you"
Ich wollte schon länger fragen: hat dein Nameswechsel einen Grund?
Vielleicht eine Art Web-Identität 2.0, die frühere Egotrips hinter sich lässt ...
Man liest sich,
svg4you
Hallo,
Nun mit XSL bearbeite ich diese XML Datei:
<xsl:template match="text">
</xsl:choose>
^^^^
so kann das bestimmt nicht funktionieren
<xsl:when test="parent::.=Field">
^^^^
und so auch nicht.
<xsl:when test="parent::field">
<p><font color="blue"><xsl:value-of select="con" /></font></p>
und das ist auch schlimm, <font> sollte man wirklich aussterben lassen.
<p style="color:blue;"><xsl:value-of select="con" /></p>
...
Grüße
Thomas
Hallo Thomas!
<xsl:when test="parent::field"> ist richtig. Danke ;-)
Hätte geschwört, dass ich dieses auch ausprobiert hatte. na ja ...