...
- processing instructions
- die on error
- only process volumes to level X of hierarchy
- enabling/disabling extensions
- partial read/write
- most subscribers can be used standalone for expressions library, solid database, material database, etc.
- certain volumes in hierarchy e.g. MySubsys and all its daughters
- to depth X in volume hierarchy
- specific container elements, e.g. define, solid, etc.
- support for XML Catalog
- GDML Savannah Items
- file inclusion and referencing
- xs:include (e.g. preprocessor)
- inter-file reference, ex - <materialref ref="MyMaterials.gdml#Flubber"/>
- XLink
- one file containing multiple GDML elements
- remove requirement of a "world volume"
- remove requirement for a "setup" element
- which world volume to use should be specifiable as an external entity not within the current "gdml" tag
- Java bindings
- Julius Hrinivac's GDML Java classes and look at inclusion in GDML CVS, usage in org.lcsim
- formal extension mechanism
- register my "package" of processors and subscribers (for new elements)
- register my new schema
- register a new processor and/or subscriber
- replace an existing processor (only one processor per element type)
- replace an existing subscriber
- put a new subscriber "behind" or "in-front" of some other subscriber
- declare dependencies among subscribers
- ex - volume subscriber requires all the other ones
- merge different GDML files into one logical file, combining their container sections
- common materials, elements include file (mostly for compact description) (see GeomConverter)
- XSLT
- extract the valid GDML from an LCDD file by stripping out LCDD's refs (sdref, etc.)
- transform to VRML or other 3D format
- make HTML page
- summaries: #defines, # materials, #solids, # volumes, etc.
- display volumes in tree view with links back to their solids/materials
- AGDD features
- arrays
- iterators
...