XMLSpy Editing

This is a Hands On XMLSpy Course designed to get you up to speed working with XML. XMLSpy makes it easy to create, edit, validate, and deploy XML. Working with DTDs, Schemas, XSLT, SOAP, WSDL, or databases is an intuitive and easy process.

Workflows benefiting from XML are: Corporate Knowledge Workers, Information Publishers, Technical Publishing Departments. Anybody who produces manuals, user guides, maintenance and reference documentation in a variety of media or Cross Media workflow.

Basic Class Info

Who Should Attend

Corporate Knowledge Workers

Who must create, edit, re-use and publish information stored as XML with increased productivity & Network Publishing Support

Information Publishers

Who need XML-savvy, server-based solutions for publishing personalized documents and information in databases & web portals

Technical Publishing Departments

Who produce manuals, user guides, maintenance and reference documentation in a variety of media.

Commercial Publishers

Book publishers for whom XML and template-based publishing enables new products in new media quickly and inexpensively.

Cross–Media Publishers

Those who must repurpose material for Print, HTML, XML, PDF, Ebook, Palm, Tagged PDF, SVG, or SGML


Prerequisites

You should be familiar with either the Windows or Macintosh operating systems.

Experience with a coding language such as HTML is helpful


Workflows Benefiting from XMLSpy

XML Workflows

Corporate Publishing

Structured Workflows

Cross Media Publishers

Adobe Technical Communication Suite Users

Technical Writers

Prepress Workflows

Graphic Design Studios

Web Developers & Content creators

Flash Developers


Basic Pricing & Training Options

Pricing & Training Overview

KLH Basic Consulting & Training Rates

Feel free to click on any of the links below to get a general idea of our basic rates. We feel you will find them quite reasonable and competitive with the “traditional one shoe fits all” options available elsewhere.

Drop us a line and let us know what your specific workflow needs are and we will be glad to send you personal quote. We will also target any quotes to your needs and will work with you to stay within budget restraints and still deliver the best training possible.

We can also help you develop your workflow via consulting and onsite outsourcing.

FrameMaker structured workflows are especially welcome here at KLH.

Phone: 508.362.8206

Email: mab@klhpublishing.com

Online Form: Click Here Now

vText Link: Click Here Now use 508.362.8206 or 508.364.5750

Some pricing options require that travel costs and training materials are extra.

Please feel free to contact us at anytime for more info or a custom quote.


OnSite Training

Onsite Training

If you send 12 people to a traditional classroom setting you’ll end up paying around $8,000+. This doesn’t include the costs of travel & lodging. Trying to coordinate schedules and down time are also hidden budget killers.

Bring KLH onsite for a set training fee that uses a custom course outline that targets your specific workflow. No per person limits or add on fees. You also get the advantage of onsite consulting since we can get a look at the real workflow in an up close and real world situation.

In-house Rates

$1,500 One Day

$2,500 Two Days

$3,000 Three Days

$4,800 Full Week

Travel costs and training materials are extra.

Please feel free to contact us at anytime for more info or a custom quote.


ClassRoom Training

Classroom Training

Classroom training is possible via our training partners in most major US Cities. It is useful when Onsite training is not possible or when combining several students with other clients can help keep budgets within reason.

Most classes run 3 days or can be configured to cover specific topics within your workflow.

ClassRoom Rates per Student

One to Three Students $1,200

Four to Five Students $1,000

Five to Eight Students $850

Eight Students plus $750

Costs are based upon a per student fee.

Please feel free to contact us at anytime for more info or a custom quote.


OnLine Training

Online Training

Online training has the advantage of training employees at one time who are located in different locations.

It also has the advantage of eliminating travel and lodging costs from the training budget.

It will require a reliable connection to the Internet for those involved.

Online classes can be configured to cover specific topics within your workflow as well as provide traditional training to participants in remote locations at the same time.

Timeframes possible can be from a few hours to several days.

OnLine per Day Rates per Student

One to Three Students $450

Three to Five Students $325

Five to Eight Students $275

Eight Students plus $225

Costs can be based upon a per student fee or a flat fee for seminars.

Please feel free to contact us at anytime for more info or a custom quote


Private Training

Private Training

Most people will agree that private training is the best option for intensive learning. It is a great option for career changers or those who work within an intensive workflow.

All attention is on you and discounts for software packages such as any of the Adobe Suites can make it actually more cost effective than the traditional training offered anywhere else. Contact us now for a great deal.

Training can be done OnSite, OnLine, or at a designated location.

Private training runs 2 to 5 days depending on the workflow and needs of the client.

Private Rates per class

One to Three Days $1,650

Four to Five Days $2,400

Two Weeks $3,850

Costs are based upon a per student fee.

Rates can be discounted for software packages such as the any of the Adobe Software Suites.

Please feel free to contact us at anytime for more info or a custom quote.


KLH Job Contracting & Outsourcing Services

KLH Basic Consulting & Training Rates

Feel free to rollover any of the links above to get a general idea of our basic rates. We feel you will find them quite reasonable and competitive with the “traditional one shoe fits all” options available elsewhere

Drop us a line and let us know what your specific workflow needs are and we will be glad to send you personal quote. We will also target any quotes to your needs and will work with you to stay within budget restraints and still deliver the best training possible.

We can also help you develop your workflow via consulting and onsite outsourcing.

FrameMaker structured workflows are especially welcome here at KLH.

Phone: 508.362.8206

Email: mab@klhpublishing.com

Online Form: Click Here Now

vText Link: Click Here Now use 508.362.8206 or 508.364.5750

Some pricing options require that travel costs and training materials are extra.

Please feel free to contact us at anytime for more info or a custom quote.


Class & Topics Outlines

Topics Outline

XML Introduction
What is XML?
The Power of XML
Extending XML
XML in Practice
What XML is Not
Writing XML
Tools for Writing XML
An XML Sample
Rules for Writing XML
Elements, Attributes, and Values
How To Begin
Creating the Root Element
Writing Child Elements
Nesting Elements
Adding Attributes
Using Empty Elements
Writing Comments
Predefined Entities & Five Special Symbols
Displaying Elements as Text
XSLT
Transforming XML with XSLT
Beginning an XSLT Style Sheet
Creating the Root Template
Outputting HTML
Outputting Values
Looping Over Nodes
Processing Nodes Conditionally
Adding Conditional Choices
Sorting Nodes Before Processing
Generating Output Attributes
Creating and Applying Templates
XPath Patterns & Expressions
Locating Nodes
Determining the Current Node
Referring to the Current Node
Selecting a Node’s Children
Selecting a Node’s Parent or Siblings
Selecting a Node’s Attributes
Conditionally Selecting Nodes
Creating Absolute Location Paths
Selecting All the Descendants
XPath Functions
Comparing Two Values
Testing the Position
Multiplying, Dividing, Adding, Subtracting
Counting Nodes
Formatting Numbers
Rounding Numbers
Extracting Substrings
Changing the Case of a String
Totaling Values
More XPath Functions
XSL-FO
The Two Parts of an XSL-FO Document
Creating an XSL-FO Document
Creating and Styling Blocks
of Page Content
Adding Images
Defining a Page Template
Creating a Page Template Header
Using XSLT to Create XSL-FO
Inserting Page Breaks
Outputting Page Content in Columns
Adding a New Page Template
Creating a DTD
Working with DTDs
Defining an Element That Contains Text
Defining an Empty Element
Defining an Element That Contains a Child
Defining an Element
That Contains Children
Defining How Many Occurrences
Defining Choices
Defining an Element
That Contains Anything
About Attributes
Defining Attributes
Defining Default Values
Defining Attributes with Choices
Defining Attributes with Unique Values
Referencing Attributes with Unique Values
Restricting Attributes to Valid XML Names
Entities and Notations in DTDs
Creating a General Entity
Using General Entities
Creating an External General Entity
Using External General Entities
Creating Entities for Unparsed Content
Embedding Unparsed Content
Creating and Using Parameter Entities
Creating an External Parameter Entity
Validation and Using DTDs
Creating an External DTD
Declaring an External DTD
Declaring and Creating an Internal DTD
Validating XML Documents Against a DTD
Naming a Public External DTD
Declaring a Public External DTD
Pros and Cons of DTDs
XML Schema Basics
Working with XML Schema
Beginning a Simple XML Schema
Associating an XML Schema
with an XML Document
Annotating Schemas

Defining Simple Types
Defining a Simple Type Element
Using Date and Time Types
Using Number Types
Predefining an Element’s Content
Deriving Custom Simple Types
Deriving Named Custom Types
Specifying a Range of Acceptable Values
Specifying a Set of Acceptable Values
Limiting the Length of an Element
Specifying a Pattern for an Element
Limiting a Number’s Digits
Deriving a List Type
Deriving a Union Type
Defining Complex Types
Complex Type Basics
Deriving Anonymous Complex Types
Deriving Named Complex Types
Defining Complex Types
That Contain Child Elements
Requiring Child Elements to Appear in Sequence
Allowing Child Elements to Appear in Any Order
Creating a Set of Choices
Defining Elements to Contain Only Text
Defining Empty Elements
Defining Elements with Mixed Content
Deriving Complex Types from Existing Complex Types
Referencing Globally Defined Elements
Controlling How Many
Defining Named Model Groups
Referencing a Named Model Group
Defining Attributes
Requiring an Attribute
Predefining an Attribute’s Content
Defining Attribute Groups
Referencing Attribute Groups
Local and Global Definitions
XML Namespaces
Designing a Namespace Name
Declaring a Default Namespace
Declaring a Namespace Name Prefix
Labeling Elements
with a Namespace Prefix
How Namespaces Affect Attributes
Using XML Namespaces
Populating an XML Namespace
XML Schemas, XML Documents, and Namespaces
Referencing XML Schema Components
in Namespaces
Namespaces and Validating XML
Adding All Locally Defined Elements
Adding Particular Locally Defined Elements
XML Schemas in Multiple Files
XML Schemas with Multiple Namespaces
The Schema of Schemas as the Default
Namespaces and DTDs
XSLT and Namespaces
XSLT 2.0
Extending XSLT
Creating a Simplified Style Sheet
Generating XHTML Output Documents
Generating Multiple Output Documents
Creating User Defined Functions
Calling User Defined Functions
Grouping Output Using Common Values
Validating XSLT Output
XPath 2.0
XPath 1.0 and XPath 2.0
Averaging Values in a Sequence
Finding the Minimum or Maximum Value
Formatting Strings
Testing Conditions
Quantifying a Condition
Removing Duplicate Items
Looping Over Sequences
Using Today’s Date and Time
Writing Comments
Processing Non-XML Input
XQuery 1.0
XQuery 1.0 vs. XSLT 2.0
Composing an XQuery Document
Identifying an XML Source Document
Using Path Expressions
Writing FLWOR Expressions
Testing with Conditional Expressions
Joining Two Related Data Sources
Creating and Calling
User Defined Functions
XQuery and Databases
Ajax, RSS, SOAP, and More
Ajax Basics
Ajax Examples
RSS Basics
RSS Schema
Extending RSS
SOAP and Web Services
SOAP Message Schema
WSDL
KML Basics
A Simple KML File
ODF and OOXML
eBooks, ePub, and More
Tools for XML
XML Editors
Additional XML Editors
XML Tools and Resources

Class Outline

The XMLSpy Game
XML Intro
XML Schemas
XSL/XSLT
Simple Object Access Protocol
XML Applications in Today’s World
Editing XML Documents with XMLSpy
Creating XML Documents
Elements & Attributes
XML syntax guidelines
Checking for well-formedness
Declaring the XML version
Whitespace
XML comments
Entities
Character Data (CDATA)
Enhanced Grid View
Viewing XML documents in Grid view
How XML documents are rendered in Grid View
Working with Grid View
Converting Data Sources to XML
Text files
Relational databases
Microsoft Word documents
Creating and Managing XMLSpy Projects
Adding files
Folder types
Setting folder properties
Source control integration
Helpful Editing Features
Online Help
Spell checking
Customizing the XMLSpy editing environment
Customizing XMLSpy toolbars
DTD Editing and Validation
XML content Models
Instance Documents and Validation
Document Type Definitions
DTD example
Defining Elements
Defining Attributes
Defining Entities
Declaring a DTD
Validating XML
Editing DTDs
Limitations of DTDs
Editing XML Schemas with XMLSpy
Viewing an XML Schema in Schema Design View
Schema components
Editing XML Schemas
Using namespaces
Configuring XML Schema Design View
Editing & Validating XML documents using an XML Schema
XML Schema Syntax
Simple types
Deriving simple types
Global definitions
Complex types
Anonymous type definitions
Publishing & Documenting Your XML Schema

Advanced XML Schema Development
Using Namespaces
Default namespace
Schemas in multiple files
XML Schema Modeling
Compositor models
Groups
Attribute groups
Object Oriented Schema Design
Deriving complex types by extension
Deriving complex types by restriction
Redefining complex types from external schemas
Restricting the use of complex types
Substitution groups and abstract type definitions
Using XML Schemas with DTDs
Generating class files from XML Schemas
XML Schema and Relational Databases
Converting relational databases into XML Schemas
Converting XML Schemas into relational databases
Using XML Schema extensions
Introduction to XSLT
Introducing XSLT by Debugging It
Analyzing the XSLT debugging process
Moving on with XSLT
Simple Node selection
Iterating within an XSLT document
Finding the Intended Content
Using the XMLSpy Evaluate XPath Statements
XPath basics
Taking a Close Look at Other XSLT Statements
Repetition with xsl:for-each
Conditional processing with an xsl:if
Conditional processing with an xsl:choose
The Sort feature
Text, variables, and data
Advanced XSLT
Functions, Variables, and Imports
Creating variables
Applying templates
Calling templates
Using modes
Importing XSLT documents
Including XSLT documents
Functions and XSLT
XSLT data types and conversion
Node set functions
String functions
Boolean functions
Number functions
Additional XSLT functions
XSLT Tips
Generating content in specialized ways
Parsing keys in attributes
Counting attribute items
Generating child nodes
Accessing large amounts of data quickly
Finding the parent path
Getting more help
Building Web Sties with Authentic and Concoon
An introduction to Cocoon and Authentic
The application
The client
Introduction to SOAP and WSDL.
SOAP Theory
The SOAP specification
The details of the SOAP specification
SOAP bindings and protocols
The WSDL Specification
WSDL basics
Illustrated WSDL
WSDL and bindings
XMLSpy WSDL Editing
XMLSpy SOAP Debugging