xsl-list
[Top] [All Lists]

Re: excluding xml fragments by attributes using copy-of?

2002-12-13 14:05:31
Carl Yu wrote:
I'm trying to translate one XML document to another using XSL but I can't 
come 
up with the proper XSL.

lets say the incoming document has this form

<A>
 <B>
  <C value="foo">
   <D />
  </C>
 </B>
 <B>
  <C value="bar">
   <D />
  </C>
 </B> 
 <E />
 <F />
 ...
</A>

The transformed file would ideally be 

<A>
 <B>
  <C value="foo">
   <DPRIME />
  </C>
 </B>
 <B>
  <C value="bar">
   <D />
  </C>
 </B> 
 <E />
 <F />
 ...
</A>

Notice how D was changed to DPRIME.  I want to retain all of the nodes and 
attributes of the rest of the original XML file, but change the contents of

select="/A/B/C[value='foo']" from D to DPRIME.

Use the identity transformation (a recursive copy-through), as described in
the XSLT spec under "Copying".

Add this template to it:

<xsl:template match="C[value='foo']/D">
  <Dprime/>
</xsl:template>

Mike

-- 
  Mike J. Brown   |  http://skew.org/~mike/resume/
  Denver, CO, USA |  http://skew.org/xml/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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