XML Prague 2017 Conference Proceedings University of Economics, Prague Prague, Czech Republic February 9–11, 2017 XML Prague 2017 – Conference Proceedings Copyright © 2017 Jiří Kosek ISBN 978-80-906259-2-1 (pdf) ISBN 978-80-906259-3-8 (ePub) Table of Contents General Information ..................................................................................................... vii Sponsors .......................................................................................................................... ix Preface .............................................................................................................................. xi XPath 3.1 in the Browser – John Lumley, Debbie Lockett, and Michael Kay ................. 1 Soft validation in an editor environment – Martin Middel ...................................... 19 Improving text quality with automatic majority editions – Liam Quin ................. 33 Checking documents for DTP with the free online service data2check – Mehrshad Zaeri Esfahani, Hauke Brandes, and Manuel Montero Pineda ..................... 47 W3C ITS 2.0 in OASIS XLIFF 2.1 – David Filip .......................................................... 55 Projection and Streaming: Compared, Contrasted, and Synthesized – Michael Kay ..................................................................................................................... 73 The HTML 5.1 DTD – Marcus Reichardt ................................................................... 101 The X-definition 3.1 – Jiří Kamenický, Jindřich Kocman, and Václav Trojan ............ 119 Relational and Semantic Views over Documents – John Snelson .......................... 133 On the Descriptions of Data – Steven Pemberton ..................................................... 143 FOXpath navigation of physical, virtual and literal file systems – Hans-Jürgen Rennau ..................................................................................................... 161 DHW: An online introductory toolset for XML encoding – Alejandro Bia .......... 181 A Text Structure “Epischema” for TEI – Gerrit Imsieke .......................................... 195 CSS for Print via XSL-FO – George Bina and Dan Caprioara ................................... 211 v vi General Information Date February 9th, 10th and 11th, 2017 Location University of Economics, Prague (UEP) nám. W. Churchilla 4, 130 67 Prague 3, Czech Republic Organizing Committee Petr Cimprich, XML Prague, z.s. Vít Janota, Xyleme & XML Prague, z.s. Káťa Kabrhelová, XML Prague, z.s. Jirka Kosek, xmlguru.cz & XML Prague, z.s. & University of Economics, Prague Martin Svárovský, Memsource & XML Prague, z.s. Mohamed Zergaoui, ShareXML.com & Innovimax Program Committee Robin Berjon, science.ai Petr Cimprich, Xyleme Jim Fuller, MarkLogic Michael Kay, Saxonica Jirka Kosek (chair), University of Economics, Prague Ari Nordström, SGMLGuru.org Uche Ogbuji, Zepheira LLC Adam Retter, Evolved Binary Andrew Sales, Andrew Sales Digital Publishing Felix Sasaki, DFKI / W3C Fellow John Snelson, MarkLogic Jeni Tennison, Open Data Institute Eric van der Vlist, Dyomedea Priscilla Walmsley, Datypic Norman Walsh, MarkLogic Mohamed Zergaoui, Innovimax Produced By XML Prague, z.s. (http://xmlprague.cz/about) Faculty of Informatics and Statistics, UEP (http://fis.vse.cz) vii viii Sponsors oXygen (http://www.oxygenxml.com) le-tex publishing services (http://www.le-tex.de/en/) Antenna House (http://www.antennahouse.com/) Saxonica (http://www.saxonica.com/) speedata (http://www.speedata.de/) Xeditor (http://www.xeditor.com/) ix x Preface This publication contains papers presented during the XML Prague 2017 confer- ence. In its twelfth year, XML Prague is a conference on XML for developers, markup geeks, information managers, and students. XML Prague focuses on markup and semantic on the Web, publishing and digital books, XML technolo- gies for Big Data and recent advances in XML technologies. The conference pro- vides an overview of successful technologies, with a focus on real world application versus theoretical exposition. The conference takes place 9–11 February 2017 at the campus of University of Economics in Prague. XML Prague 2017 is jointly organized by the non-profit organization XML Prague, z.s. and by the Faculty of Informatics and Statistics, University of Economics in Prague. The full program of the conference is broadcasted over the Internet (see http:// xmlprague.cz)—allowing XML fans, from around the world, to participate on-line. The Thursday runs in an unconference style which provides space for various XML community meetings in parallel tracks. Friday and Saturday are devoted to classical single-track format and papers from these days are published in the pro- ceeedings. Additionally, we coordinate, support and provide space for W3C XSLT and XProc working group meetings collocated with XML Prague. We hope that you enjoy XML Prague 2017. — Petr Cimprich & Jirka Kosek & Mohamed Zergaoui XML Prague Organizing Committee xi xii XPath 3.1 in the Browser John Lumley jwL Research, Saxonica <[email protected]> Debbie Lockett Saxonica <[email protected]> Michael Kay Saxonica <[email protected]> Abstract This paper discusses the implementation of an XPath3.1 processor with high levels of standards compliance that runs entirely within current modern browsers. The runtime engine Saxon-JS, written in JavaScript and devel- oped by Saxonica, used to run pre-compiled XSLT3.0 stylesheets, is exten- ded with a dynamic XPath parser and converter to the Saxon-JS compilation format. This is used to support both XSLT's xsl:evaluate instruction and a JavaScript API XPath.evaluate() which supports XPath outside an XSLT context. 1. Introduction XSLT1.0 was originally developed primarily as a client-side processing technol- ogy, to increase data-adaptability and presentational flexibility with a declarative model supported in the browser. By 2006 all the major desktop browsers suppor- ted it, but the rise in importance of mobile client platforms and their code foot- print pressures then sounded the death-knell. However, remnants of support for the XPath 1.0 component of XSLT can be found in most, but not all, of the current desktop browsers. In the meantime, spurred mostly by unexpected takeup of XSLT and XQuery in server-side XML-based architectures, the technologies have progressed through the “2.0” stage (temporary variables, type model and declarations, grouping, canonical treatment of sequences, extensive function suites...) to the current candidate recommendation standards for 3.0/3.1 in XSLT, XQuery and XPath. At this stage support for maps, arrays and higher-order functions join let constructs, increased standard function libraries and others to provide a core set of common functionality based on XPath. XQuery uses this with its own (superset 1 XPath 3.1 in the Browser of XPath) syntax to support query-based operation and reporting. XSLT adds a template-based push model, within an XML syntax, which is designed to be able to support streaming processing in suitable use cases. These developments are sufficiently robust and powerful that, other circum- stances permitting, exploiting XPath 3.1 to process over XML data is highly attrac- tive. But at present this can only be performed in server-side situations – no browser developers could contemplate either the development effort or the neces- sary memory footprints needed for the “2.0” level compilers for what they con- sider niche (i.e. non-mobile) applications, let alone that required for 3.0+. What has been developed extensively in browsers are JavaScript processors, both internal compilers, JIT runtimes and development libraries, such that very significant programmes can be executed in-browser1. And in general the level of conformance of and interoperability between implementations in different brows- ers is reasonable. Exploiting this JavaScript option for supporting XSLT/XPath /XQuery has been explored in a number of cases: • Saxon-CE[1] cross-compiled a stripped-down XSLT2.0 Saxon compiler from Java into JavaScript using Google's GWT technology. This worked, but the loa- ded code was large, very difficult to test and debug and very exposed to GWT's cross-browser capabilities. • There are a small number of developers working on open-source implementa- tions in native JavaScript for XPath 2.0 (e.g.Ilinsky[2]) and XQuery (XQIB2), though it is very unclear their level of standards conformance. Other Java- Script-based implementations for XPath 1.0 include Wicked good XPath3, sup- porting the DOM Level 3 subset and XPath-js4 which supports the full XPath 1.0 standard. • During 2016 Saxonica developed Saxon-JS [3], a runtime environment for XSLT 3.0, implemented in JavaScript. This engine interprets compiled execu- tion plans, presented as instruction trees describing the execution elements of an XSLT3.0 stylesheet. The execution plan is generated by an independent compiler, which performs all necessary parsing, optimisation, checking and code generation. Consequently the runtime footprint is modest (~ 200kB in minimised form) and programme execution incurs no compilation overhead. 1.1. Saxon-JS Runtime – dynamic evaluation The Saxon-JS runtime environment is written entirely in JavaScript and is inten- ded to interpret and evaluate XSLT program execution plans and write results 1In the process pushing client-based Java towards oblivion too. 2 http://www.xqib.org/index.php 3 https://github.com/google/wicked-good-xpath 4 https://github.com/andrejpavlovic/xpathjs
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages238 Page
-
File Size-