Lists Home |
Date Index |
>> <xsl:template match="x:child">
>> The parser doesn't know that x:child is going to be interpreted as a
>> QName; it can't distinguish it from something like:
>> <db:read file="c:mydatabase">
>> Only the XSLT processor knows what the attribute means.
>Since it knows that as soon as the element tag has been parsed, it could
>well act on that knowledge and discard it.
I can't follow that - too many "it"s. What knows what as soon as the
element tag has been parsed? The parser knows nothing about what the
attribute means. It has to pass the downstream processor both the
attribute value and the namespace map, so that the downstream
processor can interpret the attribute (or part of it) as a QName if it
wants to. The downstream processor can discard the map if it doesn't
need it, or once it's interpreted the element. But as long as the
document is passed on, the namespace bindings have to be preserved.