balxml.txt @PURPOSE: Provide utility components for using XML and XSD. @MNEMONIC: Basic Application Library XML (balxml) @SEE_ALSO: a_xercesc, a_xml2 @DESCRIPTION: The 'balxml' package provides utilities for working with XML and XSD. Clients can use the components provided by 'balxml' for parsing and printing fundamental types, XML schema, and XML data documents. /Code Generation /--------------- The script 'code_from_xsd.pl' will automatically generate several components from the file 'balxml.xsd'. It will refuse to run in the 'balxml' source directory. Create a separate, temporary directory and copy 'balxml.xsd' and 'code_from_xsd.sh' into it, 'cd' into that directory, and run 'code_from_xsd.sh' there will no command-line arguments. Note that the 'balxml_encodingstyle' component will need hand-editing due to redundant, synonymous enum values. /Hierarchical Synopsis /--------------------- The 'balxml' package currently has 24 components having 6 levels of physical dependency. The list below shows the hierarchical ordering of the components. The order of components within each level is not architecturally significant, just alphabetical. .. 6. balxml_decoder balxml_encoder 5. balxml_formatter balxml_minireader balxml_utf8readerwrapper balxml_validatingreader 4. balxml_formatter_compactimpl !PRIVATE! balxml_formatter_prettyimpl !PRIVATE! balxml_reader balxml_typesparserutil 3. balxml_elementattribute balxml_typesprintutil 2. balxml_encoderoptions balxml_prefixstack 1. balxml_base64parser !DEPRECATED! balxml_configschema balxml_decoderoptions balxml_encodingstyle balxml_errorinfo balxml_formatterwhitespacetype balxml_hexparser balxml_listparser balxml_namespaceregistry balxml_util .. /Component Synopsis /------------------ : 'balxml_base64parser': !DEPRECATED! : Provide push parser for Base64 types. : : 'balxml_configschema': : Provide the service configuration schema : : 'balxml_decoder': : Provide a generic translation from XML into C++ objects. : : 'balxml_decoderoptions': : Provide value-semantic attribute classes : : 'balxml_elementattribute': : Provide the properties of an attribute in an XML element tag. : : 'balxml_encoder': : Provide an XML encoder utility. : : 'balxml_encoderoptions': : Provide value-semantic attribute classes : : 'balxml_encodingstyle': : Provide value-semantic attribute classes : : 'balxml_errorinfo': : Provide common error information for XML components. : : 'balxml_formatter': : Provide a simple interface for writing formatted XML. : : 'balxml_formatter_compactimpl': !PRIVATE! : Provide a minimal-whitespace implementation for 'balxml_formatter'. : : 'balxml_formatter_prettyimpl': !PRIVATE! : Provide pretty-printing implementation for 'balxml_formatter'. : : 'balxml_formatterwhitespacetype': : Enumerate the set of whitespace options for 'balxml_formatter'. : : 'balxml_hexparser': : Provide push parser for hex types. : : 'balxml_listparser': : Provide push parser for lists. : : 'balxml_minireader': : Provide light-weight implementation of 'balxml::Reader' protocol. : : 'balxml_namespaceregistry': : Provide a unique integer ID for each XML namespace. : : 'balxml_prefixstack': : Provide a unique integer ID for each XML namespace. : : 'balxml_reader': : Provide common reader protocol for parsing XML documents. : : 'balxml_typesparserutil': : Provide a utility for parsing types using XML formatting. : : 'balxml_typesprintutil': : Provide a utility for printing types using XML formatting. : : 'balxml_utf8readerwrapper': : Provide wrapper for 'Reader' to check input UTF-8 validity. : : 'balxml_util': : Provide a suite of common XML utilities. : : 'balxml_validatingreader': : Provide a common reader protocol for parsing and validating XML.