Should our implementation be updated to conform?

> >
> >Please note that it does not accept a <string>, but an <uri-specification>
> 
> Per http://www.w3.org/TR/xsl/slice5.html#section-N8794-Property-Datatypes
> a <uri-specification> is "A sequence of characters that is "url(", followed..."
> and <string> is "a sequence of characters".  Therefore, the spec is
> saying that <uri-specification> is a subset of the <string> datatype.
> 
> I agree that the spec could be clearer in the area of property datatypes,
> but I hope my explanation clarifies how our response to your comment doesn't
> contradict the spec.

Paul,

the Recommendation says that a string may be represented either by a literal,
in which case it must be taken into quotes, or by an enumerated token. An enumeration
token is an NCName, and qoutes are not used.

Since uri('http://www.w3.org/TR/xsl') cannot syntactically be a NCName,
should our implementation, RenderX XSL Formatter XEP be updated to require
that every uri specification is taken into single or double quotes (around
the whole thing) with optional quotes inside?

It currently erroneously allows to omit outer quotes around uri-specification
and simple write

external-destination="uri('http://www.w3.org/TR/xsl')"

Now I realize that since uri(...) is a special case of a string per its definition
(since both are defined to be kinds sequences of characters, then the latter is
a special case of the former), then this approach is wrong.

The right approach would be to write

="'uri(http://www.w3.org/TR/xsl)'"

or

="'uri(&quot;http://www.w3.org/TR/xsl&quot;)'"

And the case without outer quotes is an error because if b and c are subsets of a
then c is subset of b.

Thank you for clarification,
David Tolpin
RenderX

Received on Sunday, 23 February 2003 01:32:40 UTC