Building Applications with XML, XSD and XSL
EDI, SGML, HTML, XML: hype or real?
The Move from EDI to XML
Comparing HTML and XML
Key ideas within the XML recommendation
Modeling Tools and Usage of UML
Making a model.
XML generating capabilities of Case tools
Why do we need a data model?
Automatically generating a DTD or schema.
Reverse engineering an XML file
The root element
Well formed XML and Valid XML.
Markup and content rules.
Entities and PIs
Using processing instructions
Usage of external entities
Internal and external DTD
Document Type Definition
Making a DTD based on a model.
DTD rules and techniques.
Declaring elements and Attributes
Simple entities and Parameter entities
Graphically modeling a DTD
Limitations of DTDs
CDATA and Comments
Adding non-parsed data to the XML file
CDATA Statement usage
Adding scripts to an XML file
Adding binary files to an XML document
Usage of comments within an XML file
Difference between comments and CDATA
Why do we need Namespaces?
The default Namespace
Usage of the target namespace.
Setting up a Namespace for your company
Usage of Namespaces in a schema
Namespaces in a Stylesheet
Multiple Namespaces in one document
The XSI namespace
Working with simpletypes
Exercises with restriction, Union and list
XSD and regular expressions
XSD and namespaces
Import and include exercise
Exercise with complexcontent and simplecontent
Reusing and importing XSD types
Using XPath basic instructions
Document root, finding child nodes
The current context element
The 7 node types explained
Overview of XPath function categories
Node, Numeric, String, Boolean functions
Variables and parameters, xsl:variable
Performing repetition and conditional processing
Using XSLT functions
Loop structures in a style sheet, xsl:for-each
If-then statements and choose issues
Programming tips and tricks
Namespace issues inside a stylesheet
Accessing external documents
Advanced stylesheet usage
Overview of XSL-FO
B2B Integration Tools
Overview of the market.
BizTalk and Oracle demos.
Building or buying a solution?
Comparing popular B2B tools.
EAI (Enterprise Application Integration)
Self routing and non-routing documents.
The ebXML and BizTalk framework.
What is SOAP?
SOAP and RPC.
Tightly versus Loosely coupled systems
Wire level security.
Message level security.
Private and Public Keys
Certificates, Hashes and Signatures.
Encryption and authentication in SOAP
Using security namespaces
XML A2A Architectures
Why XML based Application to Application?
The Wire, Description and Discovery Stack
Sending XML to a database
XML usage in Office tools
UDDI, WSDL and ebXML
The ebXML initiative examined
WSDL and UDDI.
Why is the ebXML concept so important?
The UDDI toolkit
Registering a webService
This training provides:
A high-level overview and quick tour of XQuery
Information to write sophisticated queries, without being bogged down by the details of types, namespaces, and schemas
Advanced concepts for users who want to take advantage of modularity, namespaces, typing and schemas
Guidelines for working with specific types of data, such as numbers, strings, dates, URIs and processing instructions
A complete alphabetical reference to the built-in functions and types
Participants will also learn about XQuery's support for filtering, sorting, and grouping data, as well as how to use FLWOR expressions, XPath, and XQuery tools for extracting and combining information. During the training they will find out how to apply all of these tools to a wide variety of data sources, and how to recombine information from multiple sources into a single final output result.
What Is XQuery?
FLWOR (for, let, where, order by, return)
The Design of the XQuery Language
XQuery in Context
The XQuery Data Model
Categories of Expressions
Keywords and Names
Whitespace in Queries
Including Elements and Attributes from the Input Document
Selecting and Joining Using FLWORs
Selecting with Path Expressions
Selecting Distinct Values
Sorting and Grouping
Sorting in XQuery
Copying Input Elements with Modifications
Working with Positions and Sequence Numbers
Using Intermediate XML Documents
XQuery and an Namespace
The XQuery Type System
The Built-in Types
Types, Nodes, and Atomic Values
Type Checking in XQuery
Automatic Type Conversions
Constructors and Casting
Prolog and Module
Structure of a Query: Prolog and Body
Assembling Queries from Multiple Modules
Declaring External Functions
What Is a Schema?
Why Use Schemas with Queries?
W3C XML Schema: A Brief Overview
In-Scope Schema Definitions
Schema Validation and Type Assignment
Sequence Types and Schemas
What Is Static Typing?
The Typeswitch Expression
The Treat Expression
The zero-or-one, one-or-more, and exactly-one Functions
Principles of Query Design
Constructing and comparing Numeric Values
Functions on Numbers
Constructing, comparing and manipulating Strings
Concatenating and Splitting Strings
The Structure of a Regular Expression
Representing Individual Characters
Representing Any Character
Representing Groups of Characters
Character Class Expressions
Using Sub-Expressions with Replacement Variables
Date and Time Types
Extracting Components of Dates, Times, and Durations
Using Arithmetic Operators on Dates, Times, and Durations
The Date Component Types
Working with Qualified Names
Other XML Components
PI (Processing Instructions)
XQuery Update Facility
XQJ - XQuery API for Java
Setting the Query Context
Option Declarations and Extension Expressions
XQuery vs. SQL
XML Data vs. Relational Data
SQL Syntax vs. XQuery Syntax
SQL and XQuery
XQuery vs. XSLT
XQuery and XPath
XQuery vs. XSLT
eXist-db Development and Performance
The objective is to enable attendees to quickly build applications inXQuery and make them ready for production use. Attendees will learn how to diagnose and resolve performance issues, properly define indexes for best performance, and how to optimise XQuery applications for concurrency.
Application development in XQuery
We will guide you through a number of concrete application examples to show you how to:
Quickly prototype a web application in XQuery
Choose an application structure
Use the right tools for application development (eXide, oXygen, WebDAV)
Use and write function libraries and extension modules
Set up indexes, URL rewriting, external resources
Package and deploy your application
Performance and Optimisation
Performance optimisation and making an application production ready:
Understanding the basics of query execution and optimisation in eXist-db
Characteristics of the different index types and their use
Performance analysis, profiling
Tuning indexes and database settings
Optimising for concurrency
You can contribute your own use cases for discussion or as an example which can can be worked through together during the day.
Suitable for those requiring an introduction to XML and XQuery with eXist-db and can also be as a pre-training course for the 2 day eXist-db Development and Performance course.
Service-Oriented Architecture: Strategy, Technology and Methodology
This course is intended for Post Graduate (or equivalent) level students and will be a combination of lectures and lab sessions (theory and practice).
At the end of the course the student should be able to:
Knowledge and Understanding.
Understand the principles and business advantage of systems developed around services.
Become fully aware of the major protocols and technologies involved in the web services standard, and understand how these technologies fit together. Your knowledge will extend to leading-edge and emerging aspects of web services as well as the more established elements of the standard.
Understand in depth the technology used to enable systems based on a widely used programming language to both use and provide Web Services.
Identify where the service oriented approach and in particular web services are appropriate for particular business scenarios.
Consider the most effective design for a web services solution
Acquire, in the future, knowledge and understanding of emerging aspects of the rapidly evolving web services standard
Operate with current technologies associated with Web Services that are platform neutral – XML, SOAP, WSDL
Write and expose web services in a widely used programming language and write client code in that language to invoke web services.
The overall approach to design of systems based on services
The RESTful approach to web services and the SOAP standard
The Web Services Definition Language (WSDL) and other standards for the specification of services.
Advanced web service standards to ensure such features as security and reliability
BPEL, the Business Process Execution Language
Web services in the cloud and the use of web services by mobile devices.
During the training, advanced technologies will be presented XML:
new standard XPath 2.0 allows identifying parts of an XML document tree
XQuery language that fulfills a similar task as the SQL language for relational databases
advanced XML Schema
This course is for those who wish to deepen their knowledge of XML and take advantage of its advanced capabilities.
Data types in XPath 1.0 and 2.0
Operators and expressions (logical, comparison, arithmetic, ...)
FLWOR expression (For Let Where Order to Return)
Types of simple and complex
Groups of elements and attributes
Create patterns using different namespace
This course is intended for analysts, designers and administrators of systems based on XML technology.
The training is an introduction to XML and its key technologies. Allows you to acquire the skills involved in creating valid XML documents, modeling the structure of an XML document (using DTP or XML Schema) and transformations of XML files to other formats (XHTML, HTML, TXT, PDF).
Introduction to XML
The components of an XML document
Benefits of XML
Modeling the structure of a document using the DTD
DTD declaration and definition
Internal and external DTD
Model nutrient content of the document
Declaration of elements
Declaration of attributes
Modeling the structure of a document using XML Schema
Built-in XML Schema data types
Types of user data
Aspects of forcing
Assemblers sequence, choice and all
Defining instances of attributes
Axis, node test, the predicate
Operators and XPath functions
Transforms an XML document - the standard XSLT
Types of result documents
Variables and Parameters
Two methods of inducing transformation