(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original

<xsl:for-each>-Element

Wendet eine Vorlage wiederholt an, d. h. auf jeden Knoten in der Gruppe.

<xsl:for-each
  select = Expression
</xsl:for-each>

select

Erforderlich. Ausdrücke (XML) wird in Bezug auf den aktuellen Kontext ausgewertet, um die zu durchlaufende Knotengruppe zu bestimmen.

Mit dem <xsl:for-each>-Element wird der Kontext für die Iteration festgelegt. Die XSLT-Transformationsanweisungen in dieser Schleife werden auf die ausgewählten Knoten angewendet. Jedes von <xsl:for-each> ausgewählte Quellelement wird zu einem neuen Kontext, anhand dessen jedes Muster angezeigt wird, das in <xsl:for-each> übereinstimmt.

In der XSLT-Datei in diesem Beispiel wird die Struktur eines Ausgabedokuments definiert. Bei der Ausgabe handelt es sich um ein HTML-Element der obersten Ebene, in dem <BODY>-Elemente und <TABLE>-Elemente enthalten sind. Die Tabelle enthält sich wiederholende Zeilen für jeden Kunden. Die XSLT-Datei verwendet auch Vorlagen, um <TD>-Elemente für die Quellelemente Name, Adresse und Telefon zu erstellen.

XML-Datei (customers.xml)

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="foreach.xsl" ?>
<customers>
   <customer>
      <name>John Smith</name>
      <address>123 Oak St.</address>
      <state>WA</state>
      <phone>(206) 123-4567</phone>
   </customer>
   <customer>
      <name>Zack Zwyker</name>
      <address>368 Elm St.</address>
      <state>WA</state>
      <phone>(206) 423-4537</phone>
   </customer>
   <customer>
      <name>Albert Aikens</name>
      <address>368 Elm St.</address>
      <state>WA</state>
      <phone>(206) 423-4537</phone>
   </customer>
   <customer>
      <name>Albert Gandy</name>
      <address>6984 4th St.</address>
      <state>WA</state>
      <phone>(206) 433-4547</phone>
   </customer>
   <customer>
      <name>Peter Furst</name>
      <address>456 Pine Av.</address>
      <state>CA</state>
      <phone>(209) 765-4321</phone>
   </customer>
   <customer>
      <name>Dan Russell</name>
      <address>9876 Main St.</address>
      <state>PA</state>
      <phone>(323) 321-7654</phone>
   </customer>
</customers>


XSLT-Datei (foreach.xsl)

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

  <xsl:template match="/">
    <HTML>
      <BODY>
        <TABLE>
          <xsl:for-each select="customers/customer">
            <xsl:sort select="state" order="descending"/>
            <xsl:sort select="name"/>
            <TR>
              <TD><xsl:value-of select="name" /></TD>
              <TD><xsl:value-of select="address" /></TD>
              <TD><xsl:value-of select="phone" /></TD>
            </TR>
          </xsl:for-each>
        </TABLE>
      </BODY>
    </HTML>
  </xsl:template>

</xsl:stylesheet>


Ausgabe

Dies ist die formatierte Ausgabe:

Formatierte Ausgabe

Dies ist die Prozessorausgabe:

<HTML>
<BODY>
<TABLE>
<TR>
<TD>Albert Aikens</TD>
<TD>368 Elm St.</TD>
<TD>(206) 423-4537</TD>
</TR>
<TR>
<TD>Albert Gandy</TD>
...
</TR>
</TABLE>
</BODY>
</HTML>

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft