Subject: Re: [xsl] Distinguish between empty string and no children, in XPath 2? From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Fri, 05 Sep 2008 08:48:25 -0400 |
I hope this is the right forum for this question. I asked it first in the new group comp.text.xml, but was directed here. It has nothing directly to do with XSLT, only with XPath.
Let's say we have a schema (maybe expressed in XML Schema, but not necessarily so), that allows this instance document:
<top> <txt>This is text</txt> <books> <book>Tarzan</book> <book>Harry Potter</book> </books> </top>
The text /top/txt may be empty, and the element /top/books may have no children, so this instance document is also allowed:
<top> <txt/> <books/> </top>
I now want to write an XPath expression that selects all nodes that do not have child elements in the schema. It would always select /top/txt and it would never select /top/books, even in the second example above.
With XPath 1.0, this is not possible, since schema information is not used there. But can it be done in XPath 2.0?
I find the standard document a bit forbidding, although I'm fairly well acquainted with the 1.0 document.
We would like to add such capability to the XPath 1.0 implementation in our application (which does have access to the schema), and if XPath 2.0 offers a way to express it, it seems best not to reinvent anything, hence this question.
-- Upcoming XSLT/XSL-FO hands-on courses: Wellington, NZ 2009-01 Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Distinguish between empty str, Arndt Jonasson | Thread | Re: [xsl] Distinguish between empty, Andrew Welch |
[xsl] Distinguish between empty str, Arndt Jonasson | Date | [xsl] for-each-group and result-doc, James Cummings |
Month |