516. XSLT Version 1.2 This comprehensive four-day course develops in-depth knowledge and skills in transforming XML documents using eXtensible Stylesheet Language Transformations, or XSLT. Students work through extensive hands-on exercises in transformations from XML to plain text, HTML, and XML, with good grounding in XPath along the way. Intermediate and advanced techniques are also covered including variables and parameters, callable templates, sorting and grouping, tail recursion, working with multiple documents, and XSLT extensions. The course teaches XPath and XSLT 1.0 but looks forward to the 2.0 releases of both specifications with pointers about what new features to expect. Prerequisites * Ability to read and to write well-formed XML -- Course 501 is excellent preparation. * Ability to read a DTD not strictly required, but preferred. Learning Objectives * Write simple and complex queries into XML document content using XPath. * Harness the built-in template rules to process just the right source information, getting maximum leverage from the XSLT processor. * Control the exact production of text, HTML and XML elements, and whitespace. * Use mode and priority to control template matching. * Use looping and conditional processing to manage output production. * Declare, bind and reference XSLT variables and parameters. * Use callable templates to capture common transformations and styling. * Filter and sort XSLT output. * Use XSLT keys and other techniques to achieve grouping in transformation output and to derive aggregate information on groups. * Produce refined transformation output including auto-numbering, formatted numeric output, and aggregate values such as sums and counts. * Implement more complex processes using tail recursion in callable templates. * Use the XSLT document function to manage multiple source documents. * Import and include multiple transform definitions to foster reuse of transformation logic. * Use XSLT extensions to empower transforms with more sophisticated and reusable logic. Timeline: 4 days. Chapter 1. Getting Started with XSLT XSL and XSLT Rule-Based Transformations Templates Producing Text, HTML, and XML Chapter 2. XPath Addressing XML Content XPath in XSLT Tree Structure XPath Expressions Type Model Context Axis, Node Test, and Predicate Abbreviations Proximity Position XPath Functions Comparisons Between Various Types Chapter 3. Templates and Production 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 Chapter 4. Dynamic Content and Flow Control Deriving Source Content Getting Source Values Attribute Value Templates Copying Source Elements and Trees Looping Conditionals Chapter 5. Variables and Template Management Variables Using Variables to Capture Context Information Result Tree Fragments Parameters Calling Templates Explicitly Global Variables and Stylesheet Parameters Template Modes Chapter 6. Sorting and Grouping Sorting Data Type for Sorting Grouping Uses for Grouping Using the Preceding-Sibling Axis Using XSLT Keys Iterating Over Groups Iterating Within a Group Chapter 7. Advanced XSLT Auto-Numbering Number Formatting XSLT Performance Debugging and Diagnostics Computing Aggregate Values Tail Recursion Chapter 8. Multiple Documents and Transforms Merging Multiple Source Documents The XSLT Document Function Reusing Transformation Logic Including Transforms Importing Transforms Chapter 9. Extensions Extension Namespaces and Exclusions Extension Elements Extension Functions EXSLT Redirects Node-Set Conversion Appendix A. Learning Resources System Requirements Hardware, Minimum: 500 MHz, 128 meg RAM, 50 meg disk space. Hardware, Recommended: 1.0 GHz, 256 meg RAM, 50 meg disk space. Operating System: Tested on Windows XP Professional. Course software should be viable on all systems which support W3C-compliant XML tools. Network and Security: Limited privileges required -- please see our standard security requirements at http://capcourse.com/Guides/Security.gen.html. Software Requirements: All free downloadable tools.