Skip to content
Snippets Groups Projects
xmlschema.ast 2.45 KiB
Newer Older
// -*-Java-*-

 
Anders Nilsson's avatar
Anders Nilsson committed
// Copyright (C) 2007  Anders Nilsson <anders.nilsson@cs.lth.se>
Anders Nilsson's avatar
Anders Nilsson committed
// This file is part of XmlSchemaCompiler.


Start ::= Specification;

Anders Nilsson's avatar
Anders Nilsson committed
Specification ::= XmlHeader XsSchema;

XmlHeader ::= Attribute*;

abstract Element;
abstract ComplexElement : Element ::= Attribute* Element*;

XsAnnotation     : ComplexElement;
Anders Nilsson's avatar
Anders Nilsson committed
XsAppinfo        : ComplexElement;
XsAttribute      : ComplexElement;
XsAttributeGroup : ComplexElement;
XsChoice         : ComplexElement;
Anders Nilsson's avatar
Anders Nilsson committed
XsComplexContent : ComplexElement;
XsComplexType    : ComplexElement;
XsDocumentation  : ComplexElement;
XsElement        : ComplexElement;
Anders Nilsson's avatar
Anders Nilsson committed
XsEnumeration    : ComplexElement;
XsExtension      : ComplexElement;
XsGroup          : ComplexElement;
XsInclude        : ComplexElement;
Anders Nilsson's avatar
Anders Nilsson committed
XsList           : ComplexElement;
XsMaxInclusive   : ComplexElement;
XsMinInclusive   : ComplexElement;
XsMinExclusive   : ComplexElement;
Anders Nilsson's avatar
Anders Nilsson committed
XsMinLength      : ComplexElement;
XsPattern        : ComplexElement;
XsRestriction    : ComplexElement;
XsSequence       : ComplexElement;
XsSimpleType     : ComplexElement;
XsSchema         : ComplexElement;
Anders Nilsson's avatar
Anders Nilsson committed
XsWhiteSpace     : ComplexElement;


abstract SimpleElement : Element;
StringElement : SimpleElement ::= <STRING>;
CDataElement : SimpleElement ::= <STRING>;
IntElement : SimpleElement ::= <INTEGER_LITERAL>;
FloatElement : SimpleElement ::= <FLOAT_LITERAL>;

Anders Nilsson's avatar
Anders Nilsson committed
abstract Attribute ::= AttValue;
Abstract             : Attribute;
AttributeFormDefault : Attribute;
Base                 : Attribute;
Anders Nilsson's avatar
Anders Nilsson committed
Default              : Attribute;
ElementFormDefault   : Attribute;
Encoding             : Attribute;
Fixed                : Attribute;
Anders Nilsson's avatar
Anders Nilsson committed
ItemType             : Attribute;
MinOccurs            : Attribute;
MaxOccurs            : Attribute;
Mixed                : Attribute;
Name                 : Attribute;
Ref                  : Attribute;
Source               : Attribute;
SchemaLocation       : Attribute;
Anders Nilsson's avatar
Anders Nilsson committed
Type                 : Attribute;
Use                  : Attribute;
Anders Nilsson's avatar
Anders Nilsson committed
Value                : Attribute;
Version              : Attribute;
XmlnsXs              : Attribute;

// DiscardedElement : Element ::= Identifier Attribute* Element*;

Anders Nilsson's avatar
Anders Nilsson committed
AttValue ::= <STRING_LITERAL>;
// Identifier ::= <IDENTIFIER>;

// // Types used by rewrite rules
// abstract OClass : ComplexElement ::= <Id:String>;
// OwlClassDecl : OClass;
// OwlClassUse : OClass;

// abstract OwlValuesFrom: ComplexElement;


// Properties ::= Property:Element*;
// Restrictions ::= OwlRestriction*;

// abstract OwlProperty : ComplexElement;