Subject: Re: [xsl] Seek a simple XPath 2.0 expression to return union xs: simpleType containing xs:string From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 4 Dec 2015 13:28:50 -0000 |
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()))]]
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Seek a simple XPath 2.0 expre, Costello, Roger L. c | Thread | Re: [xsl] Seek a simple XPath 2.0 e, Michael Kay mike@xxx |
[xsl] Seek a simple XPath 2.0 expre, Costello, Roger L. c | Date | Re: [xsl] Seek a simple XPath 2.0 e, Michael Kay mike@xxx |
Month |