This example shows how to customize XML Schema built-in types by mapping
xsd:date built-in type to the date class from the Boost date_time library.
You will need the Boost date_time library[1] installed in order to build
and run this example.

[1] http://www.boost.org

The example consist of the following files:

calendar.xsd
  XML Schema definition for a simple calendar format.

calendar.xml
  Sample XML instance document.

xml-schema.hxx
  Data types for XML Schema built-in types. This header file is generated
  by XSD using the --generate-xml-schema option. The --custom-type option
  is also used to customize the xsd:date type.

calendar.hxx
calendar.ixx
calendar.cxx
  Data types that represent the given vocabulary and a set of parsing
  functions that convert XML instance documents to a tree-like in-memory
  data structure. These are generated by XSD from calendar.xsd with the
  --extern-xml-schema option in order to include xml-schema.hxx.

xml-schema-custom.hxx
  Header file which defines our own xml_schema::date class. It is
  included at the end of xml-schema.hxx using the --hxx-epilogue
  option.

xml-schema-custom.cxx
  Source file which contains the implementation of our xml_schema:date
  class.

driver.cxx
  Driver for the example. It first calls one of the parsing functions
  that constructs the in-memory representation from the input file. It
  then prints the calendar events to STDERR.

To run the example on the sample XML instance document simply execute:

$ ./driver calendar.xml
