Difference between revisions of "SwNodesBNF"
m (→SwNodes) |
|||
Line 36: | Line 36: | ||
<Special content> ::= <Empty> | StartNd <Special> EndNd | <Special content> ::= <Empty> | StartNd <Special> EndNd | ||
− | <Special> ::= <Special> | + | <Special> ::= <Special> <Special> | HeaderNd <Content> EndNd | FooterNd <Content> EndNd | FlyNd <Fly content> EndNd |
<Fly content> ::= OLENd | GraphicNd | <Content> | <Fly content> ::= OLENd | GraphicNd | <Content> |
Revision as of 15:27, 16 November 2007
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>