<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Using Ontologies to Compose Transformations of XML Schema Based Documents</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Johann Eder</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Koncilia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marek Lehmann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Horst Pichler</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Klagenfurt Dep. of Informatics-Systems</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>We discuss how ontologies can be used to facilitate the construction of transformations between XML documents. We introduced a method to compose transformations for XML documents reusing existing (smaller) transformations to de ne transformations for more complex documents. Linking the types on which these transformations are built to the elements (concepts) of an ontology supports the identi cation of candidate transformations potentially useful for the composition. If no applicable transformations exist, the ontology can be used for identifying semantically equivalent elements and types of source and target XML-Schema.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        XML [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] has become a standard for data interchange and publication, in
particular for data published on the web or transmitted through web services. Open
exchange of electronic documents in XML formats frequently requires the
transformation to di erent XML Schemas [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] or DTDs. The most widely used and
popular way to transform an XML document from one schema to another is to
use XSLT transformations [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. XSLT allows to write simple transformations for
small documents quite easy, but complexity and error-rates increase
dramatically with the size of the documents. To de ne transformations the programmer
requires domain knowledge and a deep understanding of the concepts being
transformed. Maintenance and reuse of XSLT-code is also very di cult, therefor
the creation of transformations tends to be time consuming and tedious.
      </p>
      <p>
        We proposed to support XSLT-programmers with the concepts of the XML
components and the composition of the XML transformations. We presented a
solution for DTD based documents [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], which was later extended for XML Schema
based documents [
        <xref ref-type="bibr" rid="ref4 ref9">4, 9</xref>
        ]. The key idea of this approach is: Given a source schema
S and a target schema T, we can transform a document of S into T by
decomposing the document into components for we nd transformations in our
transformation base and compose the transformation of the whole document
from transformations of its parts. Part of this procedure is the identi cation
of components (types, elements) of the target schema which are semantically
similar to a component of the source schema.
      </p>
      <p>
        Now we propose to link the components of both schemas to the concepts of a
common ontology [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and use this semantic relationships in the search for proper
transformations. Linking the concepts of ontologies to XML components used to
compose XSLT transformations will ease the production of such transformations
between complex XML vocabularies.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Composition of Transformations for XML Documents</title>
      <p>
        An XML component is a semantically meaningful unit of the problem domain.
In an XML document the tags can be interpreted as delimiters of a component
de ned in such a way. In the tree model the same component is de ned as a
subtree identi ed through its root element. We extended this idea by
transformations based on types de ned in XML Schemas [
        <xref ref-type="bibr" rid="ref4 ref9">4, 9</xref>
        ]. The composition of XML
documents allows us to write a separate transformation for every component.
In our proposal the XML Schema enables us to attach a source type and a
target type to XSLT transformations. A library stores information about available
transformations and their relation to schemas and types and is instrumental
in decomposing a document in a way that promotes the application of already
available transformations on subcomponents.
      </p>
      <p>
        XML Schema gives the programmers exibility in de ning schemas for the
same documents in many di erent ways. There have been some e orts to
dene design patterns for the XML Schema [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In our approach the most useful
pattern was called the Venetian Blind Design. In this pattern all meaningful
components of an XML document (e.g. an address) are de ned as named complex
types, which can easily be reused in many parts of a document (e.g. elements
personalAddress and o ceAddress both of type addressT ).
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Concepts in Ontologies</title>
      <p>
        An ontology is a shared common understanding of a domain that can be
communicated across people and computers [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. They are generally used to build
semantic-aware information systems which includes e orts to develop the
socalled semantic web, medical information systems and so forth. An ontology
may be represented as a set of concepts and their relationships. A concept is
uniquely named within this ontology. It may be composed of other concepts,
related to other concepts or be similar to other concepts. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] XML
components were linked to concepts of an ontology. This allows to look up the exact
de nition of the component in the ontology, to nd similar or more general or
more specialized concepts and components.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Linking Ontological Concepts and XML Components</title>
      <p>It is possible to link concepts of an ontology to XML components to support
transformations between di erent XML vocabularies related to the same
ontology. Thus the semantic description of the meaning of tags is no longer simply in
*
is_a</p>
      <p>Schema</p>
      <p>1
1
* 0..1 * 1</p>
      <p>Type
1
from
to
*
*</p>
      <p>Transformation
ComplexType
*</p>
      <p>Attribute</p>
      <p>is_of
*
1</p>
      <p>
        SimpleType
their name, but di erent named tags may represent the same concept. Some
preliminary work for the DTD based documents was done in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We want to extend
this idea for XML Schema based documents. Fig. 1 shows a metamodel which
links XML documents typed with XML Schema to concepts in an ontology.
      </p>
      <p>Each XML element is of a particular XML Schema type. Types are either
simple or complex. A complex type can have attributes and elements. Attributes
are always of a simple type, elements can be either of a simple or a complex type.
Additionally a new type can be derived from existing types.</p>
      <p>Elements of a type can be transformed to elements of another type by
applying a transformation between the source and the target XML Schema type.
Each element may be related to some concept.</p>
      <p>A concept may be composed of other concepts, related to other concepts, be
similar to other concepts or be re nement of other concepts.</p>
      <p>The ontology can be used as a data dictionary for XML Schemas and XML
documents based on them, which puts the authors of transformations to a better
understanding of the vocabularies being transformed.</p>
      <p>
        The composition of XML transformations presented in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] works best when
all meaningful components of an XML document are de ned as named complex
types. Concepts related to XML elements of anonymous XML Schema types
(de ned locally within the element) can be identi ed as XML components, which
enables us to attach transformations to them. This would ease the composition
of transformations for XML Schemas written with a design pattern other than
Venetian Blind (e.g. Russian Doll Design) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>The composition of XML transformation between two documents may be
improved by searching the ontology for concepts related to the components of
these documents and the relations between them (e.g. composition).</p>
      <p>This extended structure is now used for decomposing an XML document
and to identify suitable transformations. Given a document of schema S and the
target schema T. We can decompose the document in its immediate components
(elements, subtrees). Using the ontology we can search for elements and types in
the target schema which are semantically equivalent to the components of the
actual document and we can search for transformations of the these components.
We can use the generalization hierarchy to search for transformations on more
general or more speci c components. If we do not nd a satisfying
transformation we can present a similar one to the programmer and. If there are still no
matching transformations we can at least support the programmer by
identifying the elements and types of the target schema which the components of the
source schema should be transformed to.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>Linking ontologies with types and elements of XML Schema descriptions can not
only semantically enrich the schema de nition and the metadata of XML
documents but can also support the construction of transformation programs
necessary for integrating independently built information systems with own document
formats. Adorning the de nition of XSLT programs with source and target types
and registering them in a transformation library can ease the job of
transformation programming. Ontologies provide the missing link between di erent schema
de nitions and allow to search for reusable transformation of components which
can be composed to a transformation of the whole document.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>T.</given-names>
            <surname>Bray</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Paoli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. M.</given-names>
            <surname>Sperberg-McQueen</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Maler: Extensible Markup Language (XML) 1.0 (Second Edition)</article-title>
          .
          <source>W3C Recommendation</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. J.
          <string-name>
            <surname>Clark XSL</surname>
          </string-name>
          <article-title>Transformations (XSLT) v1.0</article-title>
          . W3C Recommendation
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>K.</given-names>
            <surname>Cagle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ducket</surname>
          </string-name>
          et al.:
          <article-title>Professional XML Schemas</article-title>
          . Wrox Press,
          <year>2001</year>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>J.</given-names>
            <surname>Eder</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Lehmann: Composition of Transformations for XML Schema Based Documents</article-title>
          .
          <source>Short paper at ADBIS</source>
          <year>2003</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>J.</given-names>
            <surname>Eder</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Missiko : Ontologies for Managing Knowledge about Forms for Goverment Processes</article-title>
          .
          <source>Proceedings of 2nd International Workshop on Knowledge Management in E-Government</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>J.</given-names>
            <surname>Eder</surname>
          </string-name>
          , W. Strametz:
          <article-title>Composition of XML-Transformations</article-title>
          .
          <source>LNCS 2115</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>D. C.</surname>
          </string-name>
          <article-title>Fallside: XML Schema Part 0: Primer</article-title>
          . W3C Recommendation
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>B.</given-names>
            <surname>Keimel</surname>
          </string-name>
          :
          <article-title>Application of Ontologies to Transformations of XML Documents</article-title>
          .
          <source>Master Thesis</source>
          at the University of Klagenfurt,
          <year>2002</year>
          . In German.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Lehmann: Exploiting Generalization for the Composition of Transformations of XML Schema Based Documents</article-title>
          .
          <source>CAiSE Forum</source>
          <year>2003</year>
          ,
          <string-name>
            <surname>in</surname>
            <given-names>CEUR</given-names>
          </string-name>
          -WS.org/Vol-
          <volume>74</volume>
          /
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. Uschold</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Gruninger: Ontologies: Principles, Methods and Applications</article-title>
          .
          <source>Knowledge Engineering Review</source>
          , Volume
          <volume>11</volume>
          Number 2,
          <fpage>1996</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>