[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Select name of XSD targetNamespace attribute


Subject: Re: [xsl] Select name of XSD targetNamespace attribute
From: Philipp Kursawe <phil.kursawe@xxxxxxxxx>
Date: Sat, 29 Mar 2014 22:00:26 +0100

I tried your example David and the WinRT Xslt process throws an error
at local-name():

NodeTest expected here.
namespace::*[.=current()/@targetNamespace]/-->local-name<--()

If i remove the local-name() part I get back the value of the
correctly selected namespace. So does this error indicates MS is
indeed still using XPath 1.0 in their 2014 API?

On Fri, Mar 28, 2014 at 4:52 PM, David Carlisle <davidc@xxxxxxxxx> wrote:
> On 28/03/2014 15:44, Philipp Kursawe wrote:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <xs:schema targetNamespace="http://www.foo.com/test"
>> xmlns:foo="http://www.foo.com/text"
>> xmlns:xs="http://www.w3.org/2001/XMLSchema" version="0.1.1.0">
>> </xs:schema>
>>
>> I want to find out the name of the attribute that describes the
>> targetNamespace ("xmlns:foo") or even better "foo"
>>
>> Thanks!
>>
>>
>
> If I edit your input to say test in both cases then
>
> <xsl:stylesheet version="2.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>                 xmlns:xs="http://www.w3.org/2001/XMLSchema">
>
>
> <xsl:template match="xs:schema">
> <xsl:value-of
> select="namespace::*[.=current()/@targetNamespace]/local-name()"/>
> </xsl:template>
>
> </xsl:stylesheet>
>
> outputs "foo"
>
> David


Current Thread
Keywords