xsl-list
[Top] [All Lists]

RE: How to select a node with parents?

2005-05-12 16:10:39
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(_at_)gmail(_dot_)com] 
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!

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



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