XML Syntax, Schemas, and Transformations
This course is currently not scheduled on the open calendar, but can be organized on request.Request Course
Everyone who wants insights in the possibilities, principles and transformation of XML.
Knowledge of HTML and / or a modern programming language is useful but not required.
The course will provide a global overview of the specifications, applications and implementation of XML, and teaches techniques for exchanging and transforming XML data by using Extensible Stylesheet Language Transformations (XSLT) and its auxiliary standard, XPath.
Classroom training with demos and practical exercises.
XML has become a dominant technology in almost every domain of computer science. This course will offer a broad view of the possibilities of this important standard.
First, we will explain the very easy but at the same time very powerful syntactical principles of XML. A small exercise will make even novices comfortable in the creation of XML documents.
Afterwards, the course discusses XML Schemas, and covers the properties of the most important schema languages, DTD and W3C Schema. The syntax of those schema languages will be covered using examples, and the relation of XML with HTML will be discussed briefly.
We will then show why XML is the technology of choice for the important areas of application of the modern ICT, such as E-business and the use of XML to improve unstructured content. We will also provide an overview of XML-based technologies, such as XML editors and IDE's, non-declarative XML API's, XPath, XSLT, the support of XML in Office Applications and advanced subjects such as performance, physical storage and security.
Next, the focus will shift to two W3C standards, XSLT and XPath, as a meansto declaratively transform XML documents. The examples and exercises are based mainly on transformations to HTML, XSL:FO or simple XML vocabularies.
After a short introduction in which we explain the need for XSL in an XML environment, the course continues with the principles and syntax of XSLT and XPath and an overview of available software tools. We will then dedicate some time to the syntax and semantics of the XPath language for locating and filtering nodesets within an XML document. A short introduction to XQuery will help us understand the necessity of querying XML data.
The following topic will be the XSLT style sheet language itself. We will examine the various tools and techniques for transforming XML documents to multiple formats, creating and changing XML structure, and merging XML documents together. The final part of the course introduces XSL:FO and the Apache FOP Project, to enable the transformation of XML to PDF.
- Introduction to XML
- What is a Markup Language?
- Tags and Elements
- Nested Elements
- Mixed Content
- Element Reuse
- Structure of an XML Document
- Criteria for Well-Formedness
- Remarks on XML Syntax
- XML Schemas and Schema Languages
- XML Schemas
- Validity of XML Documents
- XML Schema Languages
- DTD Example
- DTD Element Type Declarations
- DTD Attribute List Declarations
- XML Schema
- An Introduction to XML Schema Using a Progressive Example
- User-Defined Simple Types
- Content Models
- Comparing DTD to XML Schema
- Some Standardized XML Schemas
- Strenghts of XML
- Intrinsic Strenghts of XML
- XML for Unstructured Content
- Programmatic Processing of XML
- The Tree View of an XML Document
- Non-Declarative XML APIs: DOM and SAX
- Invoking DOM from Java
- Invoking SAX from Java
- Declarative XML Processing: XPath and XSLT
- Applications of XML
- Transforming Legacy Documents to XML
- XML Support in Office
- WordML and Other Technologies
- XML for E-Business
- Distributed Network Applications
- XML Web Services
- XML Vocabularies for Unstructured Content
- XML-Based Technologies and Products
- Manual Creation and Editing
- Altova XMLSpy
- Physical Storage of XML
- XML Support in SQL Server 2005
- XML Performance
- XML Appliances
- Rendering of XML Documents
- XML vs. SGML vs. HTML vs. XHTML
- Displaying XML with CSS
- Rendering XML with XSLT
- XPath and XSLT Interaction
- Simple XSLT Transformation
- The XSLT Translation Process
- The XSLT Data Model
- Structure of an XSLT Document
- A Complete Example
- Essential XSLT Elements
- Location Path Syntax
- The Axis
- Axes Overview
- The Node Test
- Components of XPath Expressions
- Objects in XPath
- Overview of XPath Functions
- Overview of XPath Conversions
- Binary Operators
- XPath Abbreviations
- XSLT Continued
- The match attribute of xsl:template
- Built-in Templates
- Individual Text Nodes
- Adding Attributes
- Other Node Types
- Procedural Instructions
- Named Templates
- Top-Level XSLT Elements
- Other XSLT Features
- What is XQuery?
- FLWOR and Examples
- XML to XSL:FO Using XSLT
- XSL:FO Transformation
- Rendering Engine: Apache FOP
- ẌSL:FO Document Overview
- The Transformation Process
- XSL:FO Document Structure
- An Overview of XSL:FO Elements
- An Overview of Document Formatting
- Summary and Conclusion