Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: xmlware/xsd/tennison/extracted
Source used for this grammar: Jeni Tennison, RELAX NG schema for XML Schema, 12 Oct 2010 [Source]
openAttrs
, annotated
, schemaTop
, redefinable
, formChoice
, reducedDerivationControl
, derivationSet
, allNNI
, occurs
, typeDefParticle
, nestedParticle
, fixedOrDefault
, attributeType
, localAttribute
, topLevelAttribute
, attrDecls
, anyAttribute
, complexTypeModel
, complexType
, topLevelComplexType
, localComplexType
, complexRestriction
, extensionType
, complexExtension
, complexContent
, simpleRestriction
, simpleExtension
, simpleContent
, blockSet
, element
, topLevelElement
, localElement
, namedGroup
, groupRef
, explicitGroup
, simpleExplicitGroup
, allModel
, all
, choice
, sequence
, wildcard
, any
, namedAttributeGroup
, attributeGroupRef
, include
, redefine
, import
, importRequiredNamespace
, importOptionalNamespace
, selector
, field
, keybase
, identityConstraint
, unique
, key
, keyref
, notation
, appinfoContent
, anyContent
, appinfo
, documentationContent
, documentation
, annotation
, simpleDerivation
, simpleDerivationSet
, simpleType
, topLevelSimpleType
, localSimpleType
, rangeFacets
, digitFacets
, lengthFacets
, commonFacets
, simpleRestrictionModel
, list
, union
, facet
, noFixedFacet
, rangeFacet
, minExclusive
, minInclusive
, maxExclusive
, maxInclusive
, numFacet
, totalDigits
, fractionDigits
, length
, minLength
, maxLength
, enumeration
, whiteSpace
, whiteSpaceReplaceOrCollapse
, whiteSpaceCollapse
, pattern
), 0 root (—), 5 top (schemaTop
, include
, redefine
, importRequiredNamespace
, importOptionalNamespace
), 0 bottom (—).[id]
3, [minOccurs]
3, [maxOccurs]
3, [fixed]
2, [default]
, [type]
2, [use]
, [ref]
5, [name]
11, [form]
3, [attribute]
2, [anyAttribute]
, [mixed]
2, [abstract]
2, [block]
2, [final]
3, [complexType]
2, [base]
10, [restriction]
2, [extension]
2, [complexContent]
, [simpleContent]
, [nillable]
, [substitutionGroup]
, [element]
3, [all]
2, [choice]
2, [sequence]
2, [group]
2, [namespace]
3, [processContents]
, [any]
, [attributeGroup]
2, [schemaLocation]
3, [include]
, [redefine]
, [import]
2, [xpath]
2, [selector]
, [field]
, [unique]
, [key]
, [refer]
, [keyref]
, [public]
, [system]
, [notation]
, [source]
2, [appinfo]
, [xml:lang]
, [documentation]
, [annotation]
, [simpleType]
2, [itemType]
, [list]
, [memberTypes]
2, [union]
, [value]
7, [minExclusive]
, [minInclusive]
, [maxExclusive]
, [maxInclusive]
, [totalDigits]
, [fractionDigits]
, [length]
, [minLength]
, [maxLength]
, [enumeration]
, [whiteSpace]
3, [pattern]
.openAttrs ::=
string
annotated ::= openAttrs [id]::stringannotation
schemaTop ::= redefinable topLevelElement topLevelAttribute notation
redefinable ::= topLevelSimpleType topLevelComplexType namedGroup namedAttributeGroup
formChoice ::= "qualified" "unqualified"
reducedDerivationControl ::= "extension""restriction"
derivationSet ::=
"#all"
reducedDerivationControl
allNNI ::=
integer
"unbounded"
occurs ::=[minOccurs]::integer [maxOccurs]::allNNI
typeDefParticle ::= groupRef all choice sequence
nestedParticle ::= localElement groupRef choice sequence any
fixedOrDefault ::= ε [fixed]::string [default]::string
attributeType ::= ε [type]::string localSimpleType
localAttribute ::= [attribute]::"optional""prohibited""required" fixedOrDefault [ref]::string [name]::string [form]::formChoice attributeTypeannotated [use]::
topLevelAttribute ::= [attribute]::annotated [name]::string fixedOrDefault attributeType
attrDecls ::=localAttribute attributeGroupRef anyAttribute
anyAttribute ::= [anyAttribute]::wildcard
complexTypeModel ::= simpleContent [mixed]::"true""false" complexContent typeDefParticle attrDecls
complexType ::= annotated complexTypeModel
topLevelComplexType ::= [complexType]::"true""false" [block]::derivationSet [final]::derivationSetcomplexType [name]::string [abstract]::
localComplexType ::= [complexType]::complexType
complexRestriction ::= [restriction]::annotated [base]::string typeDefParticle attrDecls
extensionType ::= annotated [base]::string
complexExtension ::= [extension]::extensionType typeDefParticle attrDecls
complexContent ::= [complexContent]::"true""false" complexRestriction complexExtensionannotated [mixed]::
simpleRestriction ::= [restriction]::annotated simpleRestrictionModel attrDecls
simpleExtension ::= [extension]::extensionType attrDecls
simpleContent ::= [simpleContent]::annotated simpleRestriction simpleExtension
blockSet ::= "#all" "extension""restriction""substitution"
element ::= annotated fixedOrDefault "true""false" [block]::blockSet ε [type]::string localSimpleType localComplexType identityConstraint[nillable]::
topLevelElement ::= [element]::"true""false" [final]::derivationSetelement [name]::string [substitutionGroup]::string [abstract]::
localElement ::= [element]::occurs [ref]::string element [name]::string [form]::formChoice
namedGroup ::= [group]::annotated [name]::string [all]::allModel [choice]::simpleExplicitGroup [sequence]::simpleExplicitGroup
groupRef ::= [group]::annotated occurs [ref]::string
explicitGroup ::=
annotated occurs nestedParticle
simpleExplicitGroup ::=
annotated nestedParticle
allModel ::= annotated [element]::"0""1" [maxOccurs]::"0""1" [ref]::string element [name]::string [form]::formChoice[minOccurs]::
all ::= [all]::"0""1" [maxOccurs]::"1"allModel [minOccurs]::
choice ::= [choice]::explicitGroup
sequence ::= [sequence]::explicitGroup
wildcard ::= annotated "##any""##other" string"##targetNamespace""##local" [processContents]::"lax""skip""strict"[namespace]::
any ::= [any]::wildcard occurs
namedAttributeGroup ::= [attributeGroup]::annotated [name]::string attrDecls
attributeGroupRef ::= [attributeGroup]::annotated [ref]::string
include ::= [include]::annotated [schemaLocation]::string
redefine ::= [redefine]::openAttrs [id]::string [schemaLocation]::string annotation redefinable
import ::=
annotated [schemaLocation]::string
importRequiredNamespace ::= [import]::import [namespace]::string
importOptionalNamespace ::= [import]::import [namespace]::string
selector ::= [selector]::annotated [xpath]::string
field ::= [field]::annotated [xpath]::string
keybase ::=
annotated [name]::string selector field
identityConstraint ::= unique key keyref
unique ::= [unique]::keybase
key ::= [key]::keybase
keyref ::= [keyref]::keybase [refer]::string
notation ::= [notation]::annotated [name]::string [public]::string [system]::string
appinfoContent ::= anyContent
anyContent ::=string α anyContent
appinfo ::= [appinfo]::[source]::string appinfoContent
documentationContent ::= anyContent
documentation ::= [documentation]::[source]::string [xml:lang]::string documentationContent
annotation ::= [annotation]::openAttrs [id]::string documentation appinfo
simpleDerivation ::= simpleRestriction list union
simpleDerivationSet ::= "#all" "list""union""restriction"
simpleType ::= annotated simpleDerivation
topLevelSimpleType ::= [simpleType]::simpleType [name]::string [final]::simpleDerivationSet
localSimpleType ::= [simpleType]::simpleType
rangeFacets ::=minExclusive minInclusive maxExclusive maxInclusive
digitFacets ::= totalDigitsfractionDigits
lengthFacets ::= length minLengthmaxLength
commonFacets ::= enumerationwhiteSpaceCollapse pattern
simpleRestrictionModel ::= [base]::"xs:anySimpleType" rangeFacets digitFacets lengthFacets whiteSpace enumeration pattern [base]::"xs:string" lengthFacets whiteSpace enumeration pattern [base]::"xs:normalizedString" lengthFacets whiteSpaceReplaceOrCollapse enumeration pattern [base]::"xs:token""xs:language""xs:Name""xs:NCName""xs:ID""xs:IDREF""xs:IDREFS""xs:NMTOKEN""xs:NMTOKENS""xs:ENTITY""xs:ENTITIES""xs:hexBinary""xs:base64Binary""xs:anyURI""xs:QName""xs:NOTATION" lengthFacets commonFacets [base]::"xs:boolean" whiteSpaceCollapse pattern [base]::"xs:decimal""xs:integer""xs:nonPositiveInteger""xs:nonNegativeInteger""xs:positiveInteger""xs:negativeInteger""xs:unsignedLong""xs:unsignedInt""xs:unsignedShort""xs:unsignedByte""xs:long""xs:int""xs:short""xs:byte" digitFacets rangeFacets commonFacets [base]::"xs:float""xs:double""xs:duration""xs:dateTime""xs:time""xs:date""xs:gYearMonth""xs:gYear""xs:gMonthDay""xs:gMonth""xs:gDay" rangeFacets commonFacets [base]::string localSimpleType rangeFacets digitFacets lengthFacets whiteSpace enumeration pattern
list ::= [list]::annotated localSimpleType [itemType]::string
union ::= [union]::annotated [memberTypes]::string localSimpleType [memberTypes]::ε localSimpleType
facet ::= annotated [fixed]::"true""false"
noFixedFacet ::= annotated [value]::string
rangeFacet ::= facet [value]::"UNKNOWN data"integer string
minExclusive ::= [minExclusive]::rangeFacet
minInclusive ::= [minInclusive]::rangeFacet
maxExclusive ::= [maxExclusive]::rangeFacet
maxInclusive ::= [maxInclusive]::rangeFacet
numFacet ::= facet [value]::integer
totalDigits ::= [totalDigits]::facet [value]::integer
fractionDigits ::= [fractionDigits]::numFacet
length ::= [length]::numFacet
minLength ::= [minLength]::numFacet
maxLength ::= [maxLength]::numFacet
enumeration ::= [enumeration]::noFixedFacet
whiteSpace ::= [whiteSpace]::"preserve""replace""collapse"facet [value]::
whiteSpaceReplaceOrCollapse ::= [whiteSpace]::"replace""collapse"facet [value]::
whiteSpaceCollapse ::= [whiteSpace]::"collapse"facet [value]::
pattern ::= [pattern]::noFixedFacet