Schleifen über unterschiedliche Werte
Gegeben eine variable, die zurückgegeben wird eine Liste von verschiedenen Staaten mit der distinct-values () - Funktion, gibt es eine Möglichkeit für die tokenisierung der variable in einer for-each-Schleife?
<States>
<State>AL</State>
<State>AL</State>
<State>NM</State>
</States>
Folgende variable gibt AL und NM, aber ich kann nicht Durchlaufen, es mit for-each -. Gibt es eine Möglichkeit, um dieses?
<xsl:variable name="FormStates" select="distinct-values(States/State)"/>
<xsl:for-each select="$FormStates">
XSLT 2.0 ok.
Wie immer, ist es überhaupt nicht klar, welches problem Sie haben. Lernen zu bieten: 1. Der Quell-XML-Dokument. 2. Das erwartete Ergebnis. 3. Die erforderlichen Eigenschaften der transformation.
Die ich gestimmt habe, zu SCHLIEßEN, diese Frage. Es ist nicht wirklich eine Frage-keine Frage gestellt wird. Das problem ist nicht definiert und nicht klar.
Sorry, ich hoffentlich geklärt ist die Frage.
Die ich gestimmt habe, zu SCHLIEßEN, diese Frage. Es ist nicht wirklich eine Frage-keine Frage gestellt wird. Das problem ist nicht definiert und nicht klar.
Sorry, ich hoffentlich geklärt ist die Frage.
InformationsquelleAutor johkar | 2010-07-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
distinct-values()
- Funktion liefert eine Abfolge von Werte, die Sie sollten in der Lage sein zu Durchlaufen. Das Ergebnis ist sozusagen "gesplittet".fn:distinct-values('AL', 'AL', 'NL')
gibt die Reihenfolge('AL', 'NL')
.Wenn du die Ausgabe der Variablen mit
xsl:value-of
wird es wieder die Zeichenfolge "AL NL" nur weil die Standard-Sequenz-Trennzeichen fürxsl:value-of
ist ein einzelnes Leerzeichen. Dies ist etwas, das Sie ändern konnte mit der@separator
Attribut:Eingang
XSLT
Ausgabe
InformationsquelleAutor Per T
Hier ist ein XSLT 1.0 Lösung, die ich in der Vergangenheit verwendet habe.
Gibt:
InformationsquelleAutor Nick Grealy
In der Theorie sollte es funktionieren; sind Sie sicher, dass der XPath gegeben, um die
distinct-values
Funktion ist die richtige? Der code, den Sie gegeben haben, verlangt, dass dieStates
- element ein Geschwister derforms
element.Könnte man einfügen
<xsl:value-of select="count($FormStates)">
unmittelbar nach der Deklaration der Variablen zu bestätigen, wenn es richtig eingestellt ist.InformationsquelleAutor Flynn1179