Restrictions
Known restrictions include the following:
-
It is not possible to use XSLT keys to access the HTML document: they will not be updated when the document is modified in-situ. (XSLT keys on XML source documents are fine, however.)
-
The
id()
function when applied to an XML document will recognize elements identified byxml:id
attributes, but generally does not work on IDs defined as such in a DTD (on most browsers, the XML parser does not read the external DTD). Theid()
function does work on the HTML document, delivering the same result as the DOM methodgetElementByID()
.)For the same reason, the
idref()
function has no effect (the XML parser in general does not report which attributes are of type IDREF) -
The
doc()
anddocument()
functions are synchronous: this can lead to an unpleasant user experience if fetching a document from a remote server is delayed (the source file for a transform may be fetched asynchronously - depending on context). -
The
collection()
function returns an empty sequence for the default collection, and reports "unknown collection" for any supplied URI. -
The
unparsed-entity-uri
andunparsed-entity-public-id
functions have no effect (they behave as if the named entity is not present in the document). This is because the XML parser in the browser, in general, is not reporting the presence of unparsed entities. -
Conversion of double and float values to strings is not 100% conformant in all cases, although the results will usually be acceptable. For example, the output might be
1E-6
instead of1.0E-6
, while negative zero is output as0
instead of-0
. -
In functions such as
format-number
andformat-date
, digits must be ASCII digits. There is currently no localization for languages other than English. -
The Saxon-CE engine does not perform serialization. This means that the attribute
disable-output-escaping
is ignored. It also means that nometa
attributes are inserted into HTML or XHTML output, and no escaping of URI-valued attributes takes place.