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!