// -*-Java-*- // Copyright (C) 2007,2008,2009 Anders Nilsson <anders.nilsson@cs.lth.se> // // This file is part of XMLSchemaCompiler. // // XMLSchemaCompiler is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // XMLSchemaCompiler is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with XMLSchemaCompiler. If not, see <http://www.gnu.org/licenses/>. Start ::= Specification; Specification ::= XmlHeader XsSchema; XmlHeader ::= Attribute*; abstract Element; abstract ComplexElement : Element ::= Attribute* Element*; XsAll : ComplexElement; XsAnnotation : ComplexElement; XsAny : ComplexElement; XsAnyAttribute : ComplexElement; XsAppinfo : ComplexElement; XsAttribute : ComplexElement; XsAttributeGroup : ComplexElement; XsChoice : ComplexElement; XsComplexContent : ComplexElement; XsComplexType : ComplexElement; XsDocumentation : ComplexElement; XsElement : ComplexElement; XsEnumeration : ComplexElement; XsExtension : ComplexElement; XsGroup : ComplexElement; XsInclude : ComplexElement; XsList : ComplexElement; XsMaxInclusive : ComplexElement; XsMinInclusive : ComplexElement; XsMinExclusive : ComplexElement; XsMaxLength : ComplexElement; XsMinLength : ComplexElement; XsPattern : ComplexElement; XsRestriction : ComplexElement; XsSequence : ComplexElement; XsSimpleContent : ComplexElement; XsSimpleType : ComplexElement; XsSchema : ComplexElement; XsWhiteSpace : ComplexElement; abstract SimpleElement : Element; StringElement : SimpleElement ::= <STRING>; CDataElement : SimpleElement ::= <STRING>; IntElement : SimpleElement ::= <INTEGER_LITERAL>; FloatElement : SimpleElement ::= <FLOAT_LITERAL>; abstract Attribute ::= AttValue; Abstract : Attribute; AttributeFormDefault : Attribute; Base : Attribute; Default : Attribute; ElementFormDefault : Attribute; Encoding : Attribute; Fixed : Attribute; ItemType : Attribute; MinOccurs : Attribute; MaxOccurs : Attribute; Mixed : Attribute; Name : Attribute; Namespace : Attribute; ProcessContents : Attribute; Ref : Attribute; Source : Attribute; SchemaLocation : Attribute; Standalone : Attribute; TargetNamespace : Attribute; Type : Attribute; Use : Attribute; Value : Attribute; Version : Attribute; Xmlns : Attribute; XmlnsXs : Attribute; XmlnsScxml : Attribute; // DiscardedElement : Element ::= Identifier Attribute* Element*; 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;