[
Lists Home |
Date Index |
Thread Index
]
At 18:42 31.12.2003, you wrote:
>But Namespaces in XML redefined what you could use as an attribute name:
>
>[12] Attribute ::= NSAttName Eq AttValue
> | QName Eq AttValue [
>NSC: Prefix Declared ]
>
>NSAttName is defines the magic xmlns attributes so let's take the QName
>alternative:
>
>[6] QName ::= (Prefix ':')? LocalPart
>[7] Prefix ::= NCName
>[8] LocalPart ::= NCName
>
>Notice the colon is attached to the optional prefix. The LocalPart, being
>an NCName, can no longer contain colons:
>
>[4] NCName ::= (Letter | '_') (NCNameChar)* /* An XML
>Name, minus the ":" */
>[5] NCNameChar ::= Letter | Digit | '.' | '-' | '_' |
>CombiningChar | Extender
>
>Basically, you can still have a colon in the middle of an attribute name
>(between the prefix and local part) but you can no longer have a colon at
>the beginning of an attribute name since a prefix has to appear before it.
>
>Conclusion: that XML snippet *is* well-formed according to XML 1.0 but
>*not* according to Namespaces in XML. Alas.
Yes, you're right.
Running RXP with -Ns option catches this too (it seems that IE does this by
default)
Warning: Attribute name :test has empty prefix
in unnamed entity at line 3 char 16 of file:///C:/x.xml
Warning: Attribute name :test has unbound prefix
in unnamed entity at line 3 char 23 of file:///C:/x.xml
>Toni Uusitalo wrote:
>
>>Spec 2.3 "Common Syntactic Constructs" says:
>>
>>[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar
>>| Extender
>>[5] Name ::= (Letter | '_' | ':') (NameChar)*
>>
>>Colon and underscore are valid name start characters.
>>I believe parsers shouldn't report this as a well-formedness error.
>
>with respect,
>Toni Uusitalo
|