Thomas J.S.: Globale Variable oder Param

Beitrag lesen

Hallo,

Gib mir bitte noch ein Stück deines XMLs!

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="groupadreslist.xsl" ?>

<addressbook>

Ich habe dein XSL ein wenig umgeschrieben.

Grüße
Thomas
---------------- XSL ----------------------
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html" indent="yes" encoding="iso-8859-1" />
 <xsl:key name="namen" match="addressbook/member" use="name" />
 <xsl:template match="/">
 <html>
 <head>
  <title>Untitled</title>
  <style type="text/css">
   .gray { background-color:gray; }
   .silver { background-color:silver; }
  </style>
 </head>

<body>
  <xsl:apply-templates />
 </body>
  </html>
 </xsl:template>

<xsl:template match="addressbook">
  <table border="1">
   <tr>
    <td>Name</td><td>Email</td><td>Tel. Nr.</td>
   </tr>
   <xsl:for-each select="member[generate-id(.) != generate-id(key('namen', name))]">
    <xsl:sort select="name"/>
    <tr>
     <td>
      xsl:choose
       <xsl:when test="position() mod 2 = 0">
        <xsl:attribute name="class">gray</xsl:attribute>
       </xsl:when>
       xsl:otherwise
        <xsl:attribute name="class">silver</xsl:attribute>
       </xsl:otherwise>
      </xsl:choose>
      <xsl:value-of select="name"/>
     </td>
     <td>
      <xsl:for-each select="key('namen', name)">
       <xsl:sort select="enam1" order="descending"/>
        <xsl:value-of select="enam1"/>
        <xsl:if test="enam1 != ''">
         <br/>
        </xsl:if>
      </xsl:for-each>
     </td>
     <td>
      <xsl:for-each select="key('namen', name)">
       <xsl:sort select="telno" order="descending" data-type="number"/>
       <xsl:value-of select="telno"/>
       <xsl:if test="telno != ''">
        <br/>
       </xsl:if>
      </xsl:for-each>
     </td>
    </tr>
   </xsl:for-each>
  </table>
 </xsl:template>

</xsl:stylesheet>

---------------------- xml ------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="day.xsl" ?>

<addressbook>
  <member>
    <name>Test, Anton</name>
    <adres>1234 Main adres</adres>
    <city>Sheboygan</city>
    <enam1>WI</enam1>
    <telno>48392</telno>
  </member>
  <member>
    <name>Test, Anton</name>
    <adres>283 First Avenue</adres>
    <city>Skunk Haven</city>
    <telno>02718</telno>
  </member>
  <member>
    <name>Btest, Berta</name>
    <adres>333 Address Mail</adres>
    <city>WhereamI</city>
    <enam1>NY</enam1>
    <telno>1234567890</telno>
  </member>
  <member>
    <name>Btest, Berta</name>
    <adres>666 Last Day</adres>
    <city>Lost Soul</city>
    <telno>666 666</telno>
  </member>
    <member>
    <name>Utest, Paul</name>
    <adres>ABCD Street Str</adres>
    <city>Nowherte</city>
    <enam1>TX</enam1>
    <telno>445566</telno>
  </member>
  <member>
    <name>Utest, Paul</name>
    <adres>12A BBWY</adres>
    <city>Telepolis</city>
    <telno>333111222</telno>
  </member>
  <member>
    <name>Dtest, Dora</name>
    <adres>sss 234 ee</adres>
    <city>bla bla</city>
    <enam1>ad</enam1>
    <telno>000111</telno>
  </member>
  <member>
    <name>Dtest, Dora</name>
    <adres>12A BBWY</adres>
    <city>Telepolis</city>
    <telno>444888</telno>
  </member>
  <member>
    <name>Xtest, Xaver</name>
    <adres>sss 234 ee</adres>
    <city>bla bla</city>
    <enam1>ad</enam1>
    <telno>333666</telno>
  </member>
  <member>
    <name>Xtest, Xaver</name>
    <adres>12A BBWY</adres>
    <city>Telepolis</city>
    <telno>666111</telno>
  </member>
</addressbook>