OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Invalid attribute names

[ Lists Home | Date Index | Thread Index ]

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.

-- Jason

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






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS