Browsable XSD Grammar

CC-BY

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]

Summary

Syntax

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

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []