xsl-list
[Top] [All Lists]

RE: is this valid <xsl:template match="@id"> ?

2002-12-30 20:51:36
Here are the samples of XML, XSLT and resulting XML I got...

*************** source XML *************************************
<?xml version="1.0"?>
<Items>
      <Item ID="1234">
            <Name>ABCDE</Name>
      </Item>
      <Item ID="2345">
            <Name>BCDE</Name>
      </Item>
      <Item ID="3456">
            <Name>CDE</Name>
      </Item>
      <Item ID="4567">
            <Name>DE</Name>
      </Item>
      <Item ID="5678">
            <Name>E</Name>
      </Item>
      <Item ID="6789">
            <Name></Name>
      </Item>
</Items>
**************************************************************
*************** XSLT *************************************
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl
="http://www.w3.org/1999/XSL/Transform";>
      <xsl:output method="xml" version="1.0" indent="yes"></xsl:output>
      <xsl:strip-space elements="*"></xsl:strip-space>
      <xsl:template match="/">
            <xsl:apply-templates select="Items"></xsl:apply-templates>
      </xsl:template>
      <xsl:template match="Items">
            <xsl:element name="Items">
                  <xsl:apply-templates select="Item"></xsl:apply-templates>
            </xsl:element>
      </xsl:template>
      <xsl:template match="Item">
            <xsl:element name="Item">
                  <xsl:apply-templates select="Name"></xsl:apply-templates>
                  <xsl:apply-templates select="@ID"></xsl:apply-templates>
            </xsl:element>
      </xsl:template>
      <xsl:template match="Name">
            <xsl:element name="Name">
                  <xsl:apply-templates></xsl:apply-templates>
            </xsl:element>
      </xsl:template>
      <xsl:template match="@ID">
            <xsl:attribute name="ID">
                  <xsl:value-of select="."></xsl:value-of>
            </xsl:attribute>
      </xsl:template>
</xsl:stylesheet>

*******************************************************************

*************** result XML *************************************

<?xml version="1.0"?>
<Items>
      <Item>
            <Name>ABCDE</Name>
      </Item>
      <Item>
            <Name>BCDE</Name>
      </Item>
      <Item>
            <Name>CDE</Name>
      </Item>
      <Item>
            <Name>DE</Name>
      </Item>
      <Item>
            <Name>E</Name>
      </Item>
      <Item>
            <Name></Name>
      </Item>
</Items>
*******************************************************************

thanks

Saravanan
Monday, December 30, 2002 6:15 PM
To: "'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com'" 
<xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
cc:
From: "Martinez, Brian" <brian(_dot_)martinez(_at_)trip(_dot_)com>
Subject: RE: [xsl] is this valid <xsl:template match="@id"> ?



From: SLakshman(_at_)eagle(_dot_)org [mailto:SLakshman(_at_)eagle(_dot_)org]
Sent: Monday, December 30, 2002 4:44 PM
Subject: [xsl] is this valid <xsl:template match="@id"> ?

I would like to create a template that matches attribute id
in all elements

<xsl:template match="@id">

this is not working with MSXML... is it correct to use such syntax ?

The syntax is legal, and MSXML (at least v.4.0) should have no trouble with
it.  Your problem likely lies elsewhere (perhaps the select expression in
your apply-templates elements, or the XPath syntax in the template itself).
You should post some sample input/output and the relevant XSLT if you want
more specific help.

cheers,
b.

| brian martinez                              
brian(_dot_)martinez(_at_)trip(_dot_)com |
| senior gui programmer                                  303.708.7248 |
| trip network, inc.                                 fax 303.790.9350 |
| 6436 s. racine cir.                             englewood, co 80111 |
| http://www.cheaptickets.com/                   http://www.trip.com/ |

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list