<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>SAXEcho</title>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>
<h1>SAXEcho</h1>
<p align="justify"><strong>Project Owners:</strong> <a href="mailto:hao.mi@sun.com">Michael Mi</a>, <a href="mailto:aidan@openoffice.org">Aidan Butler</a><br/>
<small>(please use the provided <a href="http://xml.openoffice.org/servlets/ProjectMailingListList">mailing lists</a> for discussion of the XML based file format and related issues.)</small>
</p>

<h2>Overview</h2>
SAXEcho is an application which runs in parallel to OpenOffice and shows the XML representation of the current document. The application was created by Michael Mi, and has been more recently been expanded by Aidan Butler. The code is Java based, and works by attaching to a OOo process which has been set to listen on a specific port.

<h2>Functionality</h2>
<p>The SAXEcho program supports the following:</p>
	<ul>
	<li>Displaying the XML content of a currently opened OOo document. The result is displayed as plain text and an XML tree structure.</li>
	<li>Modification of the XML structure by adding, editing and removing nodes.</li>
	<li>The Assignment of a DTD to the XML representation.</li>
	<li>The Validation of the displayed XML.</li>
	<li>The use of an XSLT style-sheet, to display a transformed version of an  OOo document that is currently open.</li>
	</ul>

<h2>Usage Instructions</h2>
<p>Before you start, you will need the following:</p>
	<ul>
	<li>An OpenOffice.org installation</li>
	<li>Java 1.3 or greater. If you have an installation that is less than 1.4, you will also need Xalan and an external parser e.g. Xerces or Crimson</li>
	<li>The SAXEcho source code which is available <a href="http://xml.openoffice.org/source/browse/xml/tools/SAXEcho/source/">here</a></i>
	</ul>

<h3>To compile the SAXEcho program do the following:</h3>
	<b>Windows:</b>
		<ol>
			<li>Edit the <b>set office =</b> line to point to your OOo installation</li>
			<li>Execute the <b>SAXEcho.bat</b> file</li>
		</ol>

	<b>Unix:</b>
		<ol>
			<li>Set you CLASSPATH to include all of the jar files in your <b>&lt;OOo-install-dir&gt;/program/classes/</b> directory</li>
			<li>execute <b>javac SAXEcho.java</b></li>
			<li>execute <b>java SAXEcho</pre></b>
		</ol>

<p>Alternatively, the <b>SAXEcho/source</b> directory contains a dmake <b>makefile.mk</b>, which can be used to build the source.</p>
 
<h3>Configuring OpenOffice.org for usage with SAXEcho</h3>
<p>In order for the SAXEcho program to work with OOo, you must start OpenOffice with the following switches:</p>
	<pre>	<tt>%soffice -accept=socket,host=localhost,port=2002;urp;</tt></pre>
	



<h2>SAXEcho Displaying an OOo Document in Tree form <h2>
<img src="xmltree.jpg" name="XmlTree Display"/>
<h2>SAXEcho Displaying an OOo document in Plain Text form<h2>
<img src="xmlflat.jpg" name="Plain Text Display"/>

</body>

</html> 
