The Location Path to Hell Is Paved With Unoptimized Axes: XPath Implementation Tips

  • Martin Kruliš
  • Jakub Yaghob
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 88)


Effective processing of location axes is essential for fast XPath implementation. Direct approach can be quite inefficient and the performance of the whole XPath processor may suffer, since location axes are present in every location step of every location path. We propose axes optimizations, indices and algorithms that should improve performance in many situations. These algorithms are designed to accomodate features of nowadays processors and they can be implemented in parallel fashion without extensive modifications.


XML XPath axes optimizations vector 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    W3C: XML Document Object Model,
  2. 2.
    Mlynkova, I., Toman, K., Pokorny, J.: Statistical Analysis of Real XML Data Collections. In: Proc. 13th Int. Conf. on Management of Data, Citeseer, pp. 20–31 (2006)Google Scholar
  3. 3.
    Clark, J., DeRose, S., et al.: XML Path Language (XPath) Version 1.0. W3C Recommendation 16, 1999 (1999)Google Scholar
  4. 4.
    Veillard, D., et al.: Libxml2 – The XML Library for GNOME,
  5. 5.
    Apache Software Foundation: Xalan for C++ – XSLT and XPath library,
  6. 6.
    Gottlob, G., Koch, C., Pichler, R.: Efficient algorithms for processing XPath queries. ACM Transactions on Database Systems (TODS) 30(2), 491 (2005)CrossRefMathSciNetGoogle Scholar
  7. 7.
    Cooper, B.F., Sample, N., Franklin, M.J., Hjaltason, G.R., Shadmon, M.: A fast index for semistructured data, pp. 341–350 (2001)Google Scholar
  8. 8.
    Szpankowski, W.: Patricia tries again revisited. Journal of the ACM (JACM) 37(4), 691–711 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Bruno, N., Koudas, N., Srivastava, D.: Holistic twig joins: optimal XML pattern matching. In: Proceedings of the 2002 ACM SIGMOD International Conference on Management of Data, pp. 310–321. ACM, New York (2002)CrossRefGoogle Scholar
  10. 10.
    Grust, T.: Accelerating XPath location steps, pp. 109–120 (2002)Google Scholar
  11. 11.
    Kratky, M., Pokorny, J., Snasel, V.: Implementation of XPath axes in the multi-dimensional approach to indexing XML data. In: Current Trends in Database Technology-Edbt 2004 Workshops: EDBT 2004 Workshops, PhD, DataX, PIM, P2P&DB, and Clustweb, Heraklion, Crete, Greece, March 14-18 (2004); Revised Selected Papers, p. 219 (2004)Google Scholar
  12. 12.
    Kruliš, M.: Algorithms for Parallel Searching in XML Datasets. Master’s thesis, Charles University, Prague (2009)Google Scholar
  13. 13.
    Kruliš, M., Yaghob, J.: Efficient Implementation of XPath Processor on Multi-Core CPUsGoogle Scholar
  14. 14.
    Schmidt, A., Waas, F., Kersten, M., Carey, M., Manolescu, I., Busse, R.: XMark: A benchmark for XML data management. In: Proceedings of the 28th International Conference on Very Large Data Bases, VLDB Endowment, p. 985 (2002)Google Scholar
  15. 15.
    Franceschet, M.: XPathMark – benchmark for XPath 1.0,

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Martin Kruliš
    • 1
  • Jakub Yaghob
    • 1
  1. 1.Department of Software Engineering, Faculty of Mathematics and PhysicsCharles University in PraguePragueCzech Republic

Personalised recommendations