diff --git a/ChangeLog b/ChangeLog
index 1fa598d3..75b6acba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Feb 29 23:55:13 CET 2000 Daniel Veillard This document describes the XML
-library provideed in the Gnome framework.
-XML is a standard to build tag based structured documents/data. This document describes libxml, the XML
+library provided in the Gnome framework.
+XML is a standard for building tag-based structured documents/data. Here are some key points about libxml: There is some on-line resources about using libxml : There are some on-line resources about using libxml: Well bugs or missing features are always possible, and I will make a point
-of fixing them in a timely fashion. The best way it to Well, bugs or missing features are always possible, and I will make a point
+of fixing them in a timely fashion. The best way to report a bug is to use the Gnome bug tracking
-database. I look at reports there regulary and it's good to have a
+database. I look at reports there regularly and it's good to have a
reminder when a bug is still open. Check the instructions on reporting bugs
-and be sure to specify thatthe bug is for the package gnome-xml.Introduction
-
Documentation
-
-
Reporting bugs and getting help
-
There is also a mailing-list xml@rufus.w3.org for libxml, with an on-line archive. To subscribe to this -majordomo based list, send a mail to majordomo@rufus.w3.org with "subscribe xml" in the content of the message.
-Alternately you can just send the bug to the Alternatively, you can just send the bug to the xml@rufus.w3.org list.
Libxml is also available from 2 CVs bases:
+Libxml is also available from 2 CVS bases:
The W3C CVS base, available read-only using the CVS pserver authentification (I tend to use - this base for my own developements so it's updated more regulary, but - content may not be as stable):
+ this base for my own development, so it's updated more regularly, but + the content may not be as stable):CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public password: anonymous module: XML
The Gnome - CVS base, Check the Gnome CVS Tools page, - the CVS module is gnome-xml
+ CVS base. Check the Gnome CVS Tools page; + the CVS module is gnome-xml.XML is a standard for markup -based structured documents, here is an example:
+XML is a standard for +markup-based structured documents. Here is an example +XML document:
<?xml version="1.0"?> <EXAMPLE prop1="gnome is great" prop2="& linux too"> <head> @@ -285,25 +286,28 @@ based structured documents, here is an example: </chapter> </EXAMPLE>-
The first line specify that it's an XML document and gives useful -informations about it's encoding. Then the document is a text format whose -structure is specified by tags between brackets. Each tag opened have -to be closed XML is pedantic about this, not that for example the -image tag has no content (just an attribute) and is closed by ending up the +
The first line specifies that it's an XML document and gives useful
+information about its encoding. Then the document is a text format whose
+structure is specified by tags between brackets. Each tag opened has
+to be closed. XML is pedantic about this. However, if a tag is
+empty (no content), a single tag can serve as both the opening and closing
+tag if it ends with />
rather than with >
.
+Note that, for example, the
+image tag has no content (just an attribute) and is closed by ending the
tag with />
.
XML can be applied sucessfully to a wide range or usage from long term -structured document maintenance where it follows the steps of SGML to simple -data encoding mechanism like configuration file format (glade), spreadsheets -(gnumeric), or even shorter lived document like in WebDAV where it is used to -encode remote call between a client and a server.
+XML can be applied sucessfully to a wide range of uses, from long term +structured document maintenance (where it follows the steps of SGML) to simple +data encoding mechanisms like configuration file formatting (glade), spreadsheets +(gnumeric), or even shorter lived documents such as WebDAV where it is used to +encode remote calls between a client and a server.
The parser returns a tree built during the document analysis. The value -returned is an xmlDocPtr (i.e. a pointer to an -xmlDoc structure). This structure contains informations like -the file name, the document type, and a root pointer which +returned is an xmlDocPtr (i.e., a pointer to an +xmlDoc structure). This structure contains information such as +the file name, the document type, and a root pointer which is the root of the document (or more exactly the first child under the root which is the document). The tree is made of xmlNodes, chained in double linked lists of siblings and with childs<->parent relationship. @@ -317,7 +321,7 @@ only one ELEMENT under the root):
In the source package there is a small program (not installed by default) called tester which parses XML files given as argument and -prints them back as parsed, this is useful to detect errors both in XML code +prints them back as parsed. This is useful to detect errors both in XML code and in the XML parser itself. It has an option --debug which prints the actual in-memory structure of the document, here is the result with the example given before:
@@ -332,6 +336,7 @@ standalone=true ENTITY_REF TEXT content= linux too + ELEMENT head ELEMENT title TEXT content=Welcome to Gnome @@ -354,23 +359,23 @@ standalone=trueSometimes the DOM tree output is just to large to fit reasonably into +
Sometimes the DOM tree output is just too large to fit reasonably into memory. In that case and if you don't expect to save back the XML document loaded using libxml, it's better to use the SAX interface of libxml. SAX is a -callback based interface to the parser. Before parsing, the -application layer register a customized set of callbacks which will be called +callback-based interface to the parser. Before parsing, the +application layer registers a customized set of callbacks which are called by the library as it progresses through the XML input.
To get a more detailed step-by-step guidance on using the SAX interface of -libxml, James Henstridge made a nice +libxml, James Henstridge has written some nice documentation.
You can debug the SAX behaviour by using the testSAX program located in the gnome-xml module (it's usually not shipped in the binary packages of libxml, but you can also find it in the tar source -distribution). Here is the sequence of callback that would be generated when -parsing the example given before as reported by testSAX:
+distribution). Here is the sequence of callbacks that would be reported by +testSAX when parsing the example given before:SAX.setDocumentLocator() SAX.startDocument() SAX.getEntity(amp) @@ -406,9 +411,9 @@ SAX.characters( , 1) SAX.endElement(EXAMPLE) SAX.endDocument()-
Most of the other functionnalities of libxml are based on the DOM tree -building facility, so nearly everything up to the end of this document -presuppose the use of the standard DOM tree build. Note that the DOM tree +
Most of the other functionalities of libxml are based on the DOM +tree-building facility, so nearly everything up to the end of this document +presupposes the use of the standard DOM tree build. Note that the DOM tree itself is built by a set of registered default callbacks, without internal specific interface.
@@ -1010,6 +1015,6 @@ base under gnome-xml/example -$Id: xml.html,v 1.23 2000/01/25 18:31:22 veillard Exp $
+$Id: xml.html,v 1.24 2000/01/30 20:00:06 veillard Exp $