W3C home > Mailing lists > Public > xproc-dev@w3.org > June 2010

RE: variables in xPath statements

From: <Toman_Vojtech@emc.com>
Date: Mon, 21 Jun 2010 08:52:56 -0400
Message-ID: <997C307BEB90984EBE935699389EC41C01B1773A@CORPUSMX70C.corp.emc.com>
To: <xproc-dev@w3.org>
> <p:filter select="//div">
> 	<p:input port="source">
> 		<p:pipe port="result" step="loadDocument"/>
> 	</p:input>
> </p:filter>
> 
> <p:for-each name="forEachChunk">
> 
> 	<p:variable name="divID" select="/*/@id"/>
> 	<p:variable name="ancestorID"
> select="//div[@id=$divID]/ancestor::chapter[1]/@id">
> 		<p:pipe port=result" step="loadDocument"/>
> 	</p:variable>

In XProc, the data that you process is always XML documents. That means
that if you, for instance, use p:filter (or p:input/@select) to extract
parts of a document, the result you get is always a sequence of
*documents*.  This is why I think the XPath expression for ancestorID
fails: "div" is the document element, and therefore there is no ancestor
"chapter" element.

Hope this helps,
Vojtech

--
Vojtech Toman
Principal Software Engineer
EMC Corporation
toman_vojtech@emc.com
http://developer.emc.com/xmltech
Received on Monday, 21 June 2010 12:53:38 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 21 June 2010 12:53:39 GMT