Markup UK 2019 Proceedings


Table of Contents

Beyond the brick, for the past in the future, you find the archive!
Archives
Building Blocks
eArchiving Building Block
Long-term preservation of information
Use cases
Skill set
Standards, de facto standards and specifications
eArchiving Building block Specifications
The eArchiving reference model setting
Content specifications
Basic soup recipe with a twist
Conclusion: Moving on from soup
Bibliography
Software we have lost
Background
Software
Parsers and validators
ARC SGML  ◯
ASP SGML  ✗
sgmls  ☑
Editors
ADEPT  ✗
Author/Editor  ☑
Emacs + psgml  ☑
epcedit  ☑
InContext  ☑
MultiDoc Pro Translating Editor  ☑
Near&Far Author for Word  ✗
GriF SGML Editor  ✗
WordPerfect+SGML  ☑
Processors
Balise  ✗
DAPHNE  □
DynaText  ☑
Omnimark  ☑
Microsoft SGML Author for Word  ✗
Formatters, including browsers and servers
Panorama Publisher and Viewer  ☑
FrameMaker+SGML  ✗
MultiDoc Pro Publisher  ☑
Other software
Near&Far Designer  ☑
PAT  □
SGML Darc  ☑
Conclusions
Some stuff has been gained.
Some stuff has been lost.
Bibliography
xprocedit, A Browser-Based Open-Source XProc Editor
Introduction
Why is XProc Special?
Selecting a Graph Editing Framework
Solution
Other Visual XProc Editors
Outlook
Conclusion
Bibliography
Generating documents from XQuery annotations
Introduction
Annotations?
What are annotations?
Use of annotations in XQuery
Built-in annotations
RestXQ
Unit testing
Other applications
XQuery documentation
The xqDoc format
Schema updates
Working with xqDoc documents
Components
XqDoc implementations
Parsers
Introducing xqDocA
Overview
Renderers
Implementation
Sample outputs
Customisation
Conclusions
Bibliography
XQuery for Data Workers
Introduction
Requirements
Chosen environment
NodeJS
Browsers
XQuery
Fleur: an XQuery implementation in Javascript
Development and tests
Extensions
The generalized doc() and serialize() functions
Two-dimensional sequences for tabular data
Function Modules
Server-side evaluation
Client-side evaluation
Examples of Data Workers with Fleur
Bank statements converted into CSV files
IT Inventory dashboards
XLSForm to XSLTForms
Collecting from network equipments
XForms 2.0 Test Suite for XSLTForms
Updating users accounts from HR software
Conclusion
Bibliography
subcheck Article MarkupUK London
Intro
TTML and its Profiles
Validation of TTML Profiles
Validation Requirements
Implementation Approach
Master Thesis
Application Implementation
Rules Documentation
Schematron Schema File
Compiled Schematron
Generation of the Report
Overview: The Transformation Chain
Interfaces: Machine-to-Machine and the End-User
Using the subcheck Application
The Report View
Adaptive Filtering
Conclusion
Other Aspects and Perspective
Bibliography
An Improved diff3 Format for Changes and Conflicts in Tree Structures
Introduction and Background
How diff3 Delimits the Extent of Changes and Conflicts
Preserving Well-Formed Tree Structure in diff3
Representing XML Element Tag Change in diff3
Representing XML Attribute Change in diff3
Representing JSON Structure Change in diff3
Representing JSON Separator Change in diff3
diff3 Format as XML or JSON
Nested Changes
Conclusions
References
<Angle-brackets/> on the Branch Line
Introduction
Overall Design
Layout Topology and Geometry
Representing the topology
Computing the geometry
Drawing pictures
Isometric Views
Interaction
Animations
Developments
True 3D models and view rotation
Collision detection, a.k.a. train crashes
Difficulties
Conclusion
References
Taking Schematron QuickFix To The Next Level
Introduction
Schematron QuickFix Language
Use Cases
Type of Users
Generate Content Using XPath
Change Text Using Regular Expressions
Using XSLT to Generate Content
Ignore Schematron Checks
SQF User Input Dialog
Abstract Quick Fixes
Multilingual Support in SQF
Generate Quick Fixes Dynamically
Conclusion
Bibliography
Accessibility Matters
What is accessibility?
Standards for accessibility
Accessibility in, accessibility out
HTML
Tagged PDF
Specialised PDF tags
AH Formatter
FOP
XEP
PDF/UA
Matterhorn Protocol
PAC 3 PDF/UA checker
Common Structures
Language indication
HTTML
Part, Article, Section, or Division
Headings
Table of Contents
HTML
Tagged PDF
Index
Footnote
HTML
Tagged PDF
Endnote
HTML
Tagged PDF
Tables
HTML
Tagged PDF and PDF/UA
Icons, etc.
Tagged PDF and PDF/UA
Mathematics
HTML
Tagged PDF
Citation
HTML
Tagged PDF
Block quotation
HTML
Tagged PDF
Inline quotation
Inline code
Bibliography
Conclusion
Bibliography
Scrap the App, Keep the Data
Business issue
Data archiving and application decommissioning
Freeing up licenses
Merging data silos
Technical angle
Relational data
Hierarchical data
Different paths to consider
Use a proprietary connector
Use the app's export/import functionality
Export the data from the app's relational database and aggregate it into hierarchical XML records
Export the data from the app's relational database, serialize and store it as relational XML records
Data virtualization
Implementation
Execution framework
Execution steps
Export
Transformation
Aggregation
Conclusion
Documenting XML Structures
Introduction
About the author and his documenting experience
Consumption: Understanding XML structures
Production: Creating XML Structure documentation
Schemas and documentation
Writing documentation
The target format and how to produce it
XML element documentation
An example tool-chain
Conclusions and wrap-up
XMLPaper: XML-based Conference Paper Workflow
Introduction
Conference paper submission workflow
Content creation
Peer review
Publishing
XMLPaper architecture
The source format
Self-service project template
Steady-state workflow
Initial setup
User experience analysis
Similarities with other content creation workflows
Conclusion
Bibliography
Dispelling Myths About Markup Formats: When What Why Where
Introduction
HTML: The HyperText Markup Language (HTML).
Markdown
RDF and Linked Data
JavaScript Object Notation (JSON)
JSON-LD: JSON meets RDF
Portable Document Format (PDF)
Domain-specific XML Vocabularies
XHTML™: The Extensible HyperText Markup Language
DocBook
Customizing DocBook: Mallard
The Text Encoding Initiative (TEI)
Open Document Format (ODF), OOXML
Raster Images
Conclusion
Bibliography
Validating selector
Introduction
Against all odds
Writing the Regexp
Generating the generator
Case
Language
What the generator generated
RELAX NG schema
XSLT schema
Rapid cyclic debugging
Practical
Logical
Resources
Time
Memory
Storage
Future work
Availability
Bibliography
XSpec in the Cloud with Diamonds
Introduction
AWS Lambda and Serverless Architecture
Technical Configuration
Linking Git to S3
Lambda Configuration
Analysis and Discussion
Benefits of Serverless Architecture
Memory and Time Execution Constraints
Cost Optimization
Vendor Lock-in
Conclusion
Bibliography

List of Figures

1. ADEPT showing the Insert Element dialog (left); and editing mathematics (right)
2. Document Architect creating styles for a document type
3. Author/Editor editing a DocBook document (left); RulesBuilder compiling a DTD (right)
4. Emacs with the sample document before and after normalization
5. epcedit with the sample document and with the sample stylesheet
6. InContext editing a CALS manual
7. MultiDoc Pro Translating Editor editing a recipe (original formatted above; translation in boxes below)
8. Near&Far Author for Word editing a Word document with named styles
9. GriF’s SGML Editor showing text-entry location for the title of section 3.1.1
10. WordPerfect compiling a DTD and creating a stylesheet
11. WordPerfect editing SGML
12. DynaTag configuring a Word document for conversion to SGML
13. Fragment of Omnimark code showing transformation to LaTeX
14. Panorama Publisher creating styles for a document
15. FrameMaker+SGML creating styles for a newly-compiled DTD
16. MultiDoc Pro Publisher viewing a document created in Panorama Publisher
17. Near&Far Designer’s view of the sample Recipe DTD and the DocBook3 DTD
18. SGML DARC searching a document
1. A Simple XSLT Pipeline
2. User Interface
1. Eclipse Orion
2. XQuery Test Suite
3. Fleur Sandbox
1. UML Diagram Constraint - Specification
2. Transformation in the Validation Chain
3. The Report View
4. Filtering
5. Filtering
1. Attribute example in Visual Studio code
1. The Garden for the Railway
2. The garden plan
3. Simple layout - pictorially
4. Simple branch line - pictorially
5. Two points pictorially
6. Topology of a two-point layout
7. An oval becomes a loop
8. Passing loop graphically and topologically
9. Swapping direction across links.
10. More detailed track
11. A simple building
12. An iso-orthogonal building
13. The Lady Anne
14. Controls for display options
15. Changing points with a signal box
16. A track section path
17. Movement along a track section.
18. The Engine Cab
19. Three engines running simultaneously
20. On the ceiling
21. The layout as proposed
22. Lady Anne on the Garden Line
1. Matterhorn Protocol failure conditions for tables
2. PAC 3 PDF/UA checker
3. Scope in sample table
1. An excerpt from the documentation of XSLT
2. An excerpt from the documentation of Maven POM files
3. An excerpt from the documentation of Ant
4. An excerpt from the documentation of HL7 CDA
5. An excerpt from the documentation of eXist-db's conf.xml
6. An example of (a part of) generated schema documentation by oXygen
7. The <p:choose> in the standard
8. The <p:choose> in the XProc book
9. An attribute with a discrete value list
10. Example of an XML element documentation diagram
11. My XML element documentation diagram
12. Example of a table explaining attributes
13. Example of a table explaining child elements
14. My tool-chain for the XProc book
1. RELAX NG schema constraint
2. XSLT schema, validation
1. Workflow for running XSpec tests in a serverless architecture
2. Workflow for triggering the webhook
3. Email notification

List of Tables

1. xqDoc implementations
2. Renderer properties
3. xqDocA annotations
1.
2. XML tag change
3. XML attribute value change
4. JSON structural change
5. JSON array value change
6. diff3 format in XML or JSON
7. Characteristics of diff3, XML and JSON
8. XML nested data example
1. XSL Formatting Objects and PDF tags
2. HTML elements and PDF tags
3. PDF tags for top-level structure of a document
4. Measurement of legs and tails in Cats and English speakers
1. Travel table - holds one record per trip
2. Employee table - one row per employee
3. Transaction table - one row describes one transaction
4. Aggregate table

List of Examples

1. A simple layout
2. A simple branch line
3. A layout with two points
4. Describing a graph linkage
5. A passing loop
6. Linking arbitrary branches
1. A Schematron Quick Fix that adds a 'bone' element as child of the 'dog' element
2. Use the title value as ID or generate a random ID
3. Match all the section elements from the document and add an ID
4. Get the current document file name and use it as ID
5. Create a clickable link from a text link
6. Obtain the value of the link from text
7. Add the missing cells from a table
8. Schematron rule that is triggered only if is not ignored
9. XSLT function that verifies if an assert/report is marked as ignored
10. Quick fix that adds the current check to the ignore list
11. Quick fix action that presents two user entry dialogs
12. Quick fix that displays a browse dialog
13. Quick fix that displays a browse dialog
14. Schematron abstract quick fix that can be used to rename a generic element
15. Schematron abstract pattern that reference an abstract quick fix
16. Schematron abstract pattern instantiation
17. Schematron QuickFix that has multilingual support
18. Schematron diagnostics
19. Java Property File for German translation
20. A Generic QuickFix that provides a quick fix to remove each item from a list
1. Aggregated record as a hierarchy:
2. Serialized as XML:
3. Travel reports:
4. XML data using the relational model - from DBUnit:
5. XML data using the relational model - better semantics:
6. Aggregated records in hierarchical XML:
1. PDF Generation configuration
1. Sample renditions
2. A Perl program that generates a regular expression
3. XSLT schema, debugging