Team 

Reinhard Cerny , Vienna University of Technology, Student
Peter Votruba, Vienna University of Technology, Institute of Software Technology and Interactive Systems, Information Engineering Group, Vienna, Austria
Silvia Miksch, Vienna University of Technology, Institute of Software Technology and Interactive Systems, Vienna, Austria

Contact Person  Reinhard Cerny
 
Project  XGA can be used to extend existing XML java implementations and work as a link between XML and DTD. Its aim was to give users and their documents a way to retrieve information about various XML elements without looking into the DTD itself.


Main Features:

  • Static information that is extracted directly from the DTD:
    • all elements declared in the DTD
    • all possible children of a specific element
    • information about attributes, such as default value, type, mode(required, implied or fixed)
  • Dynamic information that is processed at runtime for a specific XML element
    • allowed previous/next siblings
    • required/allowed attributes
    • can set an attribute
    • required/allowed first child if element has no children
    • can append another element
    • can be replaced by another element
    • can be removed
  • Validation of a single element or subtree of an element
  • Independent on the XML Parser or the XML-Object-Model (a DOM implementation is added in the API)
For more details, see the paper below.
 
Papers  Reinhard Cerny, XGA - XML Grammar API for JAVA
 
Downloads  XGA sources
XGA - JavaDocs
XGA - Manual
 
Images 
 

Internal tree representation of an XML content model, ( ( a, b) | ( c?, d, e?) | f+ )*
 
 
Related Work  DOM Level 3 Validation specification of the W3C
Oracles XML Development Kit , which implents core parts of the DOM Level 3 Validation specification of the W3C