[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: recreating elements with attributes

Subject: Re: recreating elements with attributes
From: "J.Pietschmann" <j3322ptm@xxxxxxxx>
Date: Wed, 11 Feb 2004 00:45:10 +0100
Re:  recreating elements with attributes
Gruenewald, Terry wrote:
I'm performing an XML to XML transformation and I need to make some
modifications to a few attributes during this transformation.  I've tried the
following code, but I'm stuck as to how to print the "<" sign and ">" sign.
I've tried using the &lt; and &gt;, but the transformation process just then
litterally puts in &lt; and &gt;.

this code loops through all attributes for the TOLL_CDR node.  The problem is
when I try and put "<TOLL_CDR" in there, because the parser yells about the
"<" sign in front of it.  Any thoughts?

>    <xsl:template match="//CDRS/TOLL_CDR">
>
>
>    <TOLL_CDR
>    <xsl:text>
> </xsl:text>
>    <xsl:for-each select="@*">
> 	<xsl:value-of select="name()" />="<xsl:value-of select="." />"<xsl:text>
> 	</xsl:text>
>    </xsl:for-each>
> />
>
>    </xsl:template>

Ouch.
XSLT is *not* a macro language, or whatever you expect. XSLT is a
language which describes a transformation from a source tree of
nodes into a result tree. The nodes in both trees represent mainly
XML elements, attributes and text.
You have really  to get this: you *don't* create a string with angle
brackets. You create a result tree.

After this has sunken in, you might realize that you have to create
attributes in the result tree either with xsl:attribute or by copying
them from the source tree in an appropriate context. In your case,
you are basically looking for the generic copy template. Somewhat
more specific
  <xsl:template match="CDRS/TOLL_CDR">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>

It pays off to get one of the introductionary books about XSLT and
read the first few chapters, which should explain in detail what is
going on here.

J.Pietschmann

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.