public attribute of a notation

Hello XML Schema Working group,

if my reading of the W3C schema spec is correct, it contains a contradiction
on the question, whether the public attribute of a notation is optional or
required.

REQUIRED INTERPRETATION
=======================
The meta schema says it is required:

<xs:element name="notation" id="notation">
   <xs:annotation>
    <xs:documentation
source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>
   </xs:annotation>
   <xs:complexType>
    <xs:complexContent>
     <xs:extension base="xs:annotated">
      <xs:attribute name="name" type="xs:NCName" use="required"/>
      <xs:attribute name="public" type="xs:public" use="required"/>
      <xs:attribute name="system" type="xs:anyURI"/>
     </xs:extension>
    </xs:complexContent>
   </xs:complexType>
  </xs:element>

Also the XML representation of the components implicitely says required:
http://www.w3.org/TR/xmlschema-1/#declare-notation


OPTIONAL INTERPRETATION
=======================

However
3.12.1 notation declaration schema component says it is optional:
http://www.w3.org/TR/xmlschema-1/#Notation_Declaration_details
Schema Component: Notation Declaration
{name}
An NCName as defined by [XML-Namespaces].
{target namespace}
Either ·absent· or a namespace name, as defined in [XML-Namespaces].
{system identifier}
Optional if {public identifier} is present. A URI reference.
{public identifier}
Optional if {system identifier} is present. A public identifier, as defined
in [XML 1.0 (Second Edition)].


The optional interpretation is also contained in the original XML spec
http://www.w3.org/TR/2000/REC-xml-20001006#Notations
Notation Declarations
[82]    NotationDecl    ::=    '<!NOTATION' S Name S (ExternalID | PublicID)
S? '>' [VC: Unique Notation Name]
[83]    PublicID    ::=    'PUBLIC' S PubidLiteral




As notation seems to be anyway just a container for the original DTD
notations the optional
interpretation is the best choice.


Best regards
Walter Waterfeld
R&D Software AG

Received on Wednesday, 15 May 2002 00:40:47 UTC