<!DOCTYPE lackeyml [ <!ELEMENT lackeyml (application?, (thread)*)>; <!ATTLIST lackeyml version CDATA #FIXED "0.2"> <!ATTLIST lackeyml xmlns CDATA #FIXED "https://cartesianproduct.wordpress.com\"> <!ELEMENT application EMPTY> <!ATTLIST application command CDATA #REQUIRED> <!ELEMENT thread (instruction|store|load|modify)* > <!ATTLIST thread tid CDATA #REQUIRED> <!ELEMENT instruction EMPTY> <!ATTLIST instruction address CDATA #REQUIRED> <!ATTLIST instruction size CDATA #REQUIRED> <!ELEMENT modify EMPTY> <!ATTLIST modify address CDATA #REQUIRED> <!ATTLIST modify size CDATA #REQUIRED> <!ELEMENT store EMPTY> <!ATTLIST store address CDATA #REQUIRED> <!ATTLIST store size CDATA #REQUIRED> <!ELEMENT load EMPTY> <!ATTLIST load address CDATA #REQUIRED> <!ATTLIST load size CDATA #REQUIRED> ]>
Incidentally, if you don’t know what any of this means, you do not need to worry. But if you are really interested then it is a DTD (Document Type Definition) for the XMLised output of Valgrind’s Lackey tool, as patched by me to also output thread (Posix pthread) data. The original – version 0.1 – DTD (which does not account for thread data) can be found in the lackey_xml git repository.
Related articles
- Dennis Kaarsemaker: CDATA support in ElementTree (kaarsemaker.net)
- XML Manipulation (daniweb.com)
- Advantages of XML Schemas Created Using XSD (dotprogramming.blogspot.com)
- Valgrind: what is the difference between a store and a modify? (cs.stackexchange.com)
- Learning Code (reeder10techno.wordpress.com)
- Output of printf (tomsun10.wordpress.com)