xsl-list
[Top] [All Lists]

Re: [xsl] Stripping payloads

2011-08-22 17:32:20
On 22/08/2011 22:57, Mohit Anchlia wrote:
I am wondering if it's even possible to get 2 separate output from single parse?

I was able to get output 1 by doing something like:


<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>


<xsl:template match="@* | node()">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="payload">
   <payload></payload>
</xsl:template>

</xsl:stylesheet>


On Mon, Aug 22, 2011 at 1:20 PM, Mohit 
Anchlia<mohitanchlia(_at_)gmail(_dot_)com>  wrote:
Sorry I didn't specify it correctly. I need to extract just the
payload value. So output would like something like:

output 1 (no payload value):
  <api>
    <name>get</name>
    <payload></payload>
  </api>

output 2 (just the payload value):

assaddddd

On Mon, Aug 22, 2011 at 1:15 PM, Mohit 
Anchlia<mohitanchlia(_at_)gmail(_dot_)com>  wrote:
On Sun, Aug 21, 2011 at 10:46 AM, Martin 
Honnen<Martin(_dot_)Honnen(_at_)gmx(_dot_)de>  wrote:
Mohit Anchlia wrote:

I have payload something like

<api>
    <name>get</name>
    <payload>assaddddd</payload>
</api>

<xsl:stylesheet version="2.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:template match="api">
  <xsl:result-document href="a.xml">
    <api>
      <xsl:copy-of select="* except payload"/>
     </api>
  <xsl:result-document>
  <xsl:result-document href="b.xml">
    <api>
      <xsl:copy-of select="payload/node()"/>
     </api>
  <xsl:result-document>
<xsl:template>
</xsl:stylesheet>

If you are stuck with xslt version 1 there is no standard way to do two output documents, but many systems have extension functions to do that, eg saxon6 had saxon:document.

David




--
google plus: https:/profiles.google.com/d.p.carlisle

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>