Suggestion: Better default values for %p, %s and addition of comm on namespace prefixes in DTD

Currently %p and %s's default values of '' would be rarely preferred except while defining schema for schemas.  'xsd:' and ':xsd' would be a better default for most uses.  XSLT, for example, can't
generate the internal subset declarations that would allow using the default namespace for references to elements in the target schema.

I'd recommend changing in the DTD:

<!ENTITY % p 'xsd:'>
<!ENTITY % s ':xsd'>

In addition (even if the defaults weren't changed), it would be useful if the attribute list of the schema element were something like this:

<!ATTLIST %schema;
   targetNamespace      %URIref;               #IMPLIED
   version              CDATA                  #IMPLIED
   %nds;                %URIref;               #FIXED ''
   xmlns:x              %URIref;               #IMPLIED
   xmlns:target         %URIref;               #IMPLIED
   xmlns                %URIref;               #IMPLIED
   xmlns:import1        %URIref;               #IMPLIED
   xmlns:import2        %URIref;               #IMPLIED
   xmlns:import3        %URIref;               #IMPLIED    
   finalDefault         %complexDerivationSet; ''
   blockDefault         %blockSet;             ''
   id                   ID                     #IMPLIED
   elementFormDefault   %formValues;           'unqualified'
   attributeFormDefault %formValues;           'unqualified'

The combination would allow most schemas to be validated against the DTD without requiring the end user to define an internal subset.  Just the additional xmlns attribute definitions, should allow
most schemas to be validated without having to redefine %schemaAttrs.

Received on Monday, 11 December 2000 14:59:54 UTC