Applied XML Technologies

Thursday, September 18th

XPath, XQuery, and XML Databases

Adam Retter

As XPath is the basis of XQuery, we will first refresh our knowledge on some XPath fundamentals, and then extend that with constructs from XQuery. We will examine XML Databases, how they are positioned, and their role and feature sets. The class has a practical focus, and students will be expected to undertake practical exercises. The idea is that students learn by building something practical and useful they can take away with them as an example or starting point for their own XQuery applications. We utilise a corpus of JATS XML documents, which students will store into an XML Database, from there students build an interatcive Web Application written in XQuery to search, transform, present, and update the documents. Technologies involved in the course are: XML, XPath, XQuery, XSLT, XQuery Update, XQuery Full Text Search, HTML, IBM DB2, and the Elemental Open Source Native XML Database.


XSLT

Tomos Hillman

Experienced XSLT users, as well as those who have attended the first half of the week, will have a good grasp of the basics of XSLT, the ‘push’ paradigm of applying small, reusable templates when transforming XML trees.  This class will start by introducing or refreshing users’ memory of useful concepts, particularly from useful but under-used features from XSLT 3.  In particular, we will look at conditional content creation and accumulators.

We will then put this into practice with a collaborative programming exercise/demonstration, working as a class to solve issues in a shared problem.

Friday, September 19th

Introduction to XProc

Geert Bormans

An XML Pipeline defines a sequence of operations to be performed on documents.

XProc 3.1 is an XML-based language designed to describe such pipelines. This tutorial introduces the language and related tools, providing participants with early hands-on experience. It will also demonstrate techniques for orchestrating operations across multiple documents, whether organized in folders or contained within archive files.


Pragmatic Testing for XML Development

Sheila Thomson

Every developer needs to be selective about what, when and how they test as it’s unlikely they will have time to write tests for everything. This session will suggest approaches and tools to support efficient and effective testing in a range of XML technologies, including XSLT, XQuery and XProc.


Content Conversion Considerations and Strategies

Ari Nordström

Content migration is the art and practice of converting content from one format to another, typically performed when moving from one authoring environment to another, for example, when an outdated system with 20+ years of legacy content is replaced with a state-of-the-art, single-source, CMS.

In some migration projects, the objective is to move from an unstructured world (Word, FrameMaker, etc) to a structured one, in others from one XML vocabulary to another. Yet others involve merging two sets of structured content describing the same thing but with vastly different vocabularies. For example, a company merger of two legal publishers, where both offered the complete Swedish Code of Statutes but using vastly different XML vocabularies, resulted in a huge migration project where both sources were merged into a single new vocabulary. The textual contents were roughly the same but the vocabularies and semantics anything but.

This course is about content migration considerations and strategies, drawing examples and approaches from real life. The focus is on a select few migration use cases illustrating specific techniques and approaches. Some—such as running a long sequence of XSLTs one after another, each feeding to the next—are useful almost everywhere, whilst others—multiple-pass conversions, say—have have a more narrow scope.


XSLT Q&A Interactive Discussion with Dr Michael Kay and Dr O’Neil Delpratt

Dr Michael Kay & Dr O’Neil Delpratt

Dr O’Neil Delpratt will facilitate an Interactive Discussion where he hosts Dr Michael Kay and invites the audience to ask questions and delve into topics in and around XSLT. This is an opportunity for students to gain a greater understanding of the context and design decisions behind XSLT itself with the foremost expert in the field.