|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Seek a simple XPath 2.0 expression to return union xs:
Hi Folks,
I seek an XPath 2.0 expression that returns all XML Schema simpleTypes
containing a union with memberTypes containing the XML Schema string type.
(Phew! Did you catch all that?)
So, the XPath should return the union simpleType in this schema:
-----------------------------------------------------------------------------
-----
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="test">
<xs:union memberTypes="xs:int xs:string" />
</xs:simpleType>
</xs:schema>
-----------------------------------------------------------------------------
-----
The XPath should not return the union simpleType in this schema:
-----------------------------------------------------------------------------
-----
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="test">
<xs:union memberTypes="xs:int string"/>
</xs:simpleType>
<xs:simpleType name="string">
<xs:restriction base="xs:string" />
</xs:simpleType>
</xs:schema>
-----------------------------------------------------------------------------
-----
I created a horrendously complex XPath 2.0 expression. I think it works (it's
so complex, I'm not sure). Is there a simpler XPath 2.0 expression to solve
this problem?
Here's the ugly XPath 2.0 expression that I created:
//xs:simpleType[xs:union[@memberTypes]
[exists(index-of(for $here in ., $i in tokenize(@memberTypes, '\s+')
return
namespace-uri-from-QName(resolve-QName($i, $here)) eq
'http://www.w3.org/2001/XMLSchema' and
local-name-from-QName(resolve-QName($i, $here)) eq 'string',
true()))]]
/Roger
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








