Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: [XML] for-each Schleife

  Alt 3. Nov 2006, 11:38
Perfekt. Nur warum werden die Attribute für <td> nicht berücksichtigt:
XML-Code:
<table>
          <xsl:for-each select="Kontakt">
          <xsl:sort select="concat(Name, Vorname)"/>
            <!-- für den Fall, dass es mehrere identische Namen gibt
                wird noch die aktuelle Position in die Sprungmarke
                 eingefügt -->

            <td>
            <xsl:attribute name="border-width">1px</xsl:attribute>
            <xsl:attribute name="border-style">solid</xsl:attribute>
       <a href="#{Vorname}_{Name}:{position()}">
              <xsl:value-of select="Name"/> <xsl:value-of select="Vorname"/></a> <xsl:value-of select="Firma"/></td>
          <xsl:if test="position() mod 5 = 0">
              <tr />
            </xsl:if>
          </xsl:for-each>
          </table>
Und noch was:
XML-Code:
      <xsl:apply-templates select="Kontakt">
        <xsl:sort select="concat(Name, Vorname)"/>
      </xsl:apply-templates>
Wie kann ich das gleiche hier erreichen? Kontakt sieht so aus:
XML-Code:
<xsl:template match="Kontakt">
  <dl>
    <dt>



      <a name="{Vorname}_{Name}:{position()}" id="{Vorname}_{Name}:{position()}">
        [b]<xsl:value-of select="Name"/>*<xsl:value-of select="Vorname"/>**<xsl:value-of select="Firma"/>[/b]
      </a>
    </p></dt>
    <dd>

<xsl:value-of select="Strasse"/>


      <xsl:value-of select="PLZ"/> <xsl:value-of select="Ort"/>


      <xsl:if test="Land!=''"><xsl:value-of select="Land"/>
</xsl:if>
      <xsl:if test="GebDat!=''">Geburtsdatum: <xsl:value-of select="GebDat"/>
</xsl:if>
      <xsl:if test="Telefon1!=''">Tel. <xsl:value-of select="Telefon1"/>
</xsl:if>
      <xsl:if test="Telefon2!=''">Tel. <xsl:value-of select="Telefon2"/>
</xsl:if>
      <xsl:if test="Fax!=''">Fax: <xsl:value-of select="Fax"/>
</xsl:if>
      <xsl:if test="EMail1!=''">
        [email="{EMail1}"]<xsl:value-of select="EMail1"/>[/email]


      </xsl:if>
      <xsl:if test="EMail2!=''">
        [email="{EMail2}"]<xsl:value-of select="EMail2"/>[/email]


      </xsl:if>
      <xsl:if test="URL!=''">
        [url="{URL}"]<xsl:value-of select="URL"/>[/url]


      </xsl:if>
     
    </p></dd>
  </dl>

  
  <xsl:if test="position()!=last()">
    


</p>
  </xsl:if>
</xsl:template>
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat