The Extensible Markup Language (XML) is a standard that is enabling a revolution in web applications and business to business interactions. XML is the basis for Wireless Markup Language (WML), Voice Markup Language (VoiceML), Simple Object Access Protocol (SOAP), REST data interchange, and numerous industry initiatives such as ACORD (insurance), PXML (proposal/RFP) and OTA (travel).
Introduction to XML is a three-day, hands-on course geared for software developers who need to understand what XML is and how to use in with today's systems and architectures. This course covers the topics from tags to architectures. The course is a balanced mixture of theory and practical labs designed to take students from a quick review of the basic fundamentals of XML through to the related advanced technologies. The students walk through the different standards in a structured manner to enable them to master the concepts and ideas, which are reinforced in the lab exercises.
The course starts with a quick review of the fundamentals of XML before covering XML Schema in detail. It then moves on to the XPath and XSLT covering advanced topics in both. Finally, XML processing and XML security issues are addressed.
TARGET AUDIENCE:
This is an introductory-level XML training course, designed for those needing an introduction to concepts and technologies associated with XML and its related recommendations.
COURSE PREREQUISITES:
Previous experience or knowledge of HTML is helpful but not essential.
COURSE CONTENT:
Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We will work with you to tune this course and level of coverage to target the skills you need most. Course agenda, topics and labs are subject to adjust during live delivery in response to student skill level, interests and participation
Session: XML Content
Lesson: XML Introduction
• Convey an understanding of what XML is
• Explain its relationship to HTML5 and SGML
• Explain the concept of using XML to separate structure, content, and format
• Explain some of the motivations for its creation
• Explain areas of application using XML
Lesson: XML Mechanics
• Understand the rules for XML documents and the reasons for those rules
• Comprehend and write well-formed XML documents
• Rules for Well-Formed XML
• Content as MarkUp
• Namespaces Associate Alias with a URI
• Lab: Well-Formed XML Documents
Session: XML Structure
Lesson: Namespaces
• Understand the basic purpose of Namespaces
• Name Collisions
• Namespace Scope
• Namespaces Best Practices
• Lab: Working with Namespaces
Lesson: Structure Using Schemas
• Document Type Definition (DTD)
• W3C XML Schemas
• Elements, Attributes, and Types
• Restricting Simple Types: Facets
• Complex Types
• Attribute Definitions
• Derivation by Extension
• Using XML Schema with Namespaces
• Lab: Create a Simple Schema
• Lab: Schema Development and Use
• Lab: Extending the Schema
• Lab: Using Namespaces and Schemas
• Lab: Managing Large Schemas (Optional)
Session: XML Formatting
Lesson: CSS and Rendering XML
• Describe the role of CSS in HTML5 styling
• Explain how CSS can be used in XML styling
• XML/CSS Processing Flow
• Discuss CSS's limitations relative to XML's formatting and rendering needs
• Lab: CSS and Rendering XML
Lesson: XSL Transformations
• Explain the family of XSL standards and their relationships
• Describe the functions of XSLT, XPath, and XSL
• XSLT is Rule-Based Transformation Language
• Describe the types of transformations possible using XSLT and an XSLT engine
• Describe how to associate a stylesheet with an XML document
• Lab: XSLT and Transforming XML
Lesson: XSLT and XPath
• XPath Data Model
• Location Paths
• Additional Filtering
• XPath Operators and Functions
• XSLT Stylesheet Structure
• Templates Are The Rules
• Conflict Resolution for Templates
• Calling Templates
• Looping, Sorting and Conditional Processing Constructs
• Lab: Working With XPath
• Lab: Xtensil Tutorial (optional)
• Lab: XSLT Development and Use
Lesson: Overview of XPath/XSLT 2.0/3.0 (Optional)
• Understand the significant enhancements made in XPath 2.0 in terms of data types, conditional processing, set operators.
• XPath 2.0 is a proper subset of XQuery 2.0, the former being document oriented, the latter, data oriented.
• XSLT 2.0 also includes many improvements, many of which derive their power from XPath 2.0
• XSLT 3.0/3.1 bring streaming into processing as well as several additional enhancements
• Lab: Transforming XML – XSLT 2.0
Lesson: XSL FO (Formatting Objects)
• Describe the architectural use of XSL-FO
• Recognize key parts of an XSL-FO document
• Understand the relationship between XSL-FO and XSLT
• Apache's FOP: Rendering XML
• Page Types Can Be Conditional
• Content Flows Into Page Regions
• Lab: Working With XSL-FO
Session: Applying XML
Lesson: XML Interoperability
• List aspects of applications driving design decisions
• Describe options for content management and storage
• Explain comparison of relational and hierarchical models
• Discuss options for handling the boundary between relational databases and XML
• XML From a Data Perspective
• XML/Database Interfacing
• Challenges to Mapping XML
Lesson: XML Performance Improvements
• Developing XML programs is complex with many issues to consider
• XML/XSLT/XSL-FO source should be treated just like any other source code/data
• Gotchas abound
• Lab: Best Practices Review
Lesson: XML Processing Security
• Understand the vulnerabilities associated with XML processing
• Recognize the many places where XML processing takes place and how to manage them
• Appreciate the risks associated with XML-related vulnerabilities
• Understand and recognize XML vulnerabilities and attacks
• XML Parser Coercion
• XML Attacks: Structure
• XML Attacks: Injection
• Safe XML Processing
• Lab: Safe XML Processing
• Lab: Dynamic Loading Using XSLT (Optional)
Lesson: XML Applications
• Update and explain the status and roles of XML-related W3C specifications
• Discuss data modeling from an XML and application perspective
• Explain options for using XML in: Server-side or client-side web publication
• Application integration
• Benefits of XML
• Drawbacks of XML
• Crossing Boundaries
• Challenges to Integration
COURSE OBJECTIVE:
This course is an intensive, hands-on introduction to XML, XPath, and XSLT. The course is a balanced mixture of theory and practical labs designed to take students from the basic fundamentals of XML through to the related advanced technologies. The students walk through the different standards in a structured manner to enable them to master the concepts and ideas, which are reinforced in the lab exercises. The course starts with the fundamentals of XML, including coverage of XML Schema. It then moves on to the XPath and XSLT standards, and how to use them to transform XML documents into other documents such as HTML documents or other XML documents.
This course provides indoctrination in the practical use of W3C standards (including XSL and XML Schema) and of implementing tools and technologies. This course is programming language independent, making it useful for Java, .NET, C++, and any other programming orientation. This cour will hit the ground running, applying XML to projects at both an architectural as well as a line by line coding level. We can easily adapt this course to industry and client specific needs.
In addition to valuable knowledge and working examples, students receive a copy of the “Xtensil” product. This unique software was developed to assist in implementing, testing, and fielding XML applications. Xtensil is used as both a teaching aid and a straightforward, basic, fully functional XML toolkit that students can use on Windows and Linux platforms.
Working in a hands-on learning environment student will learn to:
• Write well-formed XML documents
• Model business requirements using XML
• Handle XML reserved characters
• Validate an XML document with a Schema
• Centralize data and markup definition with entities
• Create Schemas using XML tools
• Generate XML documents from databases
• Write XSL templates to transform XML documents into HTML
• Integrate XML, XSL and the DOM to implement a complete solution
• Understand the security concerns related to XML processing
FOLLOW ON COURSES:
Take Next:
TT4320 Next-Level XML / XSLT (with Advanced XML Topics)