[Home] [By Thread] [By Date] [Recent Entries]

  • From: John Halleck <John.Halleck@u...>
  • To: Richard Knapp <gyp_caver@y...>
  • Date: Mon, 12 Mar 2001 10:40:00 -0700 (MST)

On Mon, 12 Mar 2001, Paul Grosso wrote:

> Date: Mon, 12 Mar 2001 10:38:10 -0600
> From: Paul Grosso <pgrosso@a...>
> To: xml-dev@l...
> Subject: Re: DTD declaration
> 
> At 12:03 2001 03 11 -0700, Mike Brown wrote:
> >Richard Knapp wrote:
> >> In section 4.3.1 of Rec 20001006, there is discussion about Text Declaration. It says "External parsed entities 
> >> should begin with a text declaration" where the declaration is
>    ^^^^^^
>   (not must)
> >> 
> >> 	<?xml version="1.0"?>
         *******************
  Minor nit:
     This is not a valid text declaration.
     The encoding spec is not optional on a Text Declaration.
     [77]    TextDecl    ::=    '<?xml' VersionInfo? EncodingDecl S? '?>' 
     while the version is, in fact, optional.

        <?xml encoding="UTF-8"?>

     would be valid, and then Mike's comments are correct.

> >> or a variation on that.
> >> 
> >> Is this required in a DTD if it is separate from the XML document? I can't find anything that specifically 
> >> addresses this issued.
> >
> >Yes, 
> 
> No.  The rest of Mike's response is correct except, but it is not
> correct that the text declaration is required (as is clear from the
> rest of Mike's message, so I think his "yes" is a "typo").

  Although not being required assumes it is in UTF-8 or UTF-16.
  If it is otherwise then the standard says:
  It is also a fatal error if an XML entity contains no encoding
  declaration and its content is not legal UTF-8 or UTF-16.
  (For example, one can automagicly determine an entity is EBCDIC,
  but it is an error if it doesn't have a declaration in that case.)
  
> paul
> 
> >if the DTD is separate from the document entity, then it is an
> >"external" entity. If it's readable by an XML processor (parser) then it is
> >a (dubious tense notwithstanding) "parsed" entity.
> >
> >The point of the text declaration is mainly to allow an external entity to
> >indicate to an XML parser what its character encoding is.

  Which is why the encoding is not optional if the declaration appears.

> >If it doesn't have a text declaration, the usual rules for determining the
> >entity's character encoding will apply, and it will be an error if the
> >entity does not have the same encoding as is automatically determined...
> >just like with any other entity -- DTD, document, or document fragment
> >alike.


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member