Re: svg-20000303-shared.dtd Validity problems, Namespaces

Cynthia,
Thanks for pointing this out. I have looked to see if the newer, modified
drafts (not yet released to the public) still have these problems. See
below for the results.

At 10:13 AM 6/15/00 -0400, Tuttle . Cynthia wrote:
>Out of curiosity, I tried checking some svg files for well-formedness and
>validity. I'm using the MSXML parser with IE5. I eventually discovered that
>this DTD is neither well-formed (according to XML Spy) or valid (according
>to both XML Spy and XMLwriter). A result of this problem is that I cannot
>validate SVG files that use this DTD.
>
>Check for Well-formedness results in:
>	"This file is not well-formed: | expected."
>Flagged at the line beginning with "%SylableSVG..." below:
><!--========== Document Structure and Grouping ==========-->
>
><!ENTITY % svgExt "" >
><!ELEMENT svg (%descTitleDefs;,metadata?,
>                  (path|text|rect|circle|ellipse|line|polyline|polygon|
>                   use|image|svg|g|view|switch|a|altGlyphDef|
>                   script|symbol|marker|clipPath|mask|
>                   linearGradient|radialGradient|pattern|filter|cursor|font|
>                   animate|set|animateMotion|animateColor|animateTransform
>                   %StylableSVG-StyleElement;
> 
>%ExchangeSVG-ColorProfileElement;%ExchangeSVG-FontFaceElement;
>                   %ceExt;%svgExt;)*) >
>
>
>Check for Validity results in:
>	"Parameter entity must be defined before it is used" Line 244
><![%StylableSVG;[

Were you validating the "shared" DTD, the "stylable" DTD or the "exchange"
DTD? If you attempted to check the shared DTD, then I would expect various
problems. The shared DTD doesn't stand by itself. For it to work properly,
it has to be included within either the stylable DTD or the exchange DTD.

>
>If I switch to the stylable DTD and validate a SVG file containing a
>namespace definition, I get a different error:
>	"Attribute xmlns has a value which does not match the fixed value
>defined in the DTD/Schema."
>This error occurs at the first encounter with the xlmns attribute shown
>below.
>
><?xml version="1.0" standalone="yes"?>
><!DOCTYPE svg SYSTEM "svg-20000303-stylable.dtd">
><svg width="4in" height="3in"
>xmlns="http://www.w3.org/2000/svg-20000303-stylable">
>	<desc>This well formed svg document draws a triangle which is a
>hyperlink
>  </desc>
>	<a xmlns:xlink="http://www.w3.org/2000/xlink/namespace/"
>xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"
>xlink:href="http://www.w3.org">
>		<path d="M 0 0 L 200 0 L 100 200 z"/>
>	</a>
></svg>

The March 3 spec set the default value for the 'xmlns' attribute via an
improperly specified entity reference, with the result that any examples
which explicitly supply a value for 'xmlns' will not validate. I apologize
that we did not properly try out examples where the xmlns attribute were
specified explicitly at the same time as a DOCTYPE were provided.

The next public draft will no longer use an entity reference for the
initial value for xmlns, so the problem will go away with the next public
draft.

Jon

Received on Monday, 19 June 2000 13:26:01 UTC