Document Types > XML Support > System Identifiers
System Identifiers
When writing an XML document, Arbortext Editor always supplies a system literal within the external identifier. If not explicitly specified, or if saving a document that has a null system ID (saved with an earlier version of Arbortext Editor), the system identifier for the DTD is written to the .xml file.
The set writeabsolutesysid command controls how the system identifier is written in the XML file. If the option is off (the default), the system ID will not be changed if it is not null. If the original system ID is null, Arbortext Editor writes the base name of the DTD corresponding to the document type.
If the writeabsolutesysid option is on, then Arbortext Editor writes an absolute URI for the system ID (URL-encoded according to RFC 1738) corresponding to the document type used to load the document. See the filename_to_url function for details on the encoding.
The set writeabsolutesysid command also affects the href written for stylesheet associations. If this option is off, the hrefs of existing stylesheet associations are written unchanged, and for new stylesheet associations where the stylesheet is in the same directory as the document or the DTD, a relative URI is written for the href. When this option is on, relative URIs are converted to absolute file:// URIs.
If the original system identifier starts with a URL, the system identifier is assumed to be URL-encoded and written verbatim.
Arbortext Editor also decodes the file:// URL-encoded system identifier when opening an XML file, in case the public identifier lookup fails or if the DOCTYPE entry does not specify a public identifier field.