XML Programming
Course length: 5 days
Prerequisites: HTML Programming Introduction and Java Programming Introduction or equivalent experience.
Topics
- A Brief History of XML: Birth of XML; Content vs. Presentation; Self-Describing Data; A Standard Document Format; Uses for XML
- XML Grammar: Structure of an XML Document; Handling Whitespace; Character and Entity References; Well-Formed XML; Elements; Attributes; Processing Instructions; Comments; CDATA Sections
- Valid XML: Document Types, DTD Structure, Defining Elements, Cardinality, Attributes; Required, Implied, Default, and Fixed Attributes; Enumerations; XML Namespaces; Limitations of DTDs; XML Schema; Advantages of XML Schema; Data Types
- Using XML in Applications: SAX and DOM Parsing; XSLT; Xpath; XSL-FO; Web Services; SOAP
- XML Schema Fundamentals: What is an XML schema?; Schemas vs. DTDs; Structure of a Schema; Schema vs. Instance Document; Associating Schemas with Documents; Testing, Validating and Displaying Schemas and Documents; No more DTDs?
- Using XML Schema: When to Use Schemas; Validation; Validation Strategies; Schemas and Web Presentation
- Creating and Implementing Schema: Simple types; Atomic types; Restrictions by Pattern; Enumerations; List Types; Union Types; Legal and Illegal Type Nesting; Anys and Anonymous Types; Complex Types; Empty Content; Mixed Content; Annotations; Groups; Nillable Values
- The Java API for XML Processing (JAXP): Parsing XML; SAX and DOM; What the W3C Says; What the W3C Doesn't Say; Sun and Apache; JAXP; Parser Factories; Pluggable Parsers; Parser Features and Properties
- The Simple API for XML (SAX): Origins of SAX; The SAX Parser; The SAX Event Model; Reading Document Content; Handling Namespaces; SAX Features for Namespaces; Parsing Attributes; Error Handling; DTD Validation; Schema Validation; Handling Processing Instructions
- The Document Object Model (DOM): Origins of the DOM; DOM Levels; DOM2 Structure; The Document Builder; DOM Tree Model; DOM Interfaces; Document, Node and NodeList Interfaces; Element and Text Interfaces; Finding Elements By Name; Walking the Child List; The Attribute Interface; Traversing Associations; The JAXP Transformer Class; Sources and Results; Combining SAX and DOM Processing; Namespaces and the DOM
- Manipulating XML Information with the DOM: Modifying Documents; Modifying Elements; Modifying Attributes; Managing Children; Seeking a Document Location; The ProcessingInstruction Interface; Creating New Documents
- Using the JAXP for Transformations: XPath, XSLT and Java; The Transformer Class; The TransformerFactory Class; Sources and Results; Identity Transformations; Creating Transformations from Stylesheets; Template Parameters; Output Methods and Properties
- XPath: Use of XPath in Other XML Technologies; XPath Expressions; The Axis; The Node Test; The Predicate; XPath Types; XPath Functions; Implied Context; Querying with Xpath; XPath and the DOM
- Templates and Production: Rule-Based Transformations; Templates and Template Matching; Built-In Template Rules; Recursion Through Templates; Template Context Output Methods; Controlling Whitespace; Literal Replacement Elements; Formalizing Text, Elements and Attributes; Defining Target Vocabulary; Generating Processing Instructions
- XSLT: Dynamic Content and Flow Control: Web Applications Using XSLT; J2EE and JAXP; Deriving Source Content; Getting Source Values; Attribute Value Templates; Copying Source Elements and Trees; Looping; Conditionals
Return to Courses