Skip to content

Instantly share code, notes, and snippets.

@holmesw
Created June 5, 2016 14:07
Show Gist options
  • Save holmesw/c22c70690bcaba088ce1cc2d9387fa9a to your computer and use it in GitHub Desktop.
Save holmesw/c22c70690bcaba088ce1cc2d9387fa9a to your computer and use it in GitHub Desktop.
XML London 2015 Conference Proceedings bibtex
@INPROCEEDINGS {XMLLondon15.Lumley01,
title = "Improving Pattern Matching Performance in XSLT",
author = "John Lumley and Michael Kay",
crossref = "ISBN:9780992647124",
pages = "9—25",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Lumley01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Lumley01",
keywords = "xmllondon,xmllondon15,xmllondon2015,XSLT,Pattern matching",
abstract = "This paper discusses improving the performance of XSLT programs that use very large numbers of similar patterns in their push-mode templates. The experimentation focusses around stylesheets used for processing DITA document frameworks, where much of the document logical structure is encoded in @class attributes. The processing stylesheets, often defined in XSLT1.0, use string-containment tests on these attributes to describe push-template applicability. For some cases this can mean a few hundred string tests have to be performed for every element node in the input document to determine which template to evaluate, which in sometimes means up to 30% of the entire processing time is taken up with such pattern matching. This paper examines methods, within XSLT implementations, to ameliorate this situation, including using sets of pattern preconditions and pretokenization of the class-describing attributes. How such optimisation may be configured for an XSLT implementation is discussed. "
}
@INPROCEEDINGS {XMLLondon15.Braaksma01,
title = "It's the little things that matter: How certain small changes in XSLT 3.0 can improve your programming experience drastically",
author = "Abel Braaksma",
crossref = "ISBN:9780992647124",
pages = "26—51",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Braaksma01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Braaksma01",
keywords = "xmllondon,xmllondon15,xmllondon2015,XML,XSLT,XPath",
abstract = "Some larger features of XSLT 3.0 and by extension XPath 3.0, like higher order functions, packages and streaming, have been covered extensively in previous papers. This paper aims to fill the gap of knowledge and shows you how several seemingly smaller changes improve your life as a programmer, how they make common idioms easier to implement or how they create a cleaner programming experience. Features covered in this paper include try/catch and structured error handling, memoization of functions, iteration, merging, text value templates, assertions, modes and enforcing mode declarations, shadow attributes, forking and how it supports multi-threading, applying templates on atomic values, maps, 2.0 backwards compatibility and processing JSON input. After reading this paper, you should have a firm grasp of what to expect from switching from XSLT 2.0 to XSLT 3.0, if packages and streaming are not your primary concerns. "
}
@INPROCEEDINGS {XMLLondon15.Cirulli01,
title = "Continuous Integration for XML and RDF Data",
author = "Sandro Cirulli",
crossref = "ISBN:9780992647124",
pages = "52—60",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Cirulli01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Cirulli01",
keywords = "xmllondon,xmllondon15,xmllondon2015,Jenkins,Unit Testing,Docker",
abstract = "At Oxford University Press we build large amounts of XML and RDF data as it were software. However, established software development techniques like continuous integration, unit testing, and automated deployment are not always applied when converting XML and RDF since these formats are treated as data rather than software. In this paper we describe how we set up a framework based on continuous integration and automated deployment in order to perform conversions between XML formats and from XML to RDF. We discuss the benefits of this approach as well as how this framework contributes to improve both data quality and development. "
}
@INPROCEEDINGS {XMLLondon15.Wilm01,
title = "Vivliostyle - Web browser based CSS typesetting engine: How browser based typesetting systems can be made to work also for printed media",
author = "Johannes Wilm and Shinyu Murakami",
crossref = "ISBN:9780992647124",
pages = "61—62",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Wilm01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Wilm01",
keywords = "xmllondon,xmllondon15,xmllondon2015,HTML,CSS,Page based media",
abstract = "All currently available typesetting systems and formats are rather limited, and the integration between workflows related to print are quite different than those related to web publishing and ebooks. In this article we argue that the best way forward to unite the workflows is to focus on an HTML-centric workflow, using CSS for styling, and leveraging the power of browsers through the usage of Javascript for print-based layouts. The Vivliostyle project is working on a new typesetting engine for the next phase of the digital publishing era in which web, ebook and print publishing are unified. We seek to demonstrate here that such a project is needed to bring the three publishing workflows together. "
}
@INPROCEEDINGS {XMLLondon15.Bina01,
title = "Magic URLs in an XML Universe",
author = "George Bina",
crossref = "ISBN:9780992647124",
pages = "63—68",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Bina01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Bina01",
keywords = "xmllondon,xmllondon15,xmllondon2015,XML,dynamic conversion,URL,DITA,Markdown,Excel,CSV,SVG,HTML,Java,Javadoc",
abstract = "XML is an ideal format for structured content but we need to accept that are also other formats that can encode information in a structured way. We can try to get everyone to use XML but that may not be always possible for various reasons. Now it is possible to dynamically unify different formats by converting all content to XML simply by pointing to that content though a {"}magic{"} URL that performs this conversion on the fly. We experimented with creating URLs to convert from various formats to XML, including Java classes and JavaDoc files, Excel and Google Sheet spreadsheets, Markdown and HTML, CSV files, etc. A major advantage of this approach is that it works immediately with any URL-aware application and allows to extend single source publishing across formats in a transparent way. "
}
@INPROCEEDINGS {XMLLondon15.Labella01,
title = "A rendering language for RDF",
author = "Fabio Labella and Henry Thompson",
crossref = "ISBN:9780992647124",
pages = "69—80",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Labella01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Labella01",
keywords = "xmllondon,xmllondon15,xmllondon2015,RDF",
abstract = "Since RDF is primarily intended to be processed by machines, there is a need for a technology to render it into human readable (HTML) content, similarly to what XSLT does for XML. This is made hard, however, by the high syntactic variability of RDF serialisations, that allows the same graph to be expressed in many different ways. In this paper we propose an approach, called just-intime reflection, that allows the application of normal XSLT stylesheets directly to RDF graphs. It follows that the transformation does not depend on any particular serialisation format: stylesheets can be written in terms of RDF's abstract syntax. "
}
@INPROCEEDINGS {XMLLondon15.Gibson01,
title = "Publishing with XProc: Transforming documents through progressive refinement",
author = "Nic Gibson",
crossref = "ISBN:9780992647124",
pages = "81—89",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Gibson01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Gibson01",
keywords = "xmllondon,xmllondon15,xmllondon2015,XProc,XSLT,Word",
abstract = "Over the last few years, we, as a community, have spent a great deal of time writing code to convert Microsoft Word documents into XML. This is a common task with fairly predictable stages to it. We need to read the .Docx or WordML file and and transform the flat, formatting-rich XML in a well structured XML document. One approach to this problem is to create a pipeline that uses a progressive refinement technique to achieve a simple sequence of transformations from one format to another. Given that this approach requires the ability to chain multiple transformations together, we decided to build a framework to enable that. This paper explores the implementation of this kind of pipelining through XProc and examine the pipeline processing used. We discuss the use of progressive enhancement to convert Microsoft Word files to an intermediate format, considering the challenges involved in converting Word in context. We look at the features of XProc which enable this sort of processing. "
}
@INPROCEEDINGS {XMLLondon15.Vlist01,
title = "Data-Driven Programming in XQuery",
author = "Eric Van Der Vlist",
crossref = "ISBN:9780992647124",
pages = "90—98",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Vlist01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Vlist01",
keywords = "xmllondon,xmllondon15,xmllondon2015,XQuery",
abstract = "Data-driven development is a popular programming paradigm often implemented using reflection in objectoriented programming languages. Even if this is less common, data-driven development can also be implemented with functional programming languages, and this paper explores the possibilities opened by higher-order functions in XQuery 3.0 to develop data-driven applications. "
}
@INPROCEEDINGS {XMLLondon15.DeVreeze01,
title = "XML Processing with Scala and yaidom",
author = "Chris de Vreeze",
crossref = "ISBN:9780992647124",
pages = "99—108",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.DeVreeze01",
url = "http://dx.doi.org/10.14337/XMLLondon15.DeVreeze01",
keywords = "xmllondon,xmllondon15,xmllondon2015,Scala,XML,yaidom",
abstract = "Yaidom is a uniform XML query API, written in the Scala programming language and leveraging its Collections API. Moreover, yaidom provides several specific-purpose DOMlike tree implementations offering this XML query API. In this paper the yaidom library is introduced, using examples from XBRL (eXtensible Business Reporting Language). "
}
@INPROCEEDINGS {XMLLondon15.Seaborne01,
title = "Lizard: A Linked Data Publishing Platform",
author = "Andy Seaborne",
crossref = "ISBN:9780992647124",
pages = "109—113",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Seaborne01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Seaborne01",
keywords = "xmllondon,xmllondon15,xmllondon2015,Lizard,SPARQL,RDF,Linked Data,Semantic Web,High Availability",
abstract = "Publishing data means delivering it to a wide and changing variety of data consumers. Instead of defined, agreed use by fixed applications, data is used in ways that the publisher will find hard to predict as users find ingenious ways to use and combine data. Data services don't do {"}9 to 5{"} and publishing of the data must aim for high levels of available service. Yet the operation of data services will need to be resilient to operational needs as well as updates. By looking at some real data publishing services, we will see that while hardware failures happen, the main causes of service disruption are operational. This paper describes a new, open source, RDF database that addresses operation needs using fault tolerance systems techniques to provide a scalable, consistent, and resilient data publishing platform for RDF. "
}
@INPROCEEDINGS {XMLLondon15.Fearon01,
title = "Streamlining XML Authoring Workflows",
author = "Phil Fearon",
crossref = "ISBN:9780992647124",
pages = "114—124",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Fearon01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Fearon01",
keywords = "xmllondon,xmllondon15,xmllondon2015,xml,workflows",
abstract = "When preparing XML content for publication, even smallscale projects can involve many people at different stages in the process; the process itself will often repeat several times. It follows that an XML review and approval workflow should allow everyone to contribute to the process at various stages; this is often critical to the quality and timeliness of the endproduct. This paper explores ideas on how XML document merge features can allow contributors and reviewers to, when necessary, work concurrently on content within an XML authoring workflow. A 'proof of concept' application called XMLFlow is used as a vehicle to demonstrate some of these ideas; some detail on the design and implementation of this proof of concept is also covered here. "
}
@INPROCEEDINGS {XMLLondon15.Retter01,
title = "Implementation of Portable EXPath Extension Functions",
author = "Adam Retter",
crossref = "ISBN:9780992647124",
pages = "125—142",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Retter01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Retter01",
keywords = "xmllondon,xmllondon15,xmllondon2015,XQuery,Portability,EXPath,Haxe",
abstract = "Various XPDLs (XPath Derived Languages) offer many high-level abstractions which should enable us to write portable code for standards compliant processors. Unfortunately the reality is that even moderately complex applications often need to call additional functions which are non-standard and typically implementation provided. These implementation provided extension functions reduce both the portability and applicability of code written using standard XPDLs. This paper examines the relevant existing body of work and proposes a novel approach to the implementation of portable extension functions for XPDLs. "
}
@INPROCEEDINGS {XMLLondon15.Graham01,
title = "Validating XSL-FO with Relax NG and Schematron",
author = "Tony Graham",
crossref = "ISBN:9780992647124",
pages = "143—152",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Graham01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Graham01",
keywords = "xmllondon,xmllondon15,xmllondon2015,XSL-FO, Relax NG,Schematron",
abstract = "XSL-FO defies conventional validation, so much so that it hasn’t been done successfully before now. This paper describes a combination of hand-written and auto-generated Relax NG plus hand-written and auto-generated Schematron that can validate XSL-FO markup. The project is available on GitHub at https://github.com/AntennaHouse/focheck"
}
@INPROCEEDINGS {XMLLondon15.Sales01,
title = "The application of Schematron schemas to word-processing documents: Document validation in a non-structured environment",
author = "Andrew Sales",
crossref = "ISBN:9780992647124",
pages = "153—162",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Sales01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Sales01",
keywords = "xmllondon,xmllondon15,xmllondon2015,Schematron,validation,OOXML,ODF",
abstract = "This paper will present Schematron as a portable, standardsbased alternative to macros, demonstrating how it can be integrated into a word-processing template to alert authors and editors directly to content problems during capture. It will demonstrate how business rules can be applied to a word-processing document held in one of the standard word-processing XML file formats using an ISO Schematron schema. These rules will comprise typical Schematron validation activity. Further, it will be shown how errors found in the document can be successfully merged back in situ into the original document, so that an editor can address the problem so located within the originating editing environment. "
}
@INPROCEEDINGS {XMLLondon15.Pemberton01,
title = "XML Interfaces to the Internet of Things with XForms",
author = "Steven Pemberton",
crossref = "ISBN:9780992647124",
pages = "163—168",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Pemberton01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Pemberton01",
keywords = "xmllondon,xmllondon15,xmllondon2015,xforms",
abstract = "The internet of things is predicated on tiny, cheap, lower power computers being embedded in devices everywhere. However such tiny devices by definition have very little memory and computing power available to support user interfaces or extended servers, and so the user interface needs to be distributed over the network. This paper describes techniques using standard technologies based on XML for creating remote userinterfaces for the Internet of Things. "
}
@INPROCEEDINGS {XMLLondon15.Fuller01,
title = "Diaries of a desperate XProc Hacker: Managing XProc dependencies with depify",
author = "James Fuller",
crossref = "ISBN:9780992647124",
pages = "169—176",
booktitle = "XML London 2015 Conference Proceedings",
year = "2015",
doi = "10.14337/XMLLondon15.Fuller01",
url = "http://dx.doi.org/10.14337/XMLLondon15.Fuller01",
keywords = "xmllondon,xmllondon15,xmllondon2015,XML,XProc,XML Calabash,depify",
abstract = "XProc [1] is a powerful language providing a facade over many XML technologies which can make managing that 'surface area' difficult. XProc v1.0 also presents difficulties to the new user as it has a learning curve which forces developers to learn many concepts before they can be productive in the language. This paper identifies some of the sources of despair for todays Desperate XML Hacker illustrates how XProc and depify [2], a modest package manager for XProc, can help make developing and maintaining XProc development easier. "
}
@PROCEEDINGS {ISBN:9780992647124,
title = "XML London 2015",
editor = "Charles Foster",
year = 2015,
isbn = "978-0-9926471-2-4",
publisher = "XML London",
booktitle = "XML London 2015 Conference Proceedings",
url = "http://xmllondon.com/2015/xmllondon-2015-proceedings.pdf",
keywords = "xmllondon,xmllondon15,xmllondon2015,xml"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment