XML Conformance

Saxon relies on the XML parser provided with each browser, and inherits the restrictions and limitations of the native browser. For example:

  1. On Internet Explorer, entity references are not supported (XML parse failure).

  2. On Firefox, external entity references are not supported (they lead to a parsing failure)

  3. On Safari, external entity references are not supported (the content of the entity is ignored)

  4. In Opera there's an issue in that the xml namespace should be explicitly declared for the xml prefix when using xml attributes such as xml:id. This is most apparent when using the id() function in Saxon-CE, because xml:id attributes appear in no namespace and therefore are not recongnized as IDs.

Support for DTD-based ID and IDREF attributes is very patchy, so the best advice is to avoid use of the id() and idref() functions. However, the id() function may safely be used to find elements identified using an xml:id attribute.