Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

package xmlUtil

This package provides services for manipulating certain generic xml elements. At this time these include elements for describing constants and arithmetic (<prim>, <mul>, etc.) and those having to do with recording the genesis of an xml file (<source>).

The DocMan class and the derived class GDDDocMan facilitate sharing of a single XML document among several clients. Clients can sign up to be called back when an element of a particular type is encountered. DocMan itself is responsible for parsing the file and managing the resources this requires. GDDDocMan "knows" about constants; it provides the additional service of evaluating and substituting for constants before any client handlers are invoked.

This package also provides classes for representing and manipulating identifier dictionaries and identifier conversions. An identifier logically consists of a sequence of (name,value) pairs in which the value is a non-negative integer. An identifier dictionary is a means of specifying constraints on a collection of Identifiers in such a way that

An identifier conversion is a list of operations defined on a subcollection of identifiers from a dictionary, transforming them to a new collection of identifiers (not necessarily belonging to the same dictionary). An id converter is a group of compatible identifier conversions.

These elements (for arithmetic, identifiers, etc.) are described in gdd.dtd, the dtd describing generic geometry, hence that file and the xml files using it are also kept in this package. When xml namespaces become usable with a c++ parser it would be preferable to split off the utility elements into their own namespace(s).

In addition to several test program, this facility includes stand-alone programs to automatically generate special-purpose xml files from an initial file describing an instrument.

See release.notes for recent activity.


requirements

# $Header: /nfs/slac/g/glast/ground/cvs/xmlUtil/cmt/requirements,v 1.16 2002/09/13 23:58:42 jrb Exp $
package xmlUtil
version v2r8p3

use facilities v2r*
use xml        v4r*
use XMLEXT     v2r*
use GlastPolicy  v4r*
use xmlGeoDbs   v1r*

include_dirs "${XMLUTILROOT}"

path_append LD_LIBRARY_PATH "${xmlUtilDir}"

apply_pattern package_linkopts
apply_pattern package_headers
apply_pattern package_xmlfiles

library xmlUtil ${xmlUtil_headers}  \
     Arith.cxx            \
     Substitute.cxx       \
     Constants.cxx        \
     Source.cxx           \
     id/DictConstraints.cxx  \
     id/DictField.cxx        \
     id/DictFieldMan.cxx     \
     id/DictNode.cxx         \
     id/DictValidVisitor.cxx \
     id/IdConversion.cxx     \
     id/IdConverter.cxx      \
     id/IdDict.cxx           \
     id/IdDictMan.cxx        \
     id/Identifier.cxx       \
     id/IdOpCompress.cxx     \
     id/IdOpTruncate.cxx     \
     id/IdOperation.cxx       \
     id/NamedId.cxx          \
     id/IdKey.cxx            \
     docMan/GDDDocMan.cxx    \
     ${xmlUtil_xmlfiles} 

private
apply_pattern package_shlibflags


application eval eval.cxx 

application forProg makeXmlForProg.cxx 

application forDoc makeXmlForDoc.cxx 
application testId id/testId.cxx
application testDocMan docMan/*.cxx
application testKey id/testKey.cxx id/IdKey.cxx


Generated on Wed Oct 16 14:02:47 2002 by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001