<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Strict//EN"> <HTML> <HEAD> <TITLE>SP - XML support</TITLE> </HEAD> <BODY> <H1>XML support</H1> <H2>Using SP to parse XML</H2> <P> To enable SP's support for <A HREF="http://www.w3.org/TR/1998/REC-xml-19980210">XML 1.0</A>: <UL> <LI> Set the <SAMP>SP_CHARSET_FIXED</SAMP> environment variable to <SAMP>YES</SAMP>. <LI> Set the <SAMP>SP_ENCODING</SAMP> environment variable to <SAMP>XML</SAMP>. <LI> Set the <SAMP>SGML_CATALOG_FILES</SAMP> environment variable to point to the file <SAMP>pubtext/xml.soc</SAMP>. <LI> Use the <SAMP>-wxml</SAMP> option. <LI> If the document is not supposed to be valid, use <SAMP>-wno-valid</SAMP> option. </UL> <H2>Limitations</H2> <P> SP does not enforce the following XML constraints: <UL> <LI> XML constrains processing instructions with a target matching <CODE>[Xx][Mm][Ll]</CODE>, both in terms of where they can occur and their content. <LI> XML does not allow a parameter separator that is adjacent to a delimiter to be omitted. <LI> XML has constraints on the use of <CODE>&</CODE> in parameter literals. In SGML terms, XML says that the <b>ero</b> delimiter is recognized in a parameter literal, and that it must be followed by an entity reference, but the entity reference is not expanded. </UL> <P> Line ends are normalized using SGML conventions to a CR/LF character pair rather than using the XML convention of a single LF character. <P> There is no support for characters outside the basic multilingual plane (ie those with scalar values greater than U+FFFF). <P> SP does not enforce XML's rules on not continuing normal processing after an error. Applications can enforce these if they choose. <H2>Web SGML Adaptations Annex</H2> <P> SP's support for SGML is based on <A HREF="http://www.ornl.gov/sgml/wg8/document/1955.htm">Annex K of ISO 8879</A> (the Web SGML Adaptations Annex). The following features of Annex K are not yet implemented: <UL> <LI> Checking of <SAMP>ENTITIES REF</SAMP> assertions <LI> <SAMP>#IMPLIED</SAMP> document type name <LI> Implying definitions of notations and entities (<CODE>IMPLYDEF ENTITY YES</CODE> and <CODE>NOTATION YES</CODE>) <LI> SGML declarations on subdocuments <LI> <SAMP>DATA</SAMP> declared value <LI> URN feature </UL> <P> <ADDRESS> James Clark<BR> jjc@jclark.com </ADDRESS> </BODY> </HTML>