| Subject: [xsl] XSLT data fetching from multiple places in XML file From: Glenn Thomas Hvidsten <gth@xxxxxxxxx> Date: Mon, 11 Apr 2005 10:32:25 +0200 | 
<content> <title>Heading</title> <objects>
    <object type="info">
      <data name="id">
        <long>1</long>
      </data>
      <data name="name">
        <string>John Doe</string>
      </data>
      <data name="age">
        <long>25</long>
      </data>
      <object type="user">
        <data name="username">
          <string>johnd</string>
        </data>
        <data name="password">
          <string>3%g7@&%Ao1</string>
        </data>
        <object type="meta">
          <data name="name">
            <string>joined</string>
          </data>
          <data name="value">
            <string>2005-04-11</string>
          </data>
         </object>
        <object type="meta">
          <data name="name">
            <string>posts</string>
          </data>
          <data name="value">
            <string>17</string>
          </data>
         </object>
      </object>
    </object>    <object type="info">
      ...
      ...
    </object></objects> </content>
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template match="report">
    <html>
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
      <body>
        <h1><xsl:value-of select="title"/></h1>        <table cellpadding="1" border="1">
        <thead>
          <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Posts</th>
            <th>Username</th>
            <th>Password</th>
            <th>Joined</th>
            <th>Age</th>
          </tr>
        </thead>
        <tbody>
          <xsl:apply-templates select="objects/object[@type='info']"/>
        </tbody>
        </table>
      </body>
    </html>  <xsl:template match="object[@type='info']">
    <tr>
      <td>
        <xsl:value-of select="data[@name='id']"/>
      </td>
      <td>
        <xsl:value-of select="data[@name='name']"/>
      </td>
      <xsl:apply-templates select="object[@type='user']"/>
      <td>
        <xsl:value-of select="data[@name='age']"/>
      </td>
    </tr>
  </xsl:template>  <xsl:template match="object[@type='user']">
    <xsl:apply-templates select="object[@type='meta']"/>
    <td>
      <xsl:value-of select="data[@name='username']"/>
    </td>
    <td>
      <xsl:value-of select="data[@name='password']"/>
    </td>
    <xsl:apply-templates select="object[@type='meta']"/>
  </xsl:template>  <xsl:template match="object[@type='meta']">
    <td>
      <xsl:value-of select="data[@name='value']"/>
    </td>
  </xsl:template>
	
</xsl:stylesheet>| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| RE: [xsl] Text To XML using XSL, Pawson, David | Thread | Re: [xsl] XSLT data fetching from m, omprakash . v | 
| RE: [xsl] Text To XML using XSL, Michael Kay | Date | RE: [xsl] sum function and math exp, Pawson, David | 
| Month |