Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] Distinguish between empty string and no children, in XPath 2? [Thread Next] Re: [xsl] Distinguish between empty string and no children, in XPath 2?To: Date: 9/5/2008 12:58:00 PM >> 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? Ken: > Unless, perhaps, you had the flexibility in your schema to define a base > type with your own name that is a very generic type that allows only element > children of any name, and then specialize all of your element-content > element types on that type restricting each one to the child elements for > that particular type. Then in your XPath you can test elements as being an > element of your named generic type and it would be checking that the element > is one that has element content. Instead of applying the xpath to the instance document, don't you just want to apply it to the schema - select all simpleTypes ? I don't know if you can tell from the PSVI whether a given type is a simpleType or complexType, but that would do it... maybe "castable as xs:anyAtomicType" ? Just thinking out loud... -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/ | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
