There are two primary structures in an FX document:
A page template pattern
A Content Block template pattern
Content Blocks are defined into common grammar groups with common or similar properties by document usage, or document type. This is a very important part of the FX method and vocabulary control. These foundation group selectors ultimately define any document.
The power of this approach system is that any of these can be "dropped" into any galley flow and will always be correctly structurally. They can be constructed independently, exist independently and be used or reused instantly in any document. With an XHTML declaration and galley wrapper they can be delivered in any online, mobile or eBook context instantly.
The current primary group selectors termed the foundation Content Objects are:
This is extended by genre Content Objects to handle the structure and presentation of special content forms within any foundation document. Whereas the foundation Content Objects are regarded as static, this list can be extended and customized very easily with full control.
Note that special content forms such as poetry, drama, equations and questions and answers have been given the value of a primary Content Block selector. These are generally referred to as genre content blocks due to the very specific nature of the content they handle. They are of structural significance in their own right and do not fall into the concept of a standard text oriented document. This is one of the most useful properties of FX, its ability to consistently extend to any type of content without redefining a constraining DTD.
FX is a controlled vocabulary, that is its power. This list can be extended at any time and IGP retain the right to control the master list. But the concepts can be applied and extended in any organization that has the ability to apply the control the selector maintenance rules. That means IGP:FoundationXHTML is truely a foundation and specific publisher requirements can be easily created.
From a retrodigitization perspective, content blocks are already "in the flow" and can also in the middle of paragraphs and flow across multiple pages. From an XML structural perspective retrodigitized content cannot always be reconstructed exactly like the paper parents without significantly destroying their future value. Therefore some reinterpretation and shifting of content is sometimes required.
When blocks occur in the middle of a paragraph (for example the block was floated to the top of the page and the galley text flows past it), the block ha out of the paragraph and leave a well-formed and valid marker where its original position was. This is an insertion-point marker. This is similar to the notes strategy to ensure the product can be rebuilt to the original content positions and be ready for reflow and harvesting.
It has to be understood that due to the infinite variety of content not every situation can be determined in advance, expecially with highly formatted documents such as text-books, and illustrated instructional or informative text.
The primary default named blocks are classified into groups based on their general styling requirements:
General inline text blocks. (Structural class block-rw) These generally occupy the galley width and are separated from the flow by space above, below and possibly indenting left and right. They may also have different decoration and internal text inherited properties.
Images and Media. (Structural class media-rw) These include figures, illustrations, maps, and general images and have optionally a numbered structure. Text may flow around them and they may be aligned left, right and center. They may also have width properties.
To retain the original and exact position of a block tagged from retrodigitization content, an insertion marker can be put into the flow. This is by nature a span statement that refers to the ID of the target block. If the ID is not known, the block must be immediately after the paragraph into which the insertion marker is placed.
********** <span class="pi-insertion-rw” idref="block-ID”></span> **********
Where it is not inside paragraph or other content the span class statement can be inside a paragraph.
********** <p><span class="pi-insertion” tid="block-ID”></span></p> **********