[Phoenix] Implementing namespace-unawareness
Andreas Wuest
awuest at student.ethz.ch
Fri Sep 29 19:19:26 CEST 2006
Hi
On 29.9.2006 11:41 Uhr, Andreas Wuest wrote:
> Hi
>
> On 29.9.2006 11:05 Uhr, Michael Wechner wrote:
>
>> Andreas Wuest wrote:
>>> I am not sure though which nodes all have to substituted. Do we only
>>> have to substitute the nodes in the NameTest production, or generally
>>> all occurring QNames? Also, in the NameTest production, it is
>>> distinguished between '*', NCName ':' '*' and QName. By what should
>>> '*' and NCName ':' '*' be replaced with?
>>
>>
>> Unfortunately I cannot help on this ;-)
>
> :( That's the most important part of this...
>
>>> The branch currently only replaces QName productions which have a
>>> prefix. Prefixless QNames are currently not replaced.
>>
>> does it show any regression?
>
> Only replacing the NameTests which have prefixes is pretty pointless,
> because the rest of the query will fail (except all NameTests are
> prefixed). So, no, it does not make things worse, but not better as well.
>
> I first have to know exactly which productions I have to replace by
> "*[local-name()='nodename']"...
>
> BTW: what about variables, i.e. '$' QName, and function names?
I finished the namespace-unawareness implementation by replacing all
QNames in NodeTests by *[local-name()='nodename'], except if the QName's
localPart is "*".
I don't know what I should do in such a case, especially if the QName
has a prefix, e.g. foo:*. Would *[local-name()='*'] be valid? Currently,
if we hit foo:*, we simply replace it by *.
Oh, and, it's all nicely integrated in the trunk now... :)
--
Kind regards,
Andi
More information about the Phoenix
mailing list