Re: Namespace compare issue (Was: Re: Teleconference Minutes 2007-01-17)

This gets messy ...

Here is another try, see again
http://www.w3.org/International/its/tests/test3/Translate1-result.xml as
an example . I now avoid numbering, but use the following for the
generation of the path attribute (see the template <XSL:template
match="*|@*" mode="get-full-path"> at
http://www.w3.org/International/its/tests/test3/datacats2xsl.xsl  :
    <XSL:if test="count(. | ../@*) = count(../@*)">@</XSL:if>
    <XSL:choose>
     <XSL:when test="namespace-uri(.)">
      <XSL:value-of
       select="concat(namespace-uri(.),'#',local-name())"/>
     </XSL:when>
     <XSL:otherwise>
      <XSL:value-of
       select="name()"/>
     </XSL:otherwise>
    </XSL:choose>
This expandes the namespace-uri if there is one before the local name.
Prefixes are not used. Note the difference between elements and attributes.
It looks ugly but seems to work. Would that be fine with you?

Felix


Sebastian Rahtz wrote:
> Felix Sasaki wrote:
>> That's fine as well. See e.g. again
>> http://www.w3.org/International/its/tests/test3/Translate1-result.xml .
>> Is it o.k. with you, Yves? Note that we have to be careful about
>> counting attributes, since they are not an ordered set. Let's hope our
>> implementations do the same ...
>>
>>   
> hmm. mine returns 0 from <xsl:number level="any"> applied to an attribute.
> How did you calculate the "a" attribute?
> 
> What I actually meant was a relative count for attributes, so
> 
> <o:node n="1" path="/myMetaDoc">
>      <o:output o:translate="yes"/>
>    </o:node>
>    <o:node a="1" n="1" path="/myMetaDoc/@its:translate">
>      <o:output o:translate="no"/>
>    </o:node>
> 
> 
> indicating that @its:translate is the first attribute of the first element.
> 

Received on Thursday, 18 January 2007 15:30:51 UTC