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

Re: suppress soap namespace?

Subject: Re: suppress soap namespace?
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 30 Jul 2002 11:25:42 -0400
xslt suppress namespace
At 2002-07-30 08:52 -0600, Paul Coleman wrote:
[a posting answered last night on XML-DEV ... my answer is posted here for the benefit of readers of this mail list]
I have a soap input document as follows:
...
I am trying get just the soap body elements out via XSLT, but I always get
the soap ns on the justiceXML element (the first body element).  My style
sheet is as follows:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl=http://www.w3.org/1999/XSL/Transform
exclude-result-prefixes="soap-env">
<xsl:output method="xml" />
  <xsl:template match="justiceXML">
  <xsl:copy-of select="." />
</xsl:template>
</xsl:stylesheet>
...
Question:  is there a way to supress the soap namespace from the output?

Yes, by regenerating all elements found that are not in the soap namespace, because all elements in the instance have attached namespace nodes from all ancestral namespace declarations and your stylesheet's act of copying the elements from the source node tree to the result node tree is carrying along the unwanted namespace nodes.


Using exclude-result-prefixes doesn't make any difference.

... by definition. The attribute exclude-result-prefixes= only prunes unwanted namespace nodes from the stylesheet node tree, not from the source node tree.


The example solution below will work with any soap-env:Body children, and will not be tied to a particular body content.

I hope this helps.

................... Ken

T:\ftemp>type paul.xml
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope
xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header/>
<soap-env:Body>
  <justiceXML>
  <documentDescriptor type="request" class="OTrackNameListRequest"/>
  <payload>
    <person>
      <personName>
        <firstName>MICHAEL</firstName>
        <lastName>MOLEN</lastName>
      </personName>
      <personDescription>
        <sex>Male</sex>
        <birthDate>1910-08-01</birthDate>
      </personDescription>
    </person>
  </payload>
</justiceXML>
</soap-env:Body>
</soap-env:Envelope>

T:\ftemp>type paul.xsl
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"
                exclude-result-prefixes="soap-env"
                version="1.0">

<xsl:template match="/">
  <xsl:apply-templates select="soap-env:Envelope/soap-env:Body/node()"/>
</xsl:template>

<xsl:template match="*"> <!--synthesize element with the input name-->
  <xsl:element name="{name(.)}" namespace="{namespace-uri(.)}">
    <xsl:copy-of select="@*"/>
    <xsl:apply-templates/>
  </xsl:element>
</xsl:template>

</xsl:stylesheet>

T:\ftemp>xt paul.xml paul.xsl paul.out

T:\ftemp>type paul.out
<?xml version="1.0" encoding="utf-8"?>

  <justiceXML>
  <documentDescriptor type="request" class="OTrackNameListRequest"/>
  <payload>
    <person>
      <personName>
        <firstName>MICHAEL</firstName>
        <lastName>MOLEN</lastName>
      </personName>
      <personDescription>
        <sex>Male</sex>
        <birthDate>1910-08-01</birthDate>
      </personDescription>
    </person>
  </payload>
</justiceXML>

T:\ftemp>rem Done!


-- Upcoming hands-on in-depth 3-days XSLT/XPath and/or 2-days XSL-FO: - North America: Sep 30-Oct 4,2002 - Japan: Oct 7-Oct 11,2002

G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0  +1(613)489-0999 (Fax:-0995)
ISBN 0-13-065196-6                       Definitive XSLT and XPath
ISBN 1-894049-08-X   Practical Transformation Using XSLT and XPath
ISBN 1-894049-07-1                Practical Formatting Using XSLFO
XSL/XML/DSSSL/SGML/OmniMark services, books (electronic, printed),
articles, training (instructor-live,Internet-live,web/CD,licensed)
Next public training:           2002-08-05,26,27,09-30,10-03,07,10


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.