xml editor

Supported platforms

Compatible with Windows7 & Mac OS X Snow Leopard

Ready for data server software
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] (newby) extraction of CDATA nodes to different XML files


Subject: Re: [xsl] (newby) extraction of CDATA nodes to different XML files
From: <dalloro@xxxxxxxxx>
Date: Fri, 1 Apr 2005 13:47:20 +0200

On Apr 1, 2005 1:31 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> >      Maybe all the guy wants to do is copy the contents of the cdata
> > sections to individual files.
> 
> Yes, perhaps, I was waiting for further clarification of the requirement.

Yes, that's part of my problem. As you've already clarified I cannot
select exactly wat I desire from the CDATA (that was the other part of
the problem) thus waht remains is to save the contents of CDATA
sections outside.

> >
> > As one of the solutions mentioned,
> > if the 3 nodes containing cdata sections were
> >
> > <foo><![CDATA[   .....snip.....   ]]></foo>
> > <bar><![CDATA[   .....snip.....   ]]></bar>
> > <foobar><![CDATA[   .....snip.....   ]]></foobar>
> >
> > All he needs is 3 templates and the logic to write the content out to
> > individual files can be nested in those templates.
> >
> > As for writing to multiple files, I remember reading
> > somewhere XSLT is not good at this sort of thing.
> 
> In XSLT 2.0 you can write multiple files using xsl:result-document.

it sounds interesting, I will take a look around to learn more about that tag.
 
> However, logically you do it the same way in 1.0: you run three passes over
> the input, one to produce each output file. The only difference in 2.0 is
> that these three passes can be done in the same transformation.

Well, actually this is the approach I was thinking about, but tryng to
figure out how to develop such a multi-pass transformation, I got into
the following problem: how can a template recognize that it has being
applied multiple times and thus, how can it decide which CDATA section
to process, among the three?
I suppose I should at first (1) define an XPath pattern to match
elements that are at the same level in the tree (the elements that
contain the CDATA sections), then (2) I would have to implement a kind
of recursive template call mechanism.

Sounds it correct? 
Have you any ideas about the two points?

Thanks for the help.

Livio
 
> Michael Kay
> http://www.saxonica.com/


Current Thread
Keywords
XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>®XML Editor