RE: [xsl] XSLT Filtering based on defined XML

Subject: RE: [xsl] XSLT Filtering based on defined XML
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 16 Aug 2005 21:54:22 +0100
Your first challenge is to specify this more precisely.

In early drafts of the XQuery specification there was a function called
filter() which was a bit like this, but it got taken out because no-one was
able to write a precise specification of what it was supposed to do.
Sketching out an example isn't good enough. Start by producing a dozen
examples: For example, what output do you want if one of the documents is

<a><b/></a>

and the other is

<b><c/></b>

then generalize from the examples to define the actual rules.

Michael Kay 

> -----Original Message-----
> From: Jacquo Johnson [mailto:genxgeek@xxxxxxxxx] 
> Sent: 16 August 2005 20:26
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] XSLT Filtering based on defined XML
> 
> Hi All,
> 
> Is there an elegant pattern via xslt to filter out an existing source
> xml document based on the contents of another filter xml document? 
> For example:
> 
> Source xml doc:
> <Root>
>    <Node1>
>       <Node11>
>         <Node111/>
>       </Node11>
>       <Node12/>
>    <Node2>
>    ...
> 
> Filter xml doc:
> <Root>
>    <Node1>
>      <Node111/>
>    </Node1>
> </Root>
> 
> Desired results:
> <Root>
>    <Node1>
>      <Node111/>
>    </Node1>
> </Root>
> 
> Now the issue that I'm dealing with is that the filter xml doc is
> dynamic.  That is, it can be different for any given xml source doc
> configuration based on what another server source specifies.  I could
> recursively build some dynamic xslt and add apply-templates for each
> node and make use of copy and copy-of based on if a node has children
> or not and then run that dynamically build transform on the xml doc
> source...however, can anybody think of another way to do this?
> 
> Thanks in advance!

Current Thread