Here you see the XML generated by the sample class. As you can see the XML generated all the element text correctly. The real power of XMLWorks comes from the ability to use native Delphi (or C++) classes to work with XML. Instead of using INI files, or hard to read proprietary formats for storing settings you can now use XML files. Since XML files are hierarchical by nature they make excellent storage mediums for configuration settings.

<?XML version = "1.0" ?>
<!DOCTYPE Author-list [
  <!ELEMENT Author-list (Author)* >
  <!ELEMENT Author (address,au_fname,au_id,au_lname,city,phone,
         postalcode,state,TestChar,TestEnum,TestFloat,
         TestInt,TestInt64,TestVariant) >
  <!ELEMENT address (#PCDATA)>
  <!ELEMENT au_fname (#PCDATA)>
  <!ELEMENT au_id (#PCDATA)>
  <!ELEMENT au_lname (#PCDATA)>
  <!ELEMENT city (#PCDATA)>
  <!ELEMENT phone (#PCDATA)>
  <!ELEMENT postalcode (#PCDATA)>
  <!ELEMENT state (#PCDATA)>
  <!ELEMENT TestChar (#PCDATA)>
  <!ELEMENT TestEnum (#PCDATA)>
  <!ELEMENT TestFloat (#PCDATA)>
  <!ELEMENT TestInt (#PCDATA)>
  <!ELEMENT TestInt64 (#PCDATA)>
  <!ELEMENT TestVariant (#PCDATA)>
]>
<Author-list>
  <Author>
    <address>9919 Hornpipe</address>
    <au_fname>Marc</au_fname>
    <au_id></au_id>
    <au_lname>Bir</au_lname>
    <city>Houston</city>
    <phone>713-827-8931</phone>
    <postalcode>77080</postalcode>
    <state>TX</state>
    <TestChar>Z</TestChar>
    <TestEnum>atWorthless</TestEnum>
    <TestFloat>1.1</TestFloat>
    <TestInt>20</TestInt>
    <TestInt64>205876666</TestInt64>
    <TestVariant>TestVariant</TestVariant>
  </Author>
</Author-list>