
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: meta/syntax/relaxng/extracted
Source used for this grammar: jjc, RELAX NG for RELAX NG, relaxng.rng, 2002/05/30
pattern, grammar-content, include-content, start-element, define-element, combine-att, open-patterns, open-pattern, name-class, except-name-class, open-name-classes, open-name-class, common-atts, other, any), 1 root (pattern), 0 top (—), 0 bottom (—).[name] 7, [element], [attribute], [group], [interleave], [choice] 2, [optional], [zeroOrMore], [oneOrMore], [list], [mixed], [ref], [parentRef], [empty], [text], [type] 2, [value], [param], [except] 2, [data], [notAllowed], [href] 2, [externalRef], [grammar], [div] 2, [include], [start], [define], [combine], [anyName], [nsName], [ns], [datatypeLibrary].pattern ::= [element]::[name]::stringopen-name-class common-atts open-patterns [attribute]::common-atts [name]::stringopen-name-class other pattern [group]::common-atts open-patterns [interleave]::common-atts open-patterns [choice]::common-atts open-patterns [optional]::common-atts open-patterns [zeroOrMore]::common-atts open-patterns [oneOrMore]::common-atts open-patterns [list]::common-atts open-patterns [mixed]::common-atts open-patterns [ref]::[name]::string common-atts other [parentRef]::[name]::string common-atts other [empty]::common-atts other [text]::common-atts other [value]::[type]::string common-atts string [data]::[type]::string common-atts other [param]::[name]::string common-atts string [except]::common-atts open-patterns [notAllowed]::common-atts other [externalRef]::[href]::string common-atts other [grammar]::common-atts grammar-content
grammar-content ::= other start-elementdefine-element[div]::common-atts grammar-content[include]::[href]::string common-atts include-content
include-content ::= other start-elementdefine-element[div]::common-atts include-content
start-element ::= [start]::combine-att common-atts open-pattern
define-element ::= [define]::[name]::string combine-att common-atts open-patterns
combine-att ::= [combine]::"choice""interleave"
open-patterns ::=
other patternopen-pattern ::= other pattern
name-class ::= [name]::common-atts string [anyName]::common-atts except-name-class [nsName]::common-atts except-name-class [choice]::common-atts open-name-classes
except-name-class ::=
other [except]::open-name-classesopen-name-classes ::=
other name-classopen-name-class ::= other name-class
common-atts ::= [ns]::string [datatypeLibrary]::string α
other ::= αstringany
any ::= αstringany