1 / 14

Description de documents XML multistructurés au moyen de nœuds retards

Description de documents XML multistructurés au moyen de nœuds retards. Jacques Le Maitre LSIS Université du Sud Toulon-Var. Représentations d’arbres concurrents. Une solution : par des couples d’attributs id / idref : Il y a dissymétrie dans la manipulation des arbres.

stew
Download Presentation

Description de documents XML multistructurés au moyen de nœuds retards

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Description de documents XML multistructurés au moyen de nœuds retards Jacques Le Maitre LSIS Université du Sud Toulon-Var

  2. Représentations d’arbres concurrents • Une solution : par des couples d’attributs id/idref : • Il y a dissymétrie dans la manipulation des arbres. • Proposition : au moyen de nœuds dits nœuds retard dont le contenu n’est activé que lorsque le contenu à ce noeud est nécessaire (évaluation paresseuse). • Application à la représentation d’un General-Orderd Descendant Directed Acyclic Graphs (GODDAG).

  3. ligne ligne ligne phrase phrase Ecrit servant de preuve, d’information. Objet servant de preuve, de témoignage. Ce que l’on veut… • Petit Larousse • … • Document. Ecrit servant de preuve, • d’information. Objet servant de preuve, • de témoignage. • …

  4. Nœuds retard • Le contenu d’un nœud retard est la représentation par une requête XQuery d’une sous-séquence des enfants de son nœud père. • L’extension d’un nœud retard est la valeur de cette expression, • Lors de l’évaluation d’une requête XQuery, un nœud retard est étendu lorsque l’accès aux enfants de son nœud père est nécessaire. • Similaires aux nœuds « appel de service » d’Active XML.

  5. personne livre $b = $p = titre auteur année nom ville extension nœud retard $p := <personne> <nom>Durand</nom> <ville>Paris</ville> </personne> Nœud retard : exemple $b := <livre> <titre>XML</titre> <auteur> <delay expr="$p/personne/*"/> </auteur> <année>2000</année> </livre> <livre> <titre>XML</title> <auteur> <nom>Durand</naom> <ville>Paris</ville> </auteur> <année>2000</année> </livre>

  6. GODDAGs • Introduits par Sperberg et Huitfeld pour représenter les documents SGML ou XML multistructurés. • Dekhtyar et Iacob ont par la suite élaboré • un compilateur pour traduire un document XML distribué en un GODDAG, • une extension de XPath pour naviguer dans cette structure. • Un document XML distribué (DXD) peut être vu comme un ensemble de documents XML qui partagent la même racine et le même contenu textuel.

  7. Document XML distribué (DXD) • Petit Larousse … Document. Ecrit servant de preuve, d’information. Objet servant de preuve, de témoignage. … • DXD <définition id="7952"> <phrase>Ecrit servant de preuve, d’information.</phrase> <phrase>Objet servant de preuve, de témoignage.</phrase> </définition> <définition id="7952"> <ligne>Ecrit servant de preuve,</ligne> <ligne>d’information. Objet servant de preuve,</ligne> <ligne>de témoignage.</ligne> </définition>

  8. Représentation d’un DXD par un GODDAG définition id="7952" phrase phrase T T Ecrit servant de preuve, d’information. Objet servant de preuve, de témoignage. T T T ligne ligne ligne définition id="7952"

  9. Rédéfinition des axes d p1 p2 lig1 lig2 lig3 Feuilles (L) xdescendant(d) = (p1, p2, lig1, lig2, lig3); xdescendant(p1) = lig1; xdescendant(p1) = lig2 overlapping(p1) = lig2; overlapping(p2) = lig2; overlapping(lig2) = (p1, p2);

  10. Interrogation en XPath étendu • Phrases qui s’étendent sur plusieurs lignes ? /xdescendant::ligne/overlapping::phrase

  11. Représentation d’un GODDAG en XML + nœuds retard declare variable $def := <définition id="7952"> <phrase>{delay {$def/Ls/L[position() = 1 to 2]}</phrase> <phrase>{delay {$def/Ls/L[position() = 3 to 4]}</phrase> <ligne>{delay {$def/Ls/L[1]}</ligne> <ligne>{delay {$def/Ls/L[position() = 2 to 3]}</ligne> <ligne>{delay {$def/Ls/L[4]}</ligne> <Ls> <L>Ecrit servant de preuve,</L> <L>d’information.</L> <L>Objet servant de preuve, de</L> <L>témoignage.</L> </Ls> </définition>

  12. Prédicats de position declare function xdescendant($n1, $n2) { fn:not($n1/descendant::L except $n2/descendant::L) }; declare function overlapping($n1, $n2) { $n1/descendant::L intersect $n2/descendant::L and $n1/descendant::L except $n2/descendant::L and $n2/descendant::L except $n1/descendant::L };

  13. Interrogation • Phrases ? $def//phrase • Lignes ? $def//ligne • Phrases qui s’étendent sur plusieurs lignes ? for $p in $def//phrase for $l in $def//ligne where overlapping($p, $l) return $p = <phrase><L>Ecrit servant de preuve,</L> <L>d’information.</L></phrase>, <phrase><L>témoignage.</L></phrase>

  14. Perspectives • Déjà étendu au cas de documents multistructurés dont les arbres constituants partagent des sous-arbres.

More Related