On Sun, Jul 19, 2015 at 4:26 PM, liam liam@xxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> On 2015-07-19 15:58, Costello, Roger L. costello@xxxxxxxxx wrote:
>
>> Hi Folks,
>>
>> The following XPath expression returns all XML Schema element
>> declarations with @type equal to xs:string:
>>
>> //xs:element[@type = 'xs:string']
>>
>> However, that XPath assumes the schema file is written with a
>> namespace prefix, like this:
>>
>> <xs:element name="Test" type="xs:string" />
>>
>
> But the schema file could have been written like this:
>>
>> <element name="Test" type="string" />
>>
>
> There are two issues here. The first is matching the element called
> 'element' and your XPath expression will work fine there, assuming you've
> bound the prefix "xs" to the XML Schema namespace URI and that the same
> namespace name is the default namespace for the prefix-less Schema document.
>
> The second issues is matching "string" or xs:string". We know that it's a
> QName and must have zero or one colon, so
> @type = "string" or substring-after(@type, ":") = "string"
> would work.
>
>
Ahhhhh Good spot on the 2nd issue Liam.
|