Die Struktur meiner Stylesheet einen Zähler der Verbindung Muster in xsl zu bekommen, ist wie folgt:Versuchen
<xsl:apply-templates select="pattern1|pattern2|pattern3"/>
...
<xsl:template match="pattern1|pattern2|pattern3">
<xsl:variable name="counter">
<xsl:number/>
</xsl:variable>
...
</xsl:template>
Die Zähler Variable für jedes Muster zurückgesetzt werden. Ich möchte für alle Spiele einen Zähler bekommen. Wie kann ich es erreichen? Danke!
XML-Quellstruktur wie folgt:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<div class="entry">
<div class="headword">
...
</div>
<div class="information-forms">
test infomation block
</div>
<div class="definition">
<div>text </div>
<div>text </div>
... ...
<div>text </div>
</div>
<div class="example-sentences">
<ol>
<li>sentence here</li>
<li>sentence here</li>
... ...
<li>sentence here</li>
</ol>
</div>
<div class="synonyms-reference">
<div class="syn-para">
Synonyms: ... ...
</div>
<div class="ant-para">
Antonyms: ... ...
</div>
<div class="...">
...
</div>
</div>
</div>
<div class="entry">
...
</div>
<div class="entry">
...
</div>
... ...
</root>
Ich möchte einen Zähler von Knoten von mehreren Mustern unter jedem div [@ class = "Eintrag"] bekommen Knoten.
So sollte der Zähler zurückgesetzt werden, wenn in einem neuen div [@ class = "entry"] Knoten gestartet wird. XPath des Musters
div[@class='information-forms']
|
div[@class='definition'].div
|
div[@class='example-sentences']/ol/li
ist, kann ich herausfinden, wie es zu tun, indem sie zweimal mit XSL-Stylesheet analysieren. (Zum ersten Mal all passenden Knoten in einem Knoten gesetzt.), Aber es scheint mir, dass es in einem einzigen Durchgang durchgeführt werden. Ich hoffe, dass jemand mit Erfahrung in XSL/XSLT mir helfen kann. Vielen Dank.
Bitte, ein komplettes Beispiel geben - ein komplettes (so klein wie möglich) XML-Dokument, das gewünschte Ergebnis genau und die Regeln dass die Transformation implementieren muss. Es ist nicht ganz klar, welchen Wert Sie in der Variablen haben möchten - bitte editieren Sie die Frage und zeigen Sie dies explizit an - sonst müssen die Leute raten und die Korrektheit der Antworten wäre zufällig. –