TU/e technische universiteit eindhoven WebNet 2001October 26, XML to XML through XML Pim Lemmens Geert-Jan Houben Eindhoven University of Technology Dept. of Computer Science
TU/e technische universiteit eindhoven WebNet 2001October 26, XML to XML through XML How Adaptation of XML Transformations May Be Done by the Same Tool As Used for the Transformations Themselves
TU/e technische universiteit eindhoven WebNet 2001October 26, Hera Architecture Relational Database Object-Oriented Database XML Database ODB-XML Wrapper RDB-XML Wrapper Mediator/ Integrator Logical Presentation Logical-WML Presentation HTML Presentation SMIL Presentation WML Presentation Logical-SMIL Presentation Logical-HTML Presentation Information Retrieval Hypermedia Presentation … … Query User/Platform Adaptation
TU/e technische universiteit eindhoven WebNet 2001October 26, XML Transformations Document screening Data retrieval, querying Applying style sheets Adaptation of those transformations to –User profiles –Platform requirements –Producer preferences –..
TU/e technische universiteit eindhoven WebNet 2001October 26, Transformations in HERA Generic query Adapted query Source data Generic stylesheet Adapted stylesheet Output data Filtered data Query adaptation Stylesheet adaptation
TU/e technische universiteit eindhoven WebNet 2001October 26, Transformation Tools XSLT XQuery Something different (for adaptation): HTL
TU/e technische universiteit eindhoven WebNet 2001October 26, Single Tool for All Transformations transformation of documents transformation of transformation specifications transformation specifications ~ documents transformation specification: schema document: instance schema ~ instance
TU/e technische universiteit eindhoven WebNet 2001October 26, Transformation and Document House query (schema): 120,000 House doc (instance): … 100,000.. …
TU/e technische universiteit eindhoven WebNet 2001October 26, Requirements for HERA Transformations Isomorphism between schema and instance Separate items separately accessible Separation of input and output document specifications One uniform mechanism for specifying structure, values and operations, independent of their use
TU/e technische universiteit eindhoven WebNet 2001October 26, Req 1: Isomorphism Schema - Instance Schema element/attribute name = instance element/attribute name Schema children or attributes of element instance children or attributes of element Schema element/attribute values instance element/attribute values Arbitrary length list in instance represented by e.g. special kind of loop in schema
TU/e technische universiteit eindhoven WebNet 2001October 26, Req 2: Separate Items Separately Accessible All HTL entities should be accessible to HTL: Items to be found in input Values to be changed Items to be used for output Operands to be used in calculations DOM nodes: Elements Attributes Text nodes
TU/e technische universiteit eindhoven WebNet 2001October 26, DOM Nodes 120,000 Nice house in good condition “120,000” house year price “Nice.. “1980”
TU/e technische universiteit eindhoven WebNet 2001October 26, Req 3: Separation of Input & Output Spec Output spec not limited by input spec requirements Input spec not limited by output spec requirements Requires links between input and output spec Output and input spec may use same formalism
TU/e technische universiteit eindhoven WebNet 2001October 26, Req 4: One Mechanism for All Output specification (structure, values, names) Input selection (structures, values, names) Calculation (operators, operands) All described using templates
TU/e technische universiteit eindhoven WebNet 2001October 26, Input and Output Templates Input template Output template … …………
TU/e technische universiteit eindhoven WebNet 2001October 26, Requirements for HERA Transformations Recap: Isomorphism between schema and instance Separate items separately accessible Separation of input and output document specifications One mechanism for specifying structure, values and operations
TU/e technische universiteit eindhoven WebNet 2001October 26, Why Not Use XSLT? +Well tested, efficient and widely available –Structure of specification very different from structure of documents –Paths defined using XPath: expressions hard to transform –Input driven: processing (and output) order determined by input document.
TU/e technische universiteit eindhoven WebNet 2001October 26, Why Not Use XQuery? +Separate query and output generation parts +Output spec has XML structure –But, input spec has not an XML structure: query part needs string parsing
TU/e technische universiteit eindhoven WebNet 2001October 26, HTL: HERA Transformation Language Templates: used for input spec, output spec and calculation spec Separate output spec & input spec templates Templates may use sub-templates Filter specification: input data to be used Selection specification: retrieved data to be inserted in output or used for calculations
TU/e technische universiteit eindhoven WebNet 2001October 26, Templates and Sub-templates..
TU/e technische universiteit eindhoven WebNet 2001October 26, Filtering and Selection Filter specificationOutput specification
TU/e technische universiteit eindhoven WebNet 2001October 26, Templates and Path Expressions Equivalent XPath expression when accessed through idref “xyz”: a/b[d e f]
TU/e technische universiteit eindhoven WebNet 2001October 26, Templates and Calculations 10 XPath: > (price + 10)]
TU/e technische universiteit eindhoven WebNet 2001October 26, List of HTL Elements htl:transform htl:template htl:output htl:attribute htl:from htl:to htl:operator htl:param htl:any htl: descendant htl:select htl:name-of htl:value-of htl:copy (attribute) htl:id
TU/e technische universiteit eindhoven WebNet 2001October 26, Implementation XSLT: +Proven technology +HTL-to-XSLT conversion by XSLT +Semantics defined in terms of XSLT +Use of XPath operators –Additional translation step required –Use of separate XSLT templates and modes not possible
TU/e technische universiteit eindhoven WebNet 2001October 26, Conclusions Tool for XML transformations that allows transformations on transformations –Schema isomorphic to instance –Basic entities correspond to DOM nodes –Separation of input & output specification –All expressions represented by XML structures Implementation: XSLT
TU/e technische universiteit eindhoven WebNet 2001October 26, Contact Information W.J.M. Lemmens Eindhoven University of Technology P.O. Box 513 NL 5600 MB Eindhoven Phone: (+31)(0)
TU/e technische universiteit eindhoven WebNet 2001October 26,