General Information

Copyright

Conventions in This Document

Typographical Conventions

Syntax Notation

Information Alerts

Edition Alerts

Video Alerts

Technical Support

Stylus Studio® 2006 Help Overview

Stylus Studio Editions

Stylus Studio XML Enterprise Edition

Stylus Studio XML Professional Edition

Stylus Studio Home Edition

Edition Alerts

More Information

Starting Stylus Studio

Getting Updates

Getting Help

Updating an XML Document-Getting Started

Opening a Sample XML Document

Alternatives

For more information

Updating the Text of a Sample Document

Displaying Line Numbers

Adding Elements in the Text View of a Sample Document

Copying and Pasting in the Text View of a Sample Document

Undoing Operations in the Text View of a Sample Document

Inserting Indents in the Text View of a Sample Document

Querying in the Text View of a Sample Document

Deleting a Query

Updating the Schema of a Sample Document

Creating a Sample Schema

Defining a Sample Element

Adding an Element Reference to a Sample Schema

Defining an Entity in a Sample Schema

Exploring Other Features in a Sample Schema

Updating the Tree Representation of a Sample Document

Adding an Element to a Sample Document Tree

Changing an Element's Data in a Sample Document Tree

Adding Attributes and Other Node Types to a Sample Document Tree

Adding an Entity Reference to a Sample Document Tree

Updating a Sample Document Using the Grid Tab

Modifying Values

Moving Around the Grid

Working with Stylesheets - Getting Started

Opening a Sample Stylesheet

XSLT Stylesheet Editor Quick Tour

Parts of the XSLT Editor

Exploring the XSLT Source Tab

Exploring the Params/Other Tab

Exploring the WYSIWYG Tab

XSLT Scenarios

Working with Scenarios

About Preview

Working with a Sample Result Document

Making a Static Web Page Dynamic by Editing XSLT

Importing a Sample HTML File

Creating the video Template

Instantiating the video Template

Making Titles Dynamic

Making Images Dynamic

Making Summaries Dynamic

Stylesheets That Generate HTML - Getting Started

Video Demonstrations of the XSLT WYSIWYG Editor

Introduction to WYSIWYG in Stylus Studio

Working with Tables

Using Templates

Covnerting Static HTML

Getting Started with the XSLT WYSIWYG Editor

Creating Static HTML

Defining Dynamic Contents

Adding a Table with Dynamic Contents

Using the Properties Window

Making a Static Web Page Dynamic Using the WYSIWYG Editor

Before You Begin

Making Repeating Table Rows in the WYSIWYG Editor

Making Contents Dynamic in the WYSIWYG Editor

Rendering Images as Dynamic Content in the WYSIWYG Editor

Using Conditional If Processing in the WYSIWYG Editor

Using the XSLT Mapper - Getting Started

Opening the XSLT Mapper

Mapping Nodes in Sample Files

Saving the Stylesheet and Previewing the Result

Deleting Links in Sample Files

Defining Additional Processing in Sample Files

Debugging Stylesheets - Getting Started

Setting Up Stylus Studio to Debug Sample Files

Inserting a Breakpoint in the Sample Stylesheet

Gathering Debug Information About the Sample Files

The Variables Window

The Call Stack Window

The Watch Window

Ending Processing During a Debug Session

Defining a DTD - Getting Started

Process Overview

Creating a Sample DTD

Defining Data Elements in a Sample DTD

Defining the Container Element in a Sample DTD

Defining Structure Rules in a Sample DTD

Examining the Tree of a Sample DTD

Defining an XML Schema Using the Diagram Tab - Getting Started

Introduction to the Diagram Tab

Diagram Pane

Text Pane

Definition Browser

Editing Tools of the Diagram Tab

Menus and Tool Bars

In-place Editing

Drag-and-Drop

QuickEdit

Refactoring

Description of Sample XML Schema

Defining a complexType in a Sample XML Schema in the Diagram View

Defining the Name of a Sample complexType in the Diagram View

Adding an Attribute to a Sample complexType in the Diagram View

Adding Elements to a Sample complexType in the Diagram View

Adding Optional Elements to a Sample complexType in the Diagram View

Adding an Element That Contains Subelements to a complexType in the Diagram View

Choosing the Element to Include in a Sample complexType in the Diagram View

Defining Elements of the Sample complexType in the Diagram View

Opening Files in Stylus Studio

Types of Files Recognized by Stylus Studio

Opening Unknown File Types

Opening Files Stored on Third-Party File Systems

Modifications to Open Files

Using the File Explorer

How to Use the File Explorer to Open Files

Other Features of the File Explorer

Working with the File Explorer Filter

Dragging and Dropping Files in the Stylus Studio

Other Ways to Open Files in Stylus Studio

Adding File Types to Stylus Studio

Deleting File Types

Working with Projects

Displaying the Project Window

Displaying Path Names

Other Documents

Creating Projects and Subprojects

Saving Projects

Opening Projects

Recently Opened Projects

Adding Files to Projects

Other Ways to Add Files to Projects

Copying Projects

Rearranging the Files in a Project

Removing Files from Projects

Closing and Deleting Projects

Closing

Deleting

Setting a Project Classpath

Specifying Multiple Classpaths

How to Set a Project Classpath

Using Stylus Studio with Source Control Applications

Tested Source Control Applications

Prerequisites

Recursive Selection

Using Stylus Studio with Microsoft Visual SourceSafe

Using Stylus Studio with ClearCase

Using Stylus Studio with Zeus CVS

Specifying Advanced Source Control Properties

Customizing Tool Bars

Tool Bar Groups

Showing/Hiding Tool Bar Groups

Changing Tool Bar Appearance

Specifying Stylus Studio Options

Setting Module Options

XML Diff

XML Editor

XSLT Editor

Java

Defining Custom Tools

Defining Keyboard Shortcuts

How to Define a Keyboard Shortcut

Deleting a Keyboard Shortcut

Using Stylus Studio from the Command Line

Invoking Stylus Studio from the Command Line

Applying a Stylesheet from the Command Line

Executing an XQuery from the Command Line

Validating XML from the Command Line

Managing Stylus Studio Performance

Troubleshooting Performance

Changing the Schema Refresh Interval

Checking for Modified Files

Changing the Recursion Level or Allocated Stack Size

Automatically Opening the Last Open Files

Configuring Java Components

Stylus Studio Modules That Require Java

Settings for Java Debugging

Verifying the Current Java Virtual Machine

Downloading Java Components

Modifying Java Component Settings

How Auto Detect Works

About JVM Parameters

About JDK Parameters

How to Modify Java Component Properties

Modifying the Classpath

Creating XML Documents

Other Ways to Create XML

Converting Text Files to XML Documents

Alternative to Document Wizards

About CSV File Contents

Delimiting Commas

Structure of Resulting XML Documents

About the Default Values

Running the Convert CSV to XML and Convert Fixed-Width to XML Document Wizards

Specifying User-Defined Columns

Converting HTML to XML Documents

Updating XML Documents

Choosing a View

For More Information

Saving Your Work

Ensuring Well-Formedness

Reverting to Saved Version

Updating Java Server Pages as XML Documents

Using the Text Editor

Text Editing Features

Simple Text Editing

Code Folding

Sense:X

Indent

Line Wrap

Spell Checking

Font

Comments

Bookmarks

Search

Use of Colors in the Text Tab

How to Change Text Colors

Using the Spell Checker

Default Spell Checking

Manual Spell Checking

Specifying Spell Checker Settings

How to Spell Check a Document

Using the Personal Dictionary

Moving Around in XML Documents

Line Numbers

Bookmarks

Tags

Find

Updating DOM Tree Structures

Displaying All Nodes in the Tree View

Adding a Node in the Tree View

Deleting a Node in the Tree View

Moving a Node in the Tree View

Changing the Name or Value of a Node in the Tree View

Obtaining the XPath for a Node

Using the Grid Tab

Layout of the Grid Tab

Features of the Grid Tab

Expanding and Collapsing Nodes

Collapsing Empty Nodes

Renaming Nodes

Resizing Columns

Showing Row Tag Names

Moving Around the Grid Tab

Selecting Items in the Grid

How Grid Changes Affect the XML Document

Types of Changes that Affect the Document

Working with Rows

Reordering Rows

Adding and Deleting Rows

Working with Columns

Selecting a Column

Adding Columns

Deleting Columns

Reordering Columns

Renaming Columns

Changing a Value

Working with Tables

Adding a Nested Table

Moving a Nested Table

Deleting a Table

Sorting a Table

Copying a Table as Tab-Delimited Text

Diffing Folders and XML Documents

Overview

Sources and Targets

The Diff Configuration File

What Diffs Are Calculated?

Tuning the Diffing Algorithm

When Does the Diff Run?

Running the Diff Manually

Symbols and Background Colors

Diffing Folders

Features

How to Diff Folders

How to Diff Documents from the Diff Folders Dialog Box

The XML Diff Viewer

Split View - Tree

Split View - Text

Merged View

View Symbols and Colors

The XML Diff Viewer Tool Bar

Tools for Working with Documents

Removing a Target Document

Diffing a Pair of XML Documents

How to Diff a Pair of Documents

Diffing Multiple Documents

Document Focus

Symbols Used in the Target Document Window

How to Diff Multiple Documents

Modifying Default Diff Settings

Opening the Options Dialog Box

Engine Settings

Presentation Options

Running the Diff Tool from the Command Line

Restrictions

Usage

Using Schemas with XML Documents

Associating an External Schema With a Document

Having Stylus Studio Generate a Schema

Validating XML Documents

Updating a Document's Schema

Removing the Association Between a Document and a Schema

Converting XML to Its Canonical Form

Querying XML Documents Using XPath

Steps for Querying a Document

Displaying Query Results

Saving Query Results

Printing XML Documents

Saving XML Documents

Options for Saving Documents

More About Backup Files

Opening a Backup File

Overview of Convert to XML

File Support

Using Convert to XML

Other Ways to Convert Files to XML

Choosing an Input File

The Convert to XML Editor

Document Pane

Example - .txt Files

Display of Delimiting and Control Characters

Field Names

Document Pane Display Features

Moving Around the Document

Properties Window

How Properties are Organized

Properties for Fixed-Width and Line-Oriented Input Files

Schema Pane

Parts of an Input File

Regions

Region Types

Managing Regions

Rows

Fields

Component and Sub-Component Fields

Working with Regions

Converting the Region Type

How to Convert a Region Type

Adjusting Fixed-Width Regions

Example

Defining and Joining Regions

Defining a Region

Joining Regions

Controlling Region Output

Working with Fields

Naming Fields

Using the Element Name Source Property

More About Using Rows for Field Names

How to Name Fields

Defining Fields

Creating Notes for Fields

Component and Sub-Component Fields

Controlling XML Output

Specifying Element Names

Specifying Format

Omitting Regions and Fields, and Rows

Pattern Matching

Example

Sample Regular Expressions

Specifying Multiple Match Patterns

Working with Nodes

Using Lookup Lists

Defining Lookup Lists

Working with Lookup Lists

Using Key=Value Characters

Creating an Adapter

Specifying File Settings

How to Create an Adapter

Using Adapters in Stylus Studio

Built-In Adapters

How to Open a File Using an Adapter

Using the File Explorer

Using the Open Dialog Box

More About Converting EDI

Using Convert to XML for Converting EDI

Using the Built-In EDI Adapter

Where to Find It

Validating XML from/to EDI

Invoking an Adapter Programmatically

Adapter URLs

Where Adapter URLs are Displayed in Stylus Studio

The StylusFile Object

Constructing Your Own Adapter URL

Using the URL in the Select XML Converter Dialog Box

Using the URL in the Properties Window

Example - demo.bat

Demonstration Files

demo.java

More About the Stylus Studio File System Java API

Javadoc

User-Defined Adapter Properties Reference

Input File Properties

XML Output File Properties

Region Properties

Row Properties

Field Properties

Type-Specific Properties

Specifying Control Characters

Getting Started with XSLT

What Is XSLT?

What XSLT Versions Does Stylus Studio Support?

What Is a Stylesheet?

Example of a Stylesheet

About Stylesheet Contents

What Is a Template?

Contents of a Template

Determining Which Template to Instantiate

How the select and match Attributes Are Different

How the XSLT Processor Applies a Stylesheet

Instantiating the First Template

Selecting Source Nodes to Operate On

Controlling the Order of Operation

Omitting Source Data from the Result Document

When More Than One Template Is a Match

When No Templates Match

Controlling the Contents of the Result Document

Specifying Result Formatting

Creating New Nodes in the Result Document

Controlling White Space in the Result

Specifying XSLT Patterns and Expressions

Examples of Patterns and Expressions

Frequently Asked Questions About XSLT

Sources for Additional XSLT Information

Benefits of Using Stylus Studio

Structural Data View

Sophisticated Editing Environment

XSLT and Java Debugging Features

Integrated XML Parser/XSLT Processor

Tutorial: Understanding How Templates Work

Creating a New Sample Stylesheet

Understanding How the Default Templates Work

Instantiating the Template That Matches the Root Node

Instantiating the Root/Element Default Template

Instantiating the Text/Attribute Default Template

Illustration of Template Instantiations

Editing the Template That Matches the Root Node

Creating a Template That Matches the book Element

Creating a Template That Matches the author Element

Working with Stylesheets

About the XSLT Editor

Creating Stylesheets

Creating a Stylesheet from HTML

Specifying Stylesheet Parameters and Options

Applying Stylesheets

About Applying Stylesheets

Results of Applying a Stylesheet

Applying Stylesheets to Large Data Sets

Creating a Scenario

Cloning Scenarios

Saving Scenario Meta-Information

Applying a Stylesheet to Multiple Documents

Applying the Same Stylesheet in Separate Operations

Applying a Stylesheet to Multiple Documents in One Operation

About Stylesheet Contents

Contents Provided by Stylus Studio

Contents You Can Add

Updating Stylesheets

Dragging and Dropping from Schema Tree into XSLT Editor

Using Sense:X Automatic Tag Completion

Using Sense:X to Ensure Well-Formed XML

Using Standard Editing Tools

Saving Stylesheets

Using Updated Stylesheets

Creating Stylesheets That Generate HTML

Descriptions of WYSIWYG Terms

Inserting Contents in the HTML Editor

Displaying a Repeating Element in the HTML Editor

Adding Conditional Processing in the HTML Editor

Specifying Choose Conditional Processing in the HTML Editor

Specifying If Conditional Processing in the HTML Editor

Instantiating Templates in the HTML Editor

Calling a Named Template

Specifying Properties and Attributes in the HTML Editor

Specifying Extension Functions in Stylesheets

Using an Extension Function in Stylus Studio

Basic Data Types

Declaring an XSLT Extension Function

Working with XPath Data Types

Declaring an Extension Function Namespace

Invoking Extension Functions

Finding Classes and Finding Java

Debugging Stylesheets That Contain Extension Functions

Working with Templates

Viewing Templates

Viewing a List of Templates

Viewing a Specific Template

Checking if a Template Generates Output

Using Stylus Studio Default Templates

Contents of a New Stylesheet Created by Stylus Studio

About the Root/Element Built-In Template

About the Text/Attribute Built-In Template

Creating Templates

Saving a Template

Applying Templates

Updating Templates

Deleting Templates

Using Third-Party XSLT Processors

How to Use a Third-Party Processor

Passing Parameters

Setting Default Options for Processors

Validating Result Documents

Post-processing Result Documents

Generating Formatting Objects

Developing Stylesheets That Generate FO

Troubleshooting FOP Errors

Viewing the FO Sample Application

Deploying Stylesheets That Generate FO

Example

Using Apache FOP to Generate NonPDF Output

Generating Scalable Vector Graphics

About SVG Viewers

Running the SVG Example

Generating Java Code for XSLT

Scenario Settings

Choosing Scenarios

Java Code Generation Settings

How to Generate Java Code for XSLT

Compiling Generated Code

How to Modify the Stylus Studio Classpath

How to Compile and Run Java Code in Stylus Studio

Deploying Generated Code

Overview

About the unlockAPI() Method

XSLT Instructions Quick Reference

xsl:apply-imports

xsl:apply-templates

Format

Description

Example

xsl:attribute

Format

Description

Example

xsl:attribute-set

Format

Description

Example

xsl:call-template

Format

Description

xsl:character-map

Format

Description

Example

xsl:choose

Format

Description

xsl:comment

Format

Description

Example

xsl:copy

Format

Description

Example

xsl:copy-of

Format

Description

xsl:decimal-format

Format

Description

xsl:element

Format

Description

Example

xsl:fallback

xsl:for-each

Format

Description

Example

xsl:for-each-group

Format

Description

xsl:function

Format

Description

Example

xsl:if

Format

Description

Example

xsl:import

Format

Description

xsl:import-schema

Format

Description

Example

xsl:include

Format

Description

xsl:key

Format

Description

xsl:message

Format

Description

xsl:namespace-alias

Format

Description

xsl:number

Format

Description

Example

xsl:otherwise

xsl:output

Format

Description

xsl:output-character

Format

Description

Example

xsl:param

Format

Description

xsl:preserve-space

xsl:processing-instruction

Format

Description

Example

xsl:sequence

Format

Description

Example

xsl:sort

Format

Description

Example

xsl:strip-space

xsl:stylesheet

Format

Description

xsl:template

Format

Description

xsl:text

Format

Description

Examples

xsl:transform

xsl:value-of

Format

Description

Example

xsl:variable

Format

Description

xsl:when

xsl:with-param

Format

Description

Example

Overview of the XSLT Mapper

Example

Graphical Support for Common XSLT Instructions and Expressions

Setting Options for the XSLT Mapper

Simplifying the Mapper Canvas Display

Other Mapper Display Features

Exporting Mappings

Searching Document Panes

Ensuring That Stylesheets Output Valid XML

Steps for Mapping XML to XML

Source Documents

Choosing Source Documents

Source Documents and XML Instances

Types of associations

Source document icons

How to change a source document association

How to Add a Source Document

How to Remove a Source Document

How Source Documents are Displayed

Document structure symbols

Getting source document details

Target Structures

Using an Existing Document

Building a Target Structure

Modifying the Target Structure

Adding a Node

Removing a Node

Mapping Source and Target Document Nodes

Preserving Mapper Layout

Left and Right Mouse Buttons Explained

How to Map Nodes

Removing Source-Target Maps

Working with XSLT Instructions in XSLT Mapper

What XSLT Instructions Are Represented Graphically

Instruction Block Ports

Specifying Values for Ports

Understanding Input Ports

Specifying Values for Input Ports

Red Input Ports

The Flow Port

Adding an Instruction Block to the XSLT Mapper

Notes About Creating Instruction Blocks

xsl:if and xsl:choose

Editing xsl:choose Instruction Properties

Processing Source Nodes

XPath Function Blocks

Parts of a Function Block

Types of Function Blocks

XPath Mathematical Functions

Creating a Function Block

Deleting a Function Block

Logical Operators

Setting a Text Value

Example

How to Set a Text Value on the Mapper Canvas

How to Set a Text Value on the Target Node

Defining Java Functions in the XSLT Mapper

About Adding Java Class Files

Creating and Working with Templates

What Happens When You Create a Template

How to Create a Named or Matched Template

Creating an XSLT Scenario

Overview of Scenario Features

XML Source Documents

Global Parameters

XSLT Processors

Performance Metrics Reporting

Result Document Validation

Post-Processing Result Documents

How to Create a Scenario

How to Run a Scenario

How to Clone a Scenario

Steps for Debugging Stylesheets

Using Breakpoints

Inserting Breakpoints

Removing Breakpoints

Start Debugging

Viewing Processing Information

Watching Particular Variables

Evaluating XPath Expressions in the Current Processor Context

Obtaining Information About Local Variables

Determining the Current Context in the Source Document

Displaying a List of Process Suspension Points

Displaying XSLT Instructions for Particular Output

Using Bookmarks

Determining Which Template Generated Particular Output

Determining the Output Generated by a Particular Template

Profiling XSLT Stylesheets

About Metrics

Enabling the Profiler

Displaying the XSLT Profiler Report

Handling Parser and Processor Errors

Debugging Java Files

Requirements for Java Debugging

Setting Options for Debugging Java

Using the Java Editor

Stylus Studio and the JVM

Example of Debugging Java Files

Setting Up to Debug Sample Java/XSLT Application

Inserting a Breakpoint in the Sample Java/XSLT Application

Gathering Debug Information About the Sample Java/XSLT Application

What Is an XML Schema?

Reference Information

Creating an XML Schema in Stylus Studio

Creating Your Own XML Schema

Creating XML Schema from a DTD

Using the DTD to XML Schema Document Wizard

Using the DTD to XML (Trang) Document Wizard

Creating XML Schema from an XML Document

Using the XML to XML Schema Document Wizard

Using the Create Schema from XML Content Feature

Displaying the New XML Schema

Creating XML Schema from EDIFACT Messages

Setting Wizard Options

Running the EDIFACT to XML Schema Documentation Wizard