Re: [xsl] Problem with Entities

Subject: Re: [xsl] Problem with Entities
From: "Colin Adams" <colinpauladams@xxxxxxxxxxx>
Date: Wed, 31 Jan 2007 13:48:31 +0000
From: David Carlisle <davidc@xxxxxxxxx>

> Will the output of this always be relative to the location of the source xml?
I think in practice it just uses whatever string you put in the DTD
SYSTEM identifier.


Unlike other URI it doesn't seem to be automatically resolved angainst
any base.

XSLT2 says it returns the system id from the data model and teh data
model says


http://www.w3.org/TR/xpath-datamodel/#dm-unparsed-entity-system-id


The dm:unparsed-entity-system-id accessor returns the system identifier
of an unparsed external entity declared in the specified document. I

Note that this is _not_ defined to be a URI, but defined to be a "system identifier"

XDM defines "system identifier" in section 6.5.1 to be "The system identifier of the entity."
which is getting a bit circular,



but infoset defines it http://www.w3.org/TR/xml-infoset/#infoitem.rse here as

[system identifier] The system identifier of the entity, as it appears
in the declaration of the entity, without any additional URI escaping
applied by the processor.

so I think that confirms that you should get back the DTD-provided
string.

The infoset also defines a declaration base uri for it to be resolved against.
It looks to me like the DM should be using that.


On practical grounds, since SAX will be doing just that (effectively), it would be better if the DM defined that, so we get consistency across processors. Perhaps it can be considered for the errata?

_________________________________________________________________
MSN Hotmail is evolving  check out the new Windows Live Mail http://ideas.live.com


Current Thread