RE: PUBLIC id in notations - oops

To be honest, I'm not convinced:

[75]   ExternalID   ::=   'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral
S SystemLiteral 


[82]   NotationDecl   ::=   '<!NOTATION' S Name S (ExternalID | PublicID) S?
'>'

As far as I know, the combination of these productions means that NOTATION
can have either ExternalId OR PublicId. ExternalId is defined such that it
may have either a SYSTEM identifier or PUBLIC and System together.

This gives three possibilities in DTDs:
<!NOTATION mynotation PUBLIC "-//somepublicId/EN">
<!NOTATION mynotation SYSTEM "http://notationfactory.com/mynotation">
<!NOTATION mynotation PUBLIC "-//somepublicId/EN"
"http://notationfactory.com/mynotation">

By my definition, this makes the PUBLIC identifier optional, not required.

I was mistaken about XSD in one respect - it does make systemId optional,
but in at least 2 out of 3 places (schema for schema and schema
representation), publicId is required (and, as I mentioned, enforced as so
by a number of processors/validators).

I would be delighted to be shown otherwise, 'cos it would make my life
easier.

John


_______________________________________________________
John Anderson
CTO BarbadosoftTM 
The XML Management Company
+31 (0)20 750 7582 / +31 (0)6 55 347 448 / www.barbadosoft.com

- putting the "X" in "XML" - 


-----Original Message-----
From: Anli Shundi [mailto:ashundi@tibco.com]
Sent: 29 January 2002 16:36
To: Anderson, John; xml-dev@lists.xml.org; W3C XML Schema IG;
xmlschema-dev@w3.org
Subject: RE: PUBLIC id in notations


Please check again:

XML 1.0 Rec requires PublicId-s at notations.  See
http://www.w3.org/TR/REC-xml#Notations

XML Schema Spec at http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations
says only that either the Public or System Identifiers must be present.

Anli Shundi
TIBCO Extensibility
www.extensibility.com
-----Original Message-----
From: Anderson, John [mailto:John@Barbadosoft.com]
Sent: Tuesday, January 29, 2002 10:22 AM
To: xml-dev@lists.xml.org; W3C XML Schema IG; xmlschema-dev@w3.org
Subject: PUBLIC id in notations


Anyone who can advise: 
Some time ago I raised the issue of discrepancies between XML1.0 and XML
Schema with regard to notations, but I've forgotten the outcome and can't
find the thread. Can anyone can enlighten me?
XML1.0 says that the PUBLIC identifier is optional. The schema rec cannot
make up it's mind. 
In 3.12.1 "The Notation Declaration Schema Component", public identifier is
given as optional. 
In 3.12.2 "XML Representation of Notation Declaration", and in the schema
for Schema, it is given as mandatory (and is treated this way by a number of
processors). Of course, the schema for schemas has no choice, since at least
one of system or public is required and XSD can't express this as a
co-constraint.
Can anyone explain: 
a) Why this mismatch with XML1.0 was introduced in XSD? 
b) Is it actually a bug which will be changed? 
c) If it isn't a bug, what is the recommended way of converting DTDs into
XSD when no public identifiers are given? 
Any help appreciated. 
John 



_______________________________________________________
John Anderson 
CTO BarbadosoftTM 
The XML Management Company 
+31 (0)20 750 7582 / +31 (0)6 55 347 448 / www.barbadosoft.com 
- putting the "X" in "XML" - 


The information transmitted by this e-mail message is intended solely for
the use of the person to whom or entity to which it is addressed. The
message may contain information that is privileged and confidential.
Disclosure, dissemination, distribution, review, retransmission to, other
use of or taking any action in reliance upon this information by anyone
other than the intended recipient is prohibited. If you are not the intended
recipient, please do not disseminate, distribute or copy this communication,
by e-mail or otherwise. Instead, please notify us immediately by return
e-mail (including the original message with your reply) and then delete and
discard all copies of the message.
Although we have taken precautions to minimize the risk of transmitting
viruses we nevertheless advise you to carry out your own virus checks on any
attachment to this message. We accept no liability for any loss or damage
caused by viruses.

The information transmitted by this e-mail message is intended solely for
the use of the person to whom or entity to which it is addressed. The
message may contain information that is privileged and confidential.
Disclosure, dissemination, distribution, review, retransmission to, other
use of or taking any action in reliance upon this information by anyone
other than the intended recipient is prohibited. If you are not the intended
recipient, please do not disseminate, distribute or copy this communication,
by e-mail or otherwise. Instead, please notify us immediately by return
e-mail (including the original message with your reply) and then delete and
discard all copies of the message.

Although we have taken precautions to minimize the risk of transmitting
viruses we nevertheless advise you to carry out your own virus checks on any
attachment to this message. We accept no liability for any loss or damage
caused by viruses.

Received on Tuesday, 29 January 2002 11:01:50 UTC