Use 21 bit characters on Lisp offering them.
[cxml/s11.git] / doc / installation.xml
blob4d995abe12036c62d47dce109fca89c7ede9cfaf
1 <documentation title="CXML Installation">
2     <h1>Installation of Closure XML</h1>
4     <a name="download"/>
5     <h2>Download</h2>
6     <ul>
7       <li>
8         <div>Download <a href="http://common-lisp.net/project/cxml/download/">tarballs</a> for both cxml itself and closure-common.</div>
9       </li>
10       <li>
11         <div>
12       Or use anonymous CVS (<a href="http://common-lisp.net/cgi-bin/viewcvs.cgi/cxml/?cvsroot=cxml">browse</a>):
13       <pre>export CVSROOT=:pserver:anonymous:anonymous@common-lisp.net:/project/cxml/cvsroot
14 cvs co cxml
15 cvs co closure-common</pre>
16         </div>
17       </li>
18     </ul>
20     <a name="implementations"/>
21     <h2>Implementation-specific notes</h2>
22     <p>
23       CXML should be portable to all Common Lisp implementations
24       supported by <a
25       href="http://common-lisp.net/project/cl-plus-ssl/#trivial-gray-streams">trivial-gray-streams</a>.
26     </p>
27     <p>
28       On Lisps without Unicode support, cxml uses integers instead of
29       characters to represent code points internally.  By default,
30       however, the parser will recode all data to strings containing
31       characters representing UTF-8 bytes before passing it to user
32       code.
33     </p>
35     <a name="compilation"/>
36     <h2>Compilation</h2>
37     <p>
38       <a href="http://www.cliki.net/asdf">ASDF</a> is used for
39       compilation.  The following instructions assume that ASDF has
40       already been loaded.
41     </p>
43     <p>
44       <b>Prerequisites.</b>
45       CXML needs <a href="http://www.cliki.net/Puri">puri</a> and
46       <a href="http://www.common-lisp.net/project/cl-plus-ssl/#trivial-gray-streams">trivial-gray-streams</a>.
47       In addition,
48       <a href="http://www.cliki.net/closure-common">closure-common</a>
49       is required, which is a separate module in cxml CVS (see above for
50       check-out instructions).
51     </p>
53     <p>
54       <b>Compiling and loading CXML.</b>
55       Register the .asd file, e.g. by symlinking it:
56     </p>
57     <pre>$ ln -sf `pwd`/cxml/cxml.asd /path/to/your/registry/
58 $ ln -sf `pwd`/closure-common/closure-common.asd /path/to/your/registry/</pre>
59     <p>Then compile CXML using:</p>
60     <pre>* (asdf:operate 'asdf:load-op :cxml)</pre>
62     <p>
63       You can then try the <a href="quickstart.html">quick-start example</a>.
64     </p>
66     <a name="tests"/>
67     <h2>Tests</h2>
68     <p>Check out the XML and DOM testsuites:</p>
69     <pre>$ export CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public
70 $ cvs login    # password is "anonymous"
71 $ cvs co 2001/XML-Test-Suite/xmlconf
72 $ cvs co -D '2005-05-06 23:00' 2001/DOM-Test-Suite
73 $ cd 2001/DOM-Test-Suite &amp;&amp; ant dom1-dtd dom2-dtd</pre>
74     <p>
75       Omit <tt>-D</tt> to get the latest version, which may not work
76       with cxml yet.  The <tt>ant</tt> step is necessary to run the DOM
77       tests.
78     </p>
79     <p>Usage:</p>
80     <pre>* (xmlconf:run-all-tests "/path/to/2001/XML-Test-Suite/xmlconf/")
81 * (domtest:run-all-tests "/path/to/2001/DOM-Test-Suite/")
82 </pre>
83     <p>
84       To compare your results with known output, refer to the files
85       <tt>XMLCONF</tt> and <tt>DOMTEST</tt> in the cxml distribution.
86     </p>
88     <p>
89       <i>fixme</i>: Add an explanation of xml/sax-tests here.
90     </p>
92     <p>
93       <b>fixme</b> domtest.lisp does not understand the current
94       testsuite driver anymore.&#160; To fix this problem, revert the
95       affected files manually after check-out:
96     </p>
98     <pre>$ cd 2001/XML-Test-Suite/xmlconf/
99 xmltest$ patch -p0 -R &lt;/path/to/cxml/test/xmlconf-base.diff</pre>
101     <p>
102       The log message for the changes reads "<i>Removed unnecessary
103       xml:base attribute</i>".&#160; If I understand correctly, only
104       DOM&#160;3 parsers provide the baseURI attribute necessary for
105       understanding <tt>xmlconf.xml</tt> now.&#160; We don't have that
106       yet.
107     </p>
108 </documentation>