Schedule for Saturday
Time | Vencovského aula | Room D | |
9:30 | Registration desk opens | ||
10:00–11:30 | Learning and applying XSLT 3.0’s new features, packages and streaming with several processors | CSS Paged Media – Hands-on training | |
11:30–12:00 | Coffee break | ||
12:00–13:30 | Learning and applying XSLT 3.0’s new features, packages and streaming with several processors | CSS Paged Media – Hands-on training | |
13:30–15:00 | Lunch break | ||
15:00–15:30 | The Power of Promises and Parallel XQuery Execution James Wright |
oXygen Plugins Development | |
15:30–16:00 | Entities and Relationships in a Document Database Charles Greer, MarkLogic |
oXygen Plugins Development | |
16:00–16:30 | Coffee break | ||
16:30–17:00 | Standards update: EPUB 3.1 Romain Deltour, DAISY |
oXygen Plugins Development | |
17:00–17:30 | Validating office documents in the publishing production workflow Andrew Sales, Andrew Sales Digital Publishing Limited |
oXygen Plugins Development | |
17:30–17:45 | Conference closing |
Session details
Learning and applying XSLT 3.0’s new features, packages and streaming with several processors
organized by Michael Kay, Saxonica and Abel Braaksma, Exselt
XSLT 3.0 is now a Candidate Recommendation, which is the final stage in the W3C process before a new specification gets ratified. Before final approval, W3C likes to know that there are multiple implementations of the specification available, and that they are interoperable – which means that you can run the same stylesheets on multiple XSLT processors.
This workshop is an opportunity to try out some of the features of the new standard, and to see how they work on both Saxon and Exselt.
The workshop will be led jointly by Abel Braaksma and Michael Kay, who are both members of the W3C working group creating the standard, and designers of the respective implementations.
We’ll be focusing on the two main features of the XSLT 3.0 specification — streaming, and packaging — and we’ll also have a chance to look at some of the other capabilities including JSON support, higher-order functions, error handling with try/catch and merging.
We want this to be a workshop rather than a demonstration, so it will work best if we tackle some problems coming from attendees, rather than things we have carefully rehearsed. Ideas submitted in advance and ideas introduced on the day are both welcomed.
Sample files and Saxon-EE for testing purposes can be downloaded from http://github.com/Saxonica/Prague2016. Exselt can be downloaded from http://exselt.net/site/download/
CSS Paged Media – Hands-on training
organized by Andreas Jung
The hands-on training on CSS Paged Media will be based on the material on my website https://www.print-css.rocks
Particpants should have installed either PDFreactor, PrinceXML or Antennahouse CSS Formatter on their system. All tools are available as an evaluation license (see
https://www.print-css.rocks/tools.html). Participants should have basic knowledge in HTML and CSS.
Half of the training will be used to go through certain lessons of the print-css.rocks tutorial. The second half of the training is completely open to specific questions etc.
The Power of Promises and Parallel XQuery Execution
James Wright
I will introduce simple library which implements the promise pattern as seen in many other languages and frameworks. Most notably those in the javascript community, such as jQuery, Q.js and even EMCAScript 6. The pattern resolves around the idea of deferred execution through what is called a deferred
. When an action is deferred, it returns a function, known as a promise
that when executed at a later time, will perform and return the results of the work it deferred. Since the work is deferred and can be executed at an arbitrary time. There is the ability to attach further processing at a later date but prior to actual execution, via callback functions. This may sound confusing and hard to imagine, but I ‘promise’ the examples that follow will make it clearer. No pun intended.
Entities and Relationships in a Document Database
Charles Greer, MarkLogic
Those working with NoSQL databases agree that some flavor of this technology will supplant the relational database in coming years. While the post-relational world to some looks like “polyglot persistence” in which enterprises use multiple database technologies, each in a best-fit scenario, there is an alternate emerging trend of the hybrid database, in which a single platform can handle workloads of varying types, and provide the benefits of central administration and systems architecture. We think the document-oriented database, with XML as a foundation, is the basis for the next generation of hybrid databases, because the document model is expressive enough to encapsulate simpler models within it. The final step in replacing
older relational database technology is to encapsulate its native model and expose that model to new capabilities. So this paper explores how to work with Entities, Attributes, and Relationships on top of a document database and XML.
Standards update: EPUB 3.1
Romain Deltour, DAISY
EPUB is the widely adopted open standard for digital publications. Since september 2015, International Digital Publishing Forum (IDPF) –the organization responsible for the EPUB standard– has started to work on EPUB 3.1, which will be the first major revision of the EPUB 3 standard. The presentation –from an insider– will describe the various focus areas of the EPUB 3.1 revision, and will give an update on the progress of the EPUB working group and how it relates to W3C’s Digital Publishing Interest Group ongoing efforts.
Validating office documents in the publishing production workflow
Andrew Sales, Andrew Sales Digital Publishing Limited
This paper will present an innovative, open-source approach to verifying the quality of content, by applying business rules to the markup that underlies OOXML and ODF. These are normally onerous to author in full, as they entail (in the case of word-processing documents) inferring structure from a sequence of styled paragraphs and other items. It will show how these rules can be expressed declaratively and succinctly, using a schema language. It will also demonstrate how this language can be interpreted by a processor to produce human-readable reports, including as annotations in the original source. Finally, it will outline how this information can potentially be put to use in correcting defects in content, via the Schematron QuickFix (SQF) framework. The paper builds on work presented at XML London 2015 and available on GitHub at https://github.com/AndrewSales/schematron4word.
oXygen Plugins Development
organized by Alexandru Jitianu
The support that Oxygen provides for XML vocabularies can be customized to match various audiences’ requirements through an extensive array of extension points. To facilitate such customizations, we provide a start-up project that contains samples for every major type of extension. In this workshop we will present:
* The structure of the SDK sample project with emphasis on what each module does and in which situation it can help.
* The structure of an Oxygen’s plugin.
* The difference between the text page API and the author page API.
* The creation of a sample plugin that contributes a toolbar and a sample view. This view will use our API to interact with the text page and the author page.
more details on how to prepare your computer for this workshop can be found at http://oxygenxml.com/events/2016/oXygen-user-meetup-Prague.html#prague2016_agenda