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:idattributes, 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-uriandunparsed-entity-public-idfunctions 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-6instead of1.0E-6, while negative zero is output as0instead of-0. -
In functions such as
format-numberandformat-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-escapingis ignored. It also means that nometaattributes are inserted into HTML or XHTML output, and no escaping of URI-valued attributes takes place.