Abstract
As XML diffusion keeps increasing, it is today common practice for most developers to deal with XML parsing and transformation. XML is used as format to e.g. render data, query documents, deal with Web services, generate code from a model or perform model transformation. Nowadays XSLT is the most common language for XML transformation. But, although meant to be simple, coding in XSLT can become quite a challenge, if the coding approach does not only depend on the structure of the source document, but the order of template application is also dictated by target document structure. This is the case especially when dealing with transformations between visual models. We propose to use a graph-based approach to simplify the transformation definition process where graphs representing documents are transformed in a rule-based manner, as in XSLT. The differences to XSLT are mainly that rules can be developed visually, are more abstract (since the order of execution does not depend on the target document), IDREFs are dealt with much more naturally, and due to typed transformations, the output document is guaranteed to be valid with respect to the target schema. Moreover, graph-based transformation definitions can be automatically reversed in most cases. This is especially useful in model transformation (e.g. in OMG’s MDA approach).
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
AGG Homepage, http://tfs.cs.tu-berlin.de/agg
Baresi, L., Quintarelli, E.: Graph transformation to infer schemata from XML documents. In: Proceedings of the 2005 ACM symposium on Applied computing, pp. 642–646. ACM Press, New York (2005)
Bezivin, J., Bruneliere, H., Jouault, F., Kurtev, I.: Model Engineering Support for Tool Interoperability. In: Proceedings of 4th Workshop in Software Model Engineering at 8th Int. Conf. on Model Driven Engineering Languages and Systems (2005)
Braga, D., Campi, A., Ceri, S.: XQBE (XQuery by Example): a visual interface to the standard XML query language. ACM Transaction On Database Systems TODS (June 2005)
Ceri, S., Comai, S., Damiani, E., Fraternali, P., Paraboschi, S., Tanca, L.: XML-GL: A Graphical Language for Querying and Reshaping XML Documents. In: Proc. of the Int. World Wide Web Conference, Canada (1999)
Bardohl, R., Ehrig, H., de Lara, J., Taentzer, G.: Integrating Meta Modelling Aspects with Graph Transformation for Efficient Visual Language Definition and Model Manipulation. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 214–228. Springer, Heidelberg (2004)
Ehrig, H., Prange, U., Taentzer, G.: Fundamental Theory for Typed Attributed Graph Transformation. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 161–177. Springer, Heidelberg (2004)
Erwig, M.: Xing: A Visual XML Query Language. Journal of Visual Languages and Computing 14(1), 5–45 (2003)
Novatchev, D.: The Functional Programming Language XSLT - A proof through examples (November 2001), http://www.topxml.com/xsl/articles/fp/
Pietriga, E., Vion-Dury, J., Quint, V.: VXT: a visual approach to XML transformations. In: Proceedings of the 2001 ACM Symposium on Document engineering, pp. 1–10. ACM Press, New York (2001)
Query/View/Transformation. QVT-Merge Group, version 2.0 (2005-03-02) (2005), http://www.omg.org/cgi-bin/apps/doc?ad/05-03-02.pdf
WebML, http://www.webml.org/
XPath, http://www.w3.org/TR/xpath
XSLT 2.0, http://www.w3.org/TR/xslt20/
Walker, D., Petitpierre, D., Armstrong, S.: XMLTrans: a Java-based XML transformation language for structured data. In: Proceedings of the 18th conference on Computational linguistics, vol. 2, pp. 1136–1140 (2000)
Zhang, K., Zhang, D.: XML Transformations Through Graph Grammars. In: IEEE International Conference on Multimedia and Expo. (2001)
Zhang, K., Zhang, D., Deng, Y.: A Visual Approach to XML Document Design and Transformation. In: IEEE Symposium on Human Centric Computing Languages and Environments (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Taentzer, G., Toffetti Carughi, G. (2006). A Graph-Based Approach to Transform XML Documents. In: Baresi, L., Heckel, R. (eds) Fundamental Approaches to Software Engineering. FASE 2006. Lecture Notes in Computer Science, vol 3922. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11693017_6
Download citation
DOI: https://doi.org/10.1007/11693017_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-33093-6
Online ISBN: 978-3-540-33094-3
eBook Packages: Computer ScienceComputer Science (R0)