[Home] [By Thread] [By Date] [Recent Entries]

  • To: <xml-dev@l...>
  • Subject: RE: preserving prefix names while replacing
  • From: "Dewey, John" <jdewey@r...>
  • Date: Thu, 25 Aug 2005 09:18:52 -0700
  • Thread-index: AcWpDzYDca2Zc7pGT0W0pbk9cIOeQAAfoI8g
  • Thread-topic: preserving prefix names while replacing



Thank you. Your suggestion works on the implementations of xsl that I am
using. If anyone is curious my final template ended up:

  <xsl:template match="soapenv:Body">
    <xsl:copy>
      <xsl:attribute name="id">MsgBody</xsl:attribute>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>  

-Jon


-----Original Message-----
From: Richard Tobin [mailto:richard@i...] 
Sent: Wednesday, August 24, 2005 5:26 PM
To: xml-dev@l...
Subject: Re:  preserving prefix names while replacing

In article
<A6A2706C1F47D24F92D56A457CDE62E50266B96B@r...> you
write:

>Currently I have:
>
><xsl:template match="soapenv:Body">
>  <soapenv:Body Id="MsgBody">
>...
>
>The problem with this is that it doesn't preserve the original
>document's prefix name, which is what I want to do as this is part of
an
>override xsl for an identity transform.

Instead of using a literal result element, copy the original:

 <xsl:template match="soapenv:Body">
   <xsl:copy>
     <xsl:attribute name="id">MsgBody</xsl:attribute>
     ...
   </xsl:copy>
   ...

This isn't guaranteed to preserve the prefix, but will in many XSLT
implementations.

-- Richard


-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://www.oasis-open.org/mlmanage/index.php>


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member