Yves Marcoux - Balisage 2008 Graph characterization of overlap-only TexMECS and other overlapping markup formalisms I should have 33 minutes of presentation and 12 minutes of questions MLCD Yves MARCOUX GRDS – EBSI Université de Montréal Visiting researcher Universitetet i Bergen Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Overview of the talk Graph representations of structured documents Overlap, in markup and structure OO-TexMECS (N.B.: Overlap-Only ;-) Node-ordered DAGs (noDAGs) Results and consequences Future work Yves Marcoux - Balisage 2008
1. Graph representations of structured documents Yves Marcoux - Balisage 2008
Embedding in markup Û Child-parent in tree XML document = tree top <top> <a> <b/> </a> <c/> </top> Û a c b CORRESPONDENCE Embedding in markup Û Child-parent in tree Yves Marcoux - Balisage 2008
Any tree an XML document top <top> <a> <b/> </a> <c/> </top> Û a c b Yves Marcoux - Balisage 2008
Any tree an XML document top <top> <a> <b/> <d><e/></d> </a> <c/> </top> Û a c b d NOTE: DIRECTED ARROWS & ORDER Reasoning in terms of trees is the same as reasoning in terms of well-formed XML documents e Perfect isomorphism ! Yves Marcoux - Balisage 2008
Document Object Models DOMs are essentially graph representations of structured documents "Patched" for attributes, namespaces, etc. DOM manipulations = graph modifications It suffices to make sure that the graph remains a tree Yves Marcoux - Balisage 2008
2. Overlap, in markup and structure Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Problem of overlap In real life (outside of XML documents!), information is often not purely hierarchical Classical examples: verse structure vs sentence structure speech structure vs line structure In general: multiple structures applied (at least in part) to same contents SPECIALLY: MULTIPLE POINTS OF VIEW ON SAME INFO Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Overlap Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Two views of overlap Geometric view: overlapping markup Common contents view: non-tree graph structure Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Example (markup) (Peer) Hvorfor bande? (Åse) Tvi, du tør ej! Alt ihob er tøv og tant! <vers> <peer>Hvorfor bande?</peer><åse>Tvi, du tør ej! </vers> <vers> Alt ihob er tøv og tant!</åse> </vers> Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Example (graph) (Peer) Hvorfor bande? (Åse) Tvi, du tør ej! Alt ihob er tøv og tant! vers vers åse peer Hvorfor bande? Tvi, du tør ej! Alt ihob er tøv og tant! Yves Marcoux - Balisage 2008
Embedding Child-parent <vers> <peer>Hvorfor bande?</peer><åse>Tvi, du tør ej! </vers> <vers> Alt ihob er tøv og tant!</åse> </vers> vers vers THIS IS THE DEFINITION OF "CORRESPONDENCE" åse peer Hvorfor bande? Tvi, du tør ej! Alt ihob er tøv og tant! Yves Marcoux - Balisage 2008
Still perfect isomorphism? Not for graphs in general... cycles ! Maybe for acyclic graphs ? Let's try more examples... Yves Marcoux - Balisage 2008
What if the last verse is said in chorus by Peer & Åse ? Hvorfor bande? Tvi, du tør ej! Alt ihob er tøv og tant! Yves Marcoux - Balisage 2008
What if the last verse is said in chorus by Peer & Åse ? Hvorfor bande? Tvi, du tør ej! Alt ihob er tøv og tant! Still acyclic, but no corresponding markup ! Yves Marcoux - Balisage 2008
So, imperfect isomorphism Some acyclic graphs have corresponding documents (i.e., are serializable) Some (apparently) don't... Manipulations of the graph (DOM) may leave it non-serializable ! Which acyclic graphs are serializable? Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 3. OO-TexMECS Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 TexMECS A particular proposal to address the overlap problem with overlapping markup MECS (Huitfeldt 1992-1996) Multi-element code system TexMECS (Huitfeldt & SMcQ 2003) "Trivially extended MECS" Markup Languages for Complex Documents (MLCD) project Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Overlap-only TexMECS TexMECS allows overlapping markup... but also much more: virtual elements, interrupted elements, etc. OO-TexMECS 101 Start-tags: <a| End-tags: |a> Overlapping elements allowed Natural notion of well-formedness Yves Marcoux - Balisage 2008
4. Node-ordered DAGs (noDAGs) Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Contents ordering In a serialized document, contents appears in some order The order is often significant Procedure steps, verses in a poem, etc. Thus, the order must be present in graph representations XML: children ordered in the tree Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Node-ordered DAGs Node-ordered directed acyclic graphs Essentially a DAG with children ordered Why "node-ordered" (and not "child-ordered") ? Provisions for further ordering of nodes Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Examples A A C B C D B D E F G H E Yves Marcoux - Balisage 2008
5. Results and consequences Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Main results A noDAG is serializable in OO-TexMECS iff it is completion-acyclic (essentially) Any OO-TexMECS well-formed document can be obtained by serializing some completion-acyclic noDAG You don't gain any expressivity by allowing node-ordering over and above children-ordering Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Consequences We now know how to define a DOM for overlapping markup A DOM-based editor is complete Round-tripping is possible between noDAGs and OO-TexMECS Results also apply to similar formalisms TexMECS with more features except virtual and interrupted elements Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Completions Intuition: combination of parent-child relationships & children-ordering informs on the relative positioning of tags in an eventual serialization If contradictory information is derivable: the graph is not serializable Yves Marcoux - Balisage 2008
Example: "starts-before" C D E F G H Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Example: "ends-after" A B C D E F G H Yves Marcoux - Balisage 2008
Completion-acyclic each completion is acyclic Contradiction = cycle ! A B C D E F G H Completion-acyclic each completion is acyclic Yves Marcoux - Balisage 2008
Yves Marcoux - Balisage 2008 Future work Optimal algorithm for verification Optimal serialization algorithm Relaxing conditions on the graph Relationships with GODDAGs (SMcQ & Huitfeldt 2004) And, yes... Intertextual semantics of overlap ! Yves Marcoux - Balisage 2008
Questions ? <yves.marcoux@umontreal.ca> Thank you ! Questions ? <yves.marcoux@umontreal.ca> Yves Marcoux - Balisage 2008