Ich versuche nur einen XSL 1.0-Code (Transformation XML mit XSLT) zu schreiben, die es mir erlaubt, einen Attributwert abhängig von einem Low-Level-Attribut zu vergeben. Um dies deutlich zu machen, könnte ein Beispiel nützlich sein:Erhalten oberen XML-Knoten Wert abhängig von Attribut
<age_list>
<age i="13">
<type j="min"/>
</age>
<age i="22">
<type j="max"/>
<age_list>
</age_list>
Also, ich will ich das Alter des Attribut extrahieren, aber ich muss wissen, ob es eine min oder max Alter ist, wie zum Beispiel einige Filme sind verboten Für Kinder unter 18 Jahren, aber das empfohlene Alter ist 12. So ziemlich jeder Film hat eine Altersliste, aber nicht jede Altersliste enthält min und max Alter, manchmal gibt es nur max, manchmal nur min und manchmal sogar beide. Wenn min nicht angegeben ist, wird es automatisch auf 0 gesetzt, während der Wert von max auf 999 gesetzt wird, wenn es nicht angegeben wird. Also, wie könnte ich das erreichen?
ich durchlaufen alle Alterslisten und führen Sie die folgenden Test:
<xsl:choose>
<xsl:when test="./age/type[@j='MIN']">
<xsl:value-of select="./age/@j" />
</xsl:when>
<xsl:otherwise>
<xsl:text>0</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="./age/type[@j='MAX']">
<xsl:value-of select="./age/@j" />
</xsl:when>
<xsl:otherwise>
<xsl:text>999</xsl:text>
</xsl:otherwise>
</xsl:choose>
Aber es wird mich für Maximal- und Minimal den gleichen Wert, die logisch klingt, als ich auf die aktuelle Alter beziehen und nicht abhängig von dem Attribut j vom Typ.
Vielen Dank, Sir vermeiden! Das funktioniert fließend! Ich bin neu bei XSLT, deshalb weiß ich nicht, wie ich bestimmte Knotenattribute und -werte erreichen kann. Die Art zu denken ist so viel anders als das Programmieren von Java oder sowas. – BlackACE