[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Stripping payloads


Subject: Re: [xsl] Stripping payloads
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 22 Aug 2011 23:32:07 +0100

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@xxxxxxxxx> 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@xxxxxxxxx> wrote:
On Sun, Aug 21, 2011 at 10:46 AM, Martin Honnen<Martin.Honnen@xxxxxx> 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


Current Thread
Keywords