
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: doc/office/wordprocessingml/simplified/extracted
Source used for this grammar: Hugo Brunelière, WordprocessingMLSimplified 1.2, MSOfficeWord_WordprocessingMLSimplified.ecore, 2005/07/01
Integer, String, Boolean, StringProperty, StringType, BreakType, NoteValue, OnOffType, FldCharTypeProperty, WordDocument, BodyElt, BlockLevelElt, BlockLevelChunkElt, ParaElt, ParaContentElt, RunElt, RunContentElt, BreakElt, Text, DelText, InstrText, DelInstrText, NoBreakHyphen, SoftHyphen, AnnotationRef, FootnoteRef, EndnoteRef, Separator, ContinuationSeparator, PgNum, Cr, Footnote, Endnote, NoteElt, Picture, Symbol, SymElt, Tab, FldChar, FldCharElt), 0 root (—), 5 top (Integer, Boolean, NoteElt, SymElt, FldCharElt), 0 bottom (—).[val] 6, [bt_page], [bt_column], [bt_text_wrapping], [ftn_normal], [ftn_separator], [ftn_continuation_separator], [ftn_continuation_notice], [oot_on], [oot_off], [fctp_begin], [fctp_separate], [fctp_end], [ignoreSubtree], [ignoreElements], [body], [be_wordDocument], [blockLevelElts], [pContentElts], [rContentElts], [type] 3, [rce_rElt] 19, [n_blockLevelElts] 2, [suppressRef] 2, [font] 2, [char] 2, [fldData] 2, [fldCharType] 2, [fldLock] 2.Integer ::= integer
String ::= string
Boolean ::= "true" "false"
StringProperty ::= [val]::String
StringType ::= StringProperty
StringType ::= Text
StringType ::= DelText
StringType ::= InstrText
StringType ::= DelInstrText
StringType ::= [val]::String
BreakType ::= [bt_page]::ε [bt_column]::ε [bt_text_wrapping]::ε
NoteValue ::= [ftn_normal]::ε [ftn_separator]::ε [ftn_continuation_separator]::ε [ftn_continuation_notice]::ε
OnOffType ::= [oot_on]::ε [oot_off]::ε
FldCharTypeProperty ::= [fctp_begin]::ε [fctp_separate]::ε [fctp_end]::ε
WordDocument ::= [ignoreSubtree]::StringProperty [ignoreElements]::StringProperty [body]::BodyElt
BodyElt ::=
[be_wordDocument]::WordDocument [blockLevelElts]::BlockLevelEltBlockLevelElt ::= BlockLevelChunkElt
BlockLevelChunkElt ::= ParaElt
ParaElt ::=
[pContentElts]::ParaContentEltParaContentElt ::= RunElt
RunElt ::=
[rContentElts]::RunContentEltRunContentElt ::= BreakElt
RunContentElt ::= NoBreakHyphen
RunContentElt ::= SoftHyphen
RunContentElt ::= AnnotationRef
RunContentElt ::= FootnoteRef
RunContentElt ::= EndnoteRef
RunContentElt ::= Separator
RunContentElt ::= ContinuationSeparator
RunContentElt ::= PgNum
RunContentElt ::= Cr
RunContentElt ::= Picture
RunContentElt ::= Tab
RunContentElt ::= Text
RunContentElt ::= DelText
RunContentElt ::= InstrText
RunContentElt ::= DelInstrText
RunContentElt ::= Footnote
RunContentElt ::= Endnote
RunContentElt ::= Symbol
RunContentElt ::= FldChar
BreakElt ::= [type]::BreakType
Text ::= [rce_rElt]::RunElt [val]::String
DelText ::= [rce_rElt]::RunElt [val]::String
InstrText ::= [rce_rElt]::RunElt [val]::String
DelInstrText ::= [rce_rElt]::RunElt [val]::String
NoBreakHyphen ::= [rce_rElt]::RunElt
SoftHyphen ::= [rce_rElt]::RunElt
AnnotationRef ::= [rce_rElt]::RunElt
FootnoteRef ::= [rce_rElt]::RunElt
EndnoteRef ::= [rce_rElt]::RunElt
Separator ::= [rce_rElt]::RunElt
ContinuationSeparator ::= [rce_rElt]::RunElt
PgNum ::= [rce_rElt]::RunElt
Cr ::= [rce_rElt]::RunElt
Footnote ::=
[rce_rElt]::RunElt [n_blockLevelElts]::BlockLevelElt [type]::NoteValue [suppressRef]::OnOffTypeEndnote ::=
[rce_rElt]::RunElt [n_blockLevelElts]::BlockLevelElt [type]::NoteValue [suppressRef]::OnOffTypeNoteElt ::= Footnote
NoteElt ::= Endnote
Picture ::= [rce_rElt]::RunElt
Symbol ::= [rce_rElt]::RunElt [font]::StringType [char]::StringType
SymElt ::= Symbol
SymElt ::= [font]::StringType [char]::StringType
Tab ::= [rce_rElt]::RunElt
FldChar ::= [rce_rElt]::RunElt [fldData]::StringType [fldCharType]::FldCharTypeProperty [fldLock]::OnOffType
FldCharElt ::= FldChar
FldCharElt ::= [fldData]::StringType [fldCharType]::FldCharTypeProperty [fldLock]::OnOffType