Update with recent (minor) changes.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3905 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/README_XML_OUTPUT.txt b/README_XML_OUTPUT.txt
index 136c962..bd90cf9 100644
--- a/README_XML_OUTPUT.txt
+++ b/README_XML_OUTPUT.txt
@@ -24,6 +24,8 @@
 * Put as much information as possible into the XML and let the GUIs
   decide what to show the user (a.k.a provide mechanism, not policy).
 
+* Make XML which is actually parseable by standard XML tools.
+
 
 How to use
 ~~~~~~~~~~
@@ -76,10 +78,22 @@
    TEXT  is arbitrary text.
    HEX64 is a 64-bit hexadecimal number, with leading "0x".
 
+Text strings are escaped so as to remove the <, > and & characters
+which would otherwise mess up parsing.  They are replaced respectively
+with the standard encodings "&lt;", "&gt;" and "&amp;" respectively.
+Note this is not (yet) done throughout, only for function names in
+<frame>..</frame> tags-pairs.
+
 
 TOPLEVEL
 --------
-All output is contained within the tag-pair <valgrindoutput>.
+
+The first line output is always this:
+
+   <?xml version="1.0"?>
+
+All remaining output is contained within the tag-pair
+<valgrindoutput>.
 
 Inside that, the first entity is an indication of the protocol
 version.  This is provided so that existing parsers can identify XML
@@ -107,7 +121,9 @@
   components.  The text in them can be anything; it is not intended
   for interpretation by the GUI:
 
-     <preamble>Misc version/copyright text</preamble>
+     <preamble>
+        <line>Misc version/copyright text</line>  (zero or more of)
+     </preamble>
 
 * The PID of this process and of its parent:
 
@@ -284,6 +300,7 @@
       <ip>HEX64</ip>
       optionally <obj>TEXT</obj>
       optionally <fn>TEXT</fn>
+      optionally <dir>TEXT</dir>
       optionally <file>TEXT</file>
       optionally <line>INT</line>
    </frame>
@@ -297,6 +314,10 @@
 
 * fn: gives the name of the function containing the code address
 
+* dir: gives the source directory associated with the name specified
+       by <file>.  Note the current implementation often does not
+       put anything useful in this field.
+
 * file: gives the name of the source file containing the code address
 
 * line: gives the line number in the source file
@@ -335,3 +356,4 @@
 
 The <name> is as specified in the suppression name fields in .supp
 files.
+