Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: xmlware/xsd/guyard/extracted
Source used for this grammar: Pierrick Guyard, XML Schema 1.0, XSchema.ecore
, 2005/07/06 [Atlantic]
String
, Integer
, Boolean
, AttributeUseType
, AnnotedElement
, Annotation
, Documentation
, ApplicationInfo
, NamedElement
, XSchema
, XSchemaContentElement
, Parameters
, Element
, Occurable
, AbstractContent
, Container
, AtomicContent
, ElementRef
, GroupRef
, All
, Group
, Choice
, Sequence
, AbstractAttributeGroupContent
, AttributeGroup
, AttributeGroupRef
, AtomicAttributeGroupContent
, Attribute
, AttributeRef
, AbstractType
, SimpleType
, ComplexType
, ComplexTypeSimpleContent
, ComplexTypeComplexContent
), 0 root (—), 4 top (Integer
, Boolean
, Annotation
, Occurable
), 0 bottom (—).[null]
, [optional]
, [prohibited]
, [required]
, [documentations]
, [applicationInfos]
, [annotedElement]
, [text]
2, [namespace]
, [contents]
5, [references]
4, [referencedElement]
, [referencedGroup]
, [referencedAttributeGroup]
, [use]
, [referencedAttribute]
, [extensions]
2, [content]
, [attributes]
, [base]
2.String ::= string
Integer ::= integer
Boolean ::= "true" "false"
AttributeUseType ::= [null]::ε [optional]::ε [prohibited]::ε [required]::ε
AnnotedElement ::= NamedElement
AnnotedElement ::= XSchema
Annotation ::= [documentations]::Documentation[applicationInfos]::ApplicationInfo [annotedElement]::AnnotedElement
Documentation ::= [text]::String
ApplicationInfo ::= [text]::String
NamedElement ::= XSchemaContentElement
XSchema ::=
[namespace]::String [contents]::XSchemaContentElement
XSchemaContentElement ::= Parameters
XSchemaContentElement ::= AbstractType
XSchemaContentElement ::= Group
XSchemaContentElement ::= AttributeGroup
Parameters ::= Element
Parameters ::= Attribute
Element ::=
[references]::ElementRef
Occurable ::= AbstractContent
Occurable ::= AbstractAttributeGroupContent
AbstractContent ::= Container
AbstractContent ::= AtomicContent
Container ::= All
Container ::= Choice
Container ::= Sequence
Container ::= Group
AtomicContent ::= ElementRef
AtomicContent ::= GroupRef
AtomicContent ::= Element
ElementRef ::= [referencedElement]::Element
GroupRef ::= [referencedGroup]::Group
All ::=
[contents]::AbstractContent
Group ::=
[references]::GroupRef
Choice ::=
[contents]::AbstractContent
Sequence ::=
[contents]::AbstractContent
AbstractAttributeGroupContent ::= AtomicAttributeGroupContent
AbstractAttributeGroupContent ::= AttributeGroup
AttributeGroup ::= [contents]::AbstractAttributeGroupContent[references]::AttributeGroupRef
AttributeGroupRef ::= [referencedAttributeGroup]::AttributeGroup
AtomicAttributeGroupContent ::= AttributeGroupRef
AtomicAttributeGroupContent ::= AttributeRef
AtomicAttributeGroupContent ::= Attribute
Attribute ::=
[use]::AttributeUseType [references]::AttributeRef
AttributeRef ::= [referencedAttribute]::Attribute
AbstractType ::= SimpleType
AbstractType ::= ComplexType
SimpleType ::=
[extensions]::ComplexTypeSimpleContent
ComplexType ::= ComplexTypeSimpleContent
ComplexType ::= ComplexTypeComplexContent
ComplexType ::= [extensions]::ComplexTypeComplexContent[content]::AbstractContent [attributes]::AbstractAttributeGroupContent
ComplexTypeSimpleContent ::= [base]::SimpleType
ComplexTypeComplexContent ::= [base]::ComplexType