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

  • To: <xml-dev@l...>
  • Subject: preserving prefix names while replacing
  • From: "Dewey, John" <jdewey@r...>
  • Date: Wed, 24 Aug 2005 16:52:02 -0700
  • Thread-index: AcWo2MwPFp2ODMTVR225VUWcX+w92AAKYQlQ
  • Thread-topic: preserving prefix names while replacing

I am looking for a way to remember prefix names themselves. 
The following is psudo code for what I'd like to do in xsl:

var $prefix = findPrefixFor("http://schemas.xmlsoap.org/soap/envelope/")
<xsl:template match=$prefix":Body">
  <$prefix:Body Id="MsgBody">


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.
The following if the full xsl file that I have:


<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

  <!-- copy the xml -->
  <xsl:import href="copy.xsl"/>

  <!-- add the Id tag to the message body -->
  <xsl:template match="soapenv:Body">
    <soapenv:Body Id="MsgBody">
      <xsl:apply-templates select="@* | node()"/>
    </soapenv:Body>
  </xsl:template>
</xsl:stylesheet>

copy.xsl is simply an identity transform.

-Jon

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