[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: DTD declaration
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.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|