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 "<", ">" and "&" 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.
+