RE: [xsl] How to select a node with parents?

Subject: RE: [xsl] How to select a node with parents?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 13 May 2005 00:10:39 +0100
If you select a node, then it keeps its original parents, siblings, cousins,
and aunts. In your example, the output node has the same parent and
grandparent but different siblings from the original. That means it isn't
the same node as the original - it must be a copy.

So you're not in the business of selecting nodes here, you are doing a copy
with modifications; which means using the identity template overridden with
templates for the nodes you want to modify, in the usual way.

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

> -----Original Message-----
> From: chris [mailto:oneskiingfool@xxxxxxxxx] 
> Sent: 12 May 2005 23:32
> To: xslt
> Subject: [xsl] How to select a node with parents?
> 
> Hello,
> I have a feeling that after seeing the response to this, I'm going to
> feel really silly.  But I'm kinda stuck on it.  Is there as simple
> XPath (2.0) way to do this?  I know how I can do it with a some
> match-templates, etc, but this is a simplified example and gets a bit
> more complicated, so I'd really like to solve it with single xpath
> queries if possible.
> 
> Suppose I have this:
> 
> <company>
>   <department name="HR">
>     <employee name="Hermit"/>
>     <employee name="Crab"/>
>   </department>
> </company>
> 
> And I want to select a specific employee node but get all the parent
> nodes along with it... for example...
> 
> 
> <company>
>   <department name="HR">
>     <employee name="Hermit"/>
>   </department>
> </company>
> 
> 
> Thanks!

Current Thread