340 likes | 449 Views
Graph characterization of overlap-only TexMECS and other overlapping markup formalisms. Yves MARCOUX. GRDS – EBSI Université de Montréal. Visiting researcher Universitetet i Bergen. Overview of the talk. Graph representations of structured documents Overlap, in markup and structure
E N D
Graph characterization of overlap-only TexMECS and other overlapping markup formalisms Yves MARCOUX GRDS – EBSI Université de Montréal Visiting researcher Universitetet i Bergen 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
XML document = tree top <top> <a> <b/> </a> <c/> </top> Û c a b Embedding in markup Û Child-parent in tree Yves Marcoux - Balisage 2008
Any tree an XML document top <top> <a> <b/> </a> <c/> </top> Û c a b Yves Marcoux - Balisage 2008
Any tree an XML document top <top> <a> <b/> <d><e/></d> </a> <c/> </top> Û c a b d 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
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 Yves Marcoux - Balisage 2008
Overlap Yves Marcoux - Balisage 2008
Two views of overlap • Geometric view: overlapping markup • Common contents view: non-tree graph structure 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
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 å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 saidin chorus by Peer & Åse ? vers vers åse peer Hvorfor bande? Tvi, du tør ej! Alt ihob er tøv og tant! Yves Marcoux - Balisage 2008
What if the last verse is saidin chorus by Peer & Åse ? vers vers 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
3. OO-TexMECS 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
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
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
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
Examples A A C B C D B D F G H E E Yves Marcoux - Balisage 2008
5. Results and consequences 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
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
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" A B C D F G H E Yves Marcoux - Balisage 2008
Example: "ends-after" A B C D F G H E Yves Marcoux - Balisage 2008
Contradiction = cycle ! A B C D F G H E Completion-acyclic each completion is acyclic 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
Thank you ! Questions ? <yves.marcoux@umontreal.ca> Yves Marcoux - Balisage 2008