Re: [xsl] XSLT 1.0 - are parentless elements in a node-set siblings?

Subject: Re: [xsl] XSLT 1.0 - are parentless elements in a node-set siblings?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 10 Dec 2007 16:22:37 GMT
XSLT 1 (unlike XSLT2) does not have parentless elements, so it's not
possible to answer the question in the subject line (or at least both "yes"
and "no" are correct answers:-)


> It seems to be because the elements copied to "baz-rtf" don't have a
> common parent element, they aren't siblings in Xalan...

That would be a bug in xalan then I think. Of course exslt:node-set is
specified by EXSLt ratherthan by the XSLT spec, but it is specified as
returning a standard Xpath 1 node set rather than an obect in a private
data type.

> It seems to be because the elements copied to "baz-rtf" don't have a
> common parent element, 

They should have a common parent.

It's easier to diescus in xslt2 where there are words for this

in xslt2

  <xsl:variable name="baz-rtf">
        <xsl:copy-of select="//baz"/>
  </xsl:variable>



makes a temprary tree with a document node (/) with 4 child nodes (which
doesn't correspond to a well formed document but has always been allowed
in xpath 1 and 2) These nodes are siblings.


  <xsl:variable name="baz-rtf" as="element()*>
        <xsl:copy-of select="//baz"/>
  </xsl:variable>


this makes a sequence of 5 parentless eleemnt nodes, which don't have a
parentt and so are not siblings.


  <xsl:variable name="baz-rtf" as="element()*>
        <xsl:sequence select="//baz"/>
  </xsl:variable>

this makes a sequence of 5 element nodes with parent the <foo> element
in the stylesheet (which is not in the variable) here the elements are
siblings.


David



________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread