SwNodesBNF

From Apache OpenOffice Wiki
Revision as of 15:27, 16 November 2007 by Ama (talk | contribs) (→‎SwNodes)
Jump to: navigation, search

SwNodes

Let us describe a "well-formed" SwNodes array of a Writer document in Backus-Naur form.

There are the following node types used as "terminal" symbols:

StartNd = SwNormalStartNode
EndNd = SwEndNode
TextNd = SwTxtNode
GraphicNd = SwGrfNode
OLENd = SwOLENode
TableNd = SwTableNode
SectionNd = SwSectionNode
CellNd = SwTableBoxStartNode
FlyNd = SwFlyStartNode
FootnoteNd = SwFootnoteStartNode
HeaderNd = SwHeaderStartNode
FooterNd = SwFooterStartNode

<Document> ::= <Empty> <Footnote content> <Special content> <Change tracking> <Body content>

<Empty> ::= StartNd EndNd

<Body content> ::= StartNd <Content> EndNd

<Content> ::= TextNd | <'Table> | <Section> | <Content> <Content>

<'Table> ::= TableNd <Cells> EndNd

<Cells> ::= <Cell> | <Cell> <Cells>

<Cell> ::= CellNd <Content> EndNd

<Section> ::= SectionNd <Content> EndNd

<Special content> ::= <Empty> | StartNd <Special> EndNd

<Special> ::= <Special> <Special> | HeaderNd <Content> EndNd | FooterNd <Content> EndNd | FlyNd <Fly content> EndNd

<Fly content> ::= OLENd | GraphicNd | <Content>

<Footnote content> ::= <Empty> | StartNd <Footnotes> EndNd

<Footnotes> ::= <Footnote> | >Footnote> <Footnotes>

<Footnote> ::= FootnoteNd <Content> EndNd

<Change tracking> ::= <Empty> | StartNd <Changes> EndNd

<Changes> ::= <Body content> | <Changes> <Changes>

Personal tools