SlideServe
Menu
Préférences
© SlideServe · v2026

Collaborative XML Schema Mapping and Transformation in Google Wave Gadget

fionan avatar
18 diapositives · 355 Views · Jul 31, 2014

This XML Integrator Google Wave Gadget facilitates the creation of mappings between different XML schemas, allowing collaborative modifications and exports as XSLT transformations. The gadget supports mapping of XML elements, enabling more complex definitions including transformations and edit tracking. Users can manage mappings through an intuitive interface, define transformations, and handle updates with a synchronized server state. This approach optimizes collaborative editing while adhering to Google’s size limits for gadget state, ensuring efficient data handling.

Collaborative XML Schema Mapping and Transformation in Google Wave Gadget - slide 1
01 / 18Collaborative XML Schema Mapping and Transformation in Google Wave Gadget
1 / 17

Télécharger la présentation

Collaborative XML Schema Mapping and Transformation in Google Wave Gadget
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. XML Integrator Google Wave Gadget

  2. Purpose • Create mapping from one XML schema to another XML schema • Support collaborative creation of that mapping • Export that mapping as a XSLT transformation

  3. What’s a mapping? I • Translation of one or many XML elements in the source XML to an element in the destination XML • More precisely, XML is a tree hierarchy of XML elements. This hierarchy structure can be defined using XSD or other ways, ex. DTD. But XSD is mostly used, therefore was chosen as the source of XML structure for this application.

  4. What’s a mapping? II • Usually, it’s required to modify the source element, so it can be mapped to a destination element. • Therefore mapping must contain definition of this modification.

  5. Mapping lifecycle • Choose source and destination XSD • Add mappings • Create XSLT • Apply to a XML

  6. Example of a mapping

  7. Mapping definition • Transformation type • Maximal number of inputs (optional) • XPath expression (optional) • Inputs map • Output list

  8. Transformations

  9. Implementation – data structures • XML Mapping Model • Source schema • Destination schema • Elements mappings

  10. Types of edits • Add mapping • Remove mapping • Change mapping’s transformation • Translate mapping inside editor • Add connection between mapping and other elements • Source element, destination element, another mapping • Remove connection

  11. Google Wave Google Wave Wave Robot DB User User User State Server

  12. Edit data structure • ID • Author • Type • Other attributes depending on the type of edit

  13. Edit lifecycle • User creates an edit • Sends it to State server • Servers merges it into model • Receives edit ID • This ID is from increasing number sequence • Puts edit into Gadget state • Receives new Gadget state • Merges all newer edits into local model • Newer merges edit with ID higher than last edit processed by State server to the local instance of the mapping model

  14. Gadget state overview User A Gadget State User B State Server and Wave Robot User C User A edits the mapping Sends edit to State Server State Server processes the edit (saves merged state to database) and returns edit ID Edit ID and Edit is submit to Gadget state Gadget state is send to each user and robot Database

  15. Gadget state overview II • Size limit defined by Google is 100KiB for gadget state • Therefore mapping state is being held on State server • Inside gadget state are some state attributes and mainly set of edits made by users • When the state’s size would be greater than 100KiB, than Robot clear state and forces users to reload mapping state from the State server

  16. Protocol – data structures • Model ID • Version • Last edit ID • List of edits • Edit ID • Edit content

  17. Merging • Edits are sorted by their ID • Each is processed • If there would be any conflicts, the last wins, or will be ignored

  18. Conflicts • User wants edit/remove already removed mapping • Edit/remove is being ignored • In other cases the last edit wins • These conflicts will be shown in the log