| <?xml version="1.0"?> |
| <!-- |
| ******************************************************************************* |
| * Copyright (c) 2001, 2007 - W3C, Standards for Technology in Automotive Retail, |
| * and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * David Carver - 20071228 - STAR - Updated to XML Schemas 2001 1.0 |
| * Note this schemas is a modified version of the schema for XSLT 2.0, it has |
| * been stripped of all XSLT 2.0 additions, to bring it in line with the XSLT 1.0 |
| * specification. |
| * The original version may be found at http://www.w3.org/2007/schema-for-xslt20.xsd |
| * The original W3C copyright notice is included: |
| * David Carver - 20080330 - STAR - bug 224819 - changed procesContents from lax to skip |
| * David Carver - STAR - bug 293902 - correct exclude-result-prefix to use prefix-list |
| ******************************************************************************* |
| ******************************************************************************* |
| * W3C® SOFTWARE NOTICE AND LICENSE |
| * http://www.w3.org/Consortium/Legal/copyright-software-19980720 |
| * |
| * Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of |
| * Technology, Institut National de Recherche en Informatique et en Automatique, |
| * Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/ |
| * |
| * This W3C work (including software, documents, or other related items) is being |
| * provided by the copyright holders under the following license. By obtaining, |
| * using and/or copying this work, you (the licensee) agree that you have read, |
| * understood, and will comply with the following terms and conditions: |
| * |
| * Permission to use, copy, modify, and distribute this software and its |
| * documentation, with or without modification, for any purpose and without fee |
| * or royalty is hereby granted, provided that you include the following on ALL copies |
| * of the software and documentation or portions thereof, including modifications, that |
| * you make: |
| * |
| * 1. The full text of this NOTICE in a location viewable to users of the redistributed |
| * or derivative work. |
| * 2. Any pre-existing intellectual property disclaimers, notices, or terms and |
| * conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/" |
| * 3. Notice of any changes or modifications to the W3C files, including the date changes |
| * were made. (We recommend you provide URIs to the location from which the code is |
| * derived.) |
| * |
| * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO |
| * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, |
| * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF |
| * THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, |
| * TRADEMARKS OR OTHER RIGHTS. |
| * |
| * COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL |
| * DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. |
| * |
| * The name and trademarks of copyright holders may NOT be used in advertising or publicity |
| * pertaining to the software without specific, written prior permission. Title to copyright |
| * in this software and any associated documentation will at all times remain with copyright |
| * holders. |
| ******************************************************************************************** |
| --> |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
| xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
| targetNamespace="http://www.w3.org/1999/XSL/Transform" |
| elementFormDefault="qualified" > |
| |
| <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| <xs:annotation> |
| <xs:documentation> |
| |
| </xs:documentation> |
| </xs:annotation> |
| <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| |
| <!-- |
| The declaration of xml:space and xml:lang may need to be commented out because |
| of problems processing the schema using various tools |
| --> |
| |
| <xs:import namespace="http://www.w3.org/XML/1998/namespace" |
| schemaLocation="http://www.w3.org/2001/xml.xsd"/> |
| |
| <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| <xs:annotation> |
| <xs:documentation> |
| PART A: definitions of complex types and model groups used as the basis |
| for element definitions |
| </xs:documentation> |
| </xs:annotation> |
| <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| |
| <xs:complexType name="generic-element-type" mixed="true"> |
| <xs:anyAttribute namespace="##other" processContents="skip"/> |
| </xs:complexType> |
| |
| <!-- <xs:complexType name="versioned-element-type" mixed="true"> |
| <xs:complexContent> |
| <xs:extension base="xsl:generic-element-type"> |
| <xs:attribute name="version" type="xs:decimal" use="optional"/> |
| |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| --> |
| |
| <xs:complexType name="element-only-versioned-element-type" mixed="false"> |
| <xs:complexContent> |
| <xs:restriction base="xsl:generic-element-type"> |
| <xs:anyAttribute namespace="##other" processContents="skip"/> |
| </xs:restriction> |
| </xs:complexContent> |
| |
| </xs:complexType> |
| |
| <xs:complexType name="sequence-constructor"> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:generic-element-type"> |
| <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:group name="sequence-constructor-group"> |
| <xs:choice> |
| |
| <xs:element ref="xsl:variable"/> |
| <xs:element ref="xsl:instruction"/> |
| <xs:group ref="xsl:result-elements"/> |
| </xs:choice> |
| </xs:group> |
| |
| <xs:element name="declaration" type="xsl:generic-element-type" abstract="true"/> |
| |
| <xs:element name="instruction" type="xsl:generic-element-type" abstract="true"/> |
| |
| <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| <xs:annotation> |
| <xs:documentation> |
| |
| PART B: definitions of individual XSLT elements |
| Elements are listed in alphabetical order. |
| </xs:documentation> |
| </xs:annotation> |
| <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| |
| <xs:element name="apply-imports" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| This command applies template rule from an imported style sheet. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"/> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="apply-templates" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Applies template rules based on a given XPath selection criteria. If no template |
| is found the built in templates are used. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="xsl:sort"/> |
| <xs:element ref="xsl:with-param"/> |
| </xs:choice> |
| <xs:attribute name="select" type="xsl:expression" default="child::node()"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Specifies the XPath criteria to be used to apply the templates. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="mode" type="xsl:mode"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Specifies the type of template to be used if there is more than |
| one way in which to process the given criteria. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="attribute" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Defines an attribute that will be put in the result set. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="name" type="xsl:avt" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The name of the attribute to be created. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="namespace" type="xsl:avt"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The namespace for the attribute. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="attribute-set" substitutionGroup="xsl:declaration"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Defines a group of attributes that will be created and can be reused |
| by other portions of the stylesheet during processing. These attributes |
| will appear on the resulting document when used. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="xsl:attribute"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xsl:QName" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. Name of the attribute set. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="use-attribute-sets" type="xsl:QNames" default=""> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| A list of attributes-sets separated by spaces to be used in this |
| attribute set. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="call-template" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Specifies the name of a template to be called. A called template |
| is only executed when it is called. It is not executed directly by |
| an apply-templates command. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:sequence> |
| <xs:element ref="xsl:with-param" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xsl:QName" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The name of the template to be called. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="choose" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Choose is the beginning of a When/Otherwise combination. It is |
| the way to implement case selection of If/Then/ElseIf type logical |
| processing. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:sequence> |
| <xs:element ref="xsl:when" maxOccurs="unbounded"/> |
| <xs:element ref="xsl:otherwise" minOccurs="0"/> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="comment" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Creates a comment node in the result document. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"/> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="copy" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Copy creates a duplicate of the current node being processed. It |
| does not copy the attributes or children nodes. See copy-of for |
| copying attributes and children nodes. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="use-attribute-sets" type="xsl:QNames" default=""> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. A space separated list of attributes sets to apply to the |
| result document. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="copy-of" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Creates a copy-of the current node and all attributes, and children nodes. |
| It copies the nodes specified by the XPath selection criteria. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:generic-element-type"> |
| <xs:attribute name="select" type="xsl:expression" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. XPath expressions that select the nodes to be copied. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="decimal-format" substitutionGroup="xsl:declaration"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Defines the output format to be used when converting numbers into strings when |
| used with the XPath function format-number(). |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:attribute name="name" type="xsl:QName"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The unique name for this format. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="decimal-separator" type="xsl:char" default="."> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The character to use to represent a decimal point. |
| The default value is a period. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="grouping-separator" type="xsl:char" default=","> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The character to be used to seperate thousands. The |
| default is a comma. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="infinity" type="xs:string" default="Infinity"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The string to be used to represent infinity. The default |
| is Infinity. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="minus-sign" type="xsl:char" default="-"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The character to be used to represent negative numbers. |
| The default is the minus sign. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="NaN" type="xs:string" default="NaN"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The string to be used when the input is Not a Number. |
| The default is NaN. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="percent" type="xsl:char" default="%"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The character to be used to represent a percent. |
| The default is a percent sign. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="per-mille" type="xsl:char" default="‰"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The character to be used to represet per thousand. |
| The default is ‰ |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="zero-digit" type="xsl:char" default="0"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The character to be used to represent the digit zero. |
| The default is the number zero. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="digit" type="xsl:char" default="#"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The character to be used to indicated where a digit |
| is required. The default values is # character. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="pattern-separator" type="xsl:char" default=";"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The character to be used to separate positive and |
| negative sub-patterns in a pattern. The default is a semi-colon. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="element" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Creates an element in the result document. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType mixed="true"> |
| <xs:complexContent> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="name" type="xsl:avt" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The name of the element to be created. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="namespace" type="xsl:avt"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The namespace the element belongs. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="use-attribute-sets" type="xsl:QNames" default=""> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. A space separated list of attribute-set names to |
| be included on the element. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="fallback" substitutionGroup="xsl:instruction" type="xsl:sequence-constructor"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Specifies alternate code to be run if the XSLT processor doesn't understand |
| a particular xsl element. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| |
| <xs:element name="for-each" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| A looping command that processes each node returned from the |
| XPath selection criteria. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:generic-element-type"> |
| <xs:sequence> |
| <xs:element ref="xsl:sort" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| <xs:attribute name="select" type="xsl:expression" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The XPath selection criteria to be used to retrieve the |
| node set to be processed by the loop. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="if" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| A logical construct, that will only be applied when the XPath expression |
| test returns true. It does not support a Else statement, see Choose |
| for implementing If/Then/ElseIf logic. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="test" type="xsl:expression" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The XPath expression to test the variable or node against. |
| The statements nested will only be executed if the test returns |
| true. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="import"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Allows the inclusion of one stylesheet into another. If there are |
| templates that are the same in the parent stylesheet that are in the |
| stylesheet being imported, the parent stylesheet's templates will |
| take precedence. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:attribute name="href" type="xs:anyURI" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The URI for the stylesheet. This is either a relative |
| or physical URI. If it is relative, it is relative to the location |
| of the stylesheet. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| <xs:element name="include" substitutionGroup="xsl:declaration"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Include brings in another stylesheet into the current one. Unlike |
| the Import statement, the stylesheet templates have the same precedence |
| as the one being included in to. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:attribute name="href" type="xs:anyURI" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The URI for the stylesheet. This is either a relative |
| or physical URI. If it is relative, it is relative to the location |
| of the stylesheet. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="key" substitutionGroup="xsl:declaration"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| A key is a way to index a set of nodes to be retrieved later by the XPath |
| key() function. It allows faster access to a series of nodes based off of a |
| unique key with in a list of nodes. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="name" type="xsl:QName" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The name of the key to be created. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="match" type="xsl:pattern" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Defines the XPath expression to which the nodes will |
| be applied. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="use" type="xsl:expression" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The value of the key for each of the nodes. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| </xs:element> |
| |
| <xs:element name="message" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Writes a message to the output, usually stdout or stderro. Typically |
| used to report errors during processing. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="terminate" type="xsl:avt" default="no"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Indicates whether processing should be ended after |
| producing the message. The default value is no. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="namespace-alias" substitutionGroup="xsl:declaration"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Allows replacing of a particular namespace from the style sheet to a different |
| namespace when writing the result document. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:attribute name="stylesheet-prefix" type="xsl:prefix-or-default" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. Specifies the name of the prefix you want to change. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="result-prefix" type="xsl:prefix-or-default" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. Specifies the name of the prefix the result is to use. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="number" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Used to determine the integer position of the current node. Also used |
| in formatting a number. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:generic-element-type"> |
| <xs:attribute name="value" type="xsl:expression"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. A number provided by the implementor instead of |
| a system generated number. The position() xpath function can |
| be used as well. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="level" type="xsl:level" default="single"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Specifies how the sequence number is assigned. Valid values |
| are single (default), multiple, and any. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="count" type="xsl:pattern"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. An XPath expression that indicates what nodes are to be |
| counted. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="from" type="xsl:pattern"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. An XPath expression that indicates where counting will start. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="format" type="xsl:avt" default="1"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The format string in which the number is to be formatted. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="lang" type="xsl:avt"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The language code used to indicate what spoken language is |
| to be used for the format string. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="letter-value" type="xsl:avt"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Specifies whether the number is alphabetical or traditional. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="grouping-separator" type="xsl:avt"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The character to be used to seperate a group of numbers. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="grouping-size" type="xsl:avt"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. A number indicating the number of digits in a group. The |
| default is 3. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="otherwise" type="xsl:sequence-constructor"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Otherwise is used to indicate the default action when none of the |
| When tests are true, in a Choose statement. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| |
| <xs:element name="output" substitutionGroup="xsl:declaration"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Specifies the format for the result document. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:generic-element-type"> |
| <xs:attribute name="method" type="xsl:method"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Valid values are xml, html, and text. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="cdata-section-elements" type="xsl:QNames"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. A space separated list of elements whose content should |
| be wrapped with CDATA. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="doctype-public" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Sets the value of the Public doctype attribute. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="doctype-system" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Sets the value of the System doctype attribute. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="encoding" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Specifies the type of encoding to use. i.e. UTF-8, UTF-16, etc. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="indent" type="xsl:yes-or-no"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Should the result document be pretty-printed. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="media-type" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The mime type of the result document. i.e. text/xml |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="omit-xml-declaration" type="xsl:yes-or-no"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Whether the xml declation should be created in the |
| result document. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="standalone" type="xsl:yes-or-no-or-omit"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Indicates if a standalone declartion should occcur in the |
| result document. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="version" type="xs:NMTOKEN"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Sets the W3C version number to be used with the |
| result document. Only used for HTML or XML output. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="param"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Used to declare a local or global parameter. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="name" type="xsl:QName" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The name of the parameter to be created. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="select" type="xsl:expression"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. An XPath expression to be used to populate the parameter |
| if nothing is passed to it. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| <xs:element name="preserve-space" substitutionGroup="xsl:declaration"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Indicates the elements that are to have white space preserved when |
| creating the result document. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:attribute name="elements" type="xsl:nametests" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. A space seperated list of elements in which |
| white space is significant and should be preserved when |
| creating the result document. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="processing-instruction" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Creates a processing instruction in the result document. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="name" type="xsl:avt" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The name of the processing instruction to be created. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="sort"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Sorts the output of the node set. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="select" type="xsl:expression"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Specifies the XPath expression to be used to create the nodeset |
| to be sorted. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="lang" type="xsl:avt"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The language code to be used for sorting. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="data-type" type="xsl:avt" default="text"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The type of data that is being sorted. The default |
| is text. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="order" type="xsl:avt" default="ascending"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The order in which the data is to be sorted. The |
| default is ascending. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="case-order" type="xsl:avt"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Specifies if upper or lowercase letters are to |
| be sorted first. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="strip-space" substitutionGroup="xsl:declaration"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Defines which elements are to have white space stripped when |
| writing the result document. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:attribute name="elements" type="xsl:nametests" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. A space separeated list of elements are to have |
| white space removed when writing the result document. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="stylesheet" substitutionGroup="xsl:transform"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| The root element of a style sheet. Also see the transform element. |
| Either stylesheet or transform can be used. Typically stylsheet is |
| used. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| |
| <xs:element name="template" substitutionGroup="xsl:declaration"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| A template contains processing instructions and commands for nodes in the |
| input document that match the specified XPath expression. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:generic-element-type"> |
| <xs:sequence> |
| <xs:element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| <xs:attribute name="match" type="xsl:pattern"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. An XPath expression or expressions that this template will |
| be applied to. Note if this is omitted, then a name attribute must |
| be used. Either a namoe or a match are to be used, but not both. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="priority" type="xs:decimal"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Indicates the numeric priortity for processing the |
| template. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="mode" type="xsl:modes"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The name of the mode for this template. Used to match |
| up with the apply-templates mode attribute. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="name" type="xsl:QName"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The name of a called template. Note that if name is |
| not used, then match must be used. You can have one or the other |
| but not both. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:complexType name="text-element-base-type"> |
| <xs:simpleContent> |
| <xs:restriction base="xsl:generic-element-type"> |
| |
| <xs:simpleType> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:anyAttribute namespace="##other" processContents="skip"/> |
| </xs:restriction> |
| </xs:simpleContent> |
| </xs:complexType> |
| |
| <xs:element name="text" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Writes text data to the output. i.e. #PCData |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:simpleContent> |
| <xs:extension base="xsl:text-element-base-type"> |
| <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no" default="no"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Indicates if non friendly html and xml content should be converted |
| to their entity types. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:simpleContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:complexType name="transform-element-base-type"> |
| <xs:complexContent> |
| <xs:extension base="xsl:element-only-versioned-element-type"> |
| <xs:attribute name="version" type="xs:decimal" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The version number corresponding the the |
| XSLT specification being used. For XSLT 1.0, this will |
| be 1.0. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="exclude-result-prefixes" type="xsl:prefix-list" use="optional"> |
| <xs:annotation> |
| <xs:documentation source="http:/www.w3.org/TR/xslt"> |
| Optional. A list of namespace prefixes to exclude from the result document. #default excludes the default namespace. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="extension-element-prefixes" type="xsl:prefix-list" use="optional"> |
| <xs:annotation> |
| <xs:documentation source="http:/www.w3.org/TR/xslt"> |
| Optional. A list of extension namespace prefixes. This is used to identify namespaces that |
| contain XSLT processor extensions. #default can be used to specify the default namespace. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:anyAttribute namespace="##other" processContents="skip"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:element name="transform"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| The root element of a style sheet. Also see the stylesheet element. |
| Either stylesheet or transform can be used. Typically stylsheet is |
| used. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xsl:transform-element-base-type"> |
| <xs:sequence> |
| <xs:element ref="xsl:import" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="xsl:declaration"/> |
| <xs:element ref="xsl:variable"/> |
| <xs:element ref="xsl:param"/> |
| <xs:any namespace="##other" processContents="skip"/> <!-- weaker than XSLT 1.0 --> |
| </xs:choice> |
| </xs:sequence> |
| <xs:attribute name="id" type="xs:ID"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. A unique ID for the stylesheet. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="value-of" substitutionGroup="xsl:instruction"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Used to pull the data value from the selected node or XPath expression. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="select" type="xsl:expression" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The XPath expression or current node to be used |
| to pull the data from. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no" default="no"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. Whether non-xml friendly data should be entity escaped. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="variable"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Declares a local or global variable to be used during processing. |
| The contents of variable can be populated by either a series of |
| XSLT commands or XPath expressions. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="name" type="xsl:QName" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The name of the variable. This is how the |
| variable is accessed later in the stylesheet. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="select" type="xsl:expression" use="optional"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. The XPath expression in which the variable is |
| populated from. This specifies where the variable is to get |
| it's data value from. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="when"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| A conditional statement similiar to an if statement, used to test |
| if a particular expression is true or false. Use with the Choose and |
| Other wise elements. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="test" type="xsl:expression" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| An XPath expression that tests to true or false. If true |
| the statements within are executed. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="with-param"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Defines the value of a parameter to be passed to a called template. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:complexType> |
| <xs:complexContent mixed="true"> |
| <xs:extension base="xsl:sequence-constructor"> |
| <xs:attribute name="name" type="xsl:QName" use="required"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Required. The name of the parameter to be set. This |
| must exist in the template that is being called. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="select" type="xsl:expression"> |
| <xs:annotation> |
| <xs:documentation source="http://www.w3.org/TR/xslt"> |
| Optional. An XPath expression that is used to set |
| the value for the parameter being passed to a template. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| <xs:annotation> |
| <xs:documentation> |
| PART C: definition of literal result elements |
| |
| There are three ways to define the literal result elements |
| permissible in a stylesheet. |
| |
| (a) do nothing. This allows any element to be used as a literal |
| result element, provided it is not in the XSLT namespace |
| |
| (b) declare all permitted literal result elements as members |
| of the xsl:literal-result-element substitution group |
| |
| (c) redefine the model group xsl:result-elements to accommodate |
| all permitted literal result elements. |
| |
| Literal result elements are allowed to take certain attributes |
| in the XSLT namespace. These are defined in the attribute group |
| literal-result-element-attributes, which can be included in the |
| definition of any literal result element. |
| |
| </xs:documentation> |
| |
| </xs:annotation> |
| <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| |
| <xs:element name="literal-result-element" abstract="true" type="xs:anyType"/> |
| |
| <xs:attributeGroup name="literal-result-element-attributes"> |
| <xs:attribute name="default-collation" form="qualified" type="xsl:uri-list"/> |
| <xs:attribute name="extension-element-prefixes" form="qualified" type="xsl:prefixes"/> |
| <xs:attribute name="exclude-result-prefixes" form="qualified" type="xsl:prefixes"/> |
| <xs:attribute name="xpath-default-namespace" form="qualified" type="xs:anyURI"/> |
| <xs:attribute name="inherit-namespaces" form="qualified" type="xsl:yes-or-no" default="yes"/> |
| <xs:attribute name="use-attribute-sets" form="qualified" type="xsl:QNames" default=""/> |
| |
| <xs:attribute name="use-when" form="qualified" type="xsl:expression"/> |
| <xs:attribute name="version" form="qualified" type="xs:decimal"/> |
| <xs:attribute name="type" form="qualified" type="xsl:QName"/> |
| <xs:attribute name="validation" form="qualified" type="xsl:validation-type"/> |
| </xs:attributeGroup> |
| |
| <xs:group name="result-elements"> |
| <xs:choice> |
| <xs:element ref="xsl:literal-result-element"/> |
| <xs:any namespace="##other" processContents="skip"/> |
| |
| <xs:any namespace="##local" processContents="skip"/> |
| </xs:choice> |
| </xs:group> |
| |
| |
| <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| <xs:annotation> |
| <xs:documentation> |
| PART D: definitions of simple types used in stylesheet attributes |
| </xs:documentation> |
| </xs:annotation> |
| <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| |
| <xs:simpleType name="avt"> |
| <xs:annotation> |
| <xs:documentation> |
| This type is used for all attributes that allow an attribute value template. |
| The general rules for the syntax of attribute value templates, and the specific |
| rules for each such attribute, are described in the XSLT 2.0 Recommendation. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| |
| <xs:simpleType name="char"> |
| <xs:annotation> |
| |
| <xs:documentation> |
| A string containing exactly one character. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"> |
| <xs:length value="1"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="expression"> |
| <xs:annotation> |
| |
| <xs:documentation> |
| An XPath 2.0 expression. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:token"> |
| <xs:pattern value=".+"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="input-type-annotations-type"> |
| <xs:annotation> |
| |
| <xs:documentation> |
| Describes how type annotations in source documents are handled. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="preserve"/> |
| <xs:enumeration value="strip"/> |
| <xs:enumeration value="unspecified"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="level"> |
| <xs:annotation> |
| <xs:documentation> |
| The level attribute of xsl:number: |
| one of single, multiple, or any. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:NCName"> |
| <xs:enumeration value="single"/> |
| <xs:enumeration value="multiple"/> |
| <xs:enumeration value="any"/> |
| |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="mode"> |
| <xs:annotation> |
| <xs:documentation> |
| The mode attribute of xsl:apply-templates: |
| either a QName, or #current, or #default. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:union memberTypes="xsl:QName"> |
| <xs:simpleType> |
| |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="#default"/> |
| <xs:enumeration value="#current"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:union> |
| </xs:simpleType> |
| |
| <xs:simpleType name="modes"> |
| <xs:annotation> |
| |
| <xs:documentation> |
| The mode attribute of xsl:template: |
| either a list, each member being either a QName or #default; |
| or the value #all |
| </xs:documentation> |
| </xs:annotation> |
| <xs:union> |
| <xs:simpleType> |
| <xs:list> |
| <xs:simpleType> |
| <xs:union memberTypes="xsl:QName"> |
| |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="#default"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:union> |
| </xs:simpleType> |
| </xs:list> |
| </xs:simpleType> |
| |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="#all"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:union> |
| </xs:simpleType> |
| |
| <xs:simpleType name="nametests"> |
| <xs:annotation> |
| |
| <xs:documentation> |
| A list of NameTests, as defined in the XPath 2.0 Recommendation. |
| Each NameTest is either a QName, or "*", or "prefix:*", or "*:localname" |
| </xs:documentation> |
| </xs:annotation> |
| <xs:list> |
| <xs:simpleType> |
| <xs:union memberTypes="xsl:QName"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| |
| <xs:enumeration value="*"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:pattern value="\i\c*:\*"/> |
| <xs:pattern value="\*:\i\c*"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| </xs:union> |
| </xs:simpleType> |
| </xs:list> |
| </xs:simpleType> |
| |
| <xs:simpleType name="prefixes"> |
| <xs:list itemType="xs:NCName"/> |
| </xs:simpleType> |
| |
| <xs:simpleType name="prefix-list-or-all"> |
| <xs:union memberTypes="xsl:prefix-list"> |
| <xs:simpleType> |
| |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="#all"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:union> |
| </xs:simpleType> |
| |
| <xs:simpleType name="prefix-list"> |
| <xs:list itemType="xsl:prefix-or-default"/> |
| </xs:simpleType> |
| |
| <xs:simpleType name="method"> |
| <xs:annotation> |
| <xs:documentation> |
| The method attribute of xsl:output: |
| Either one of the recognized names "xml", "xhtml", "html", "text", |
| or a QName that must include a prefix. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:union> |
| <xs:simpleType> |
| <xs:restriction base="xs:NCName"> |
| <xs:enumeration value="xml"/> |
| |
| <xs:enumeration value="xhtml"/> |
| <xs:enumeration value="html"/> |
| <xs:enumeration value="text"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <xs:simpleType> |
| <xs:restriction base="xsl:QName"> |
| <xs:pattern value="\c*:\c*"/> |
| </xs:restriction> |
| |
| </xs:simpleType> |
| </xs:union> |
| </xs:simpleType> |
| |
| <xs:simpleType name="pattern"> |
| <xs:annotation> |
| <xs:documentation> |
| A match pattern as defined in the XSLT 2.0 Recommendation. |
| The syntax for patterns is a restricted form of the syntax for |
| XPath 2.0 expressions. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xsl:expression"/> |
| |
| </xs:simpleType> |
| |
| <xs:simpleType name="prefix-or-default"> |
| <xs:annotation> |
| <xs:documentation> |
| Either a namespace prefix, or #default. |
| Used in the xsl:namespace-alias element. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:union memberTypes="xs:NCName"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| |
| <xs:enumeration value="#default"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:union> |
| </xs:simpleType> |
| |
| <xs:simpleType name="QNames"> |
| <xs:annotation> |
| <xs:documentation> |
| A list of QNames. |
| Used in the [xsl:]use-attribute-sets attribute of various elements, |
| and in the cdata-section-elements attribute of xsl:output |
| </xs:documentation> |
| |
| </xs:annotation> |
| <xs:list itemType="xsl:QName"/> |
| </xs:simpleType> |
| |
| <xs:simpleType name="QName"> |
| <xs:annotation> |
| <xs:documentation> |
| A QName. |
| This schema does not use the built-in type xs:QName, but rather defines its own |
| QName type. Although xs:QName would define the correct validation on these attributes, |
| a schema processor would expand unprefixed QNames incorrectly when constructing the PSVI, |
| because (as defined in XML Schema errata) an unprefixed xs:QName is assumed to be in |
| the default namespace, which is not the correct assumption for XSLT. |
| The data type is defined as a restriction of the built-in type Name, restricted |
| so that it can only contain one colon which must not be the first or last character. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:Name"> |
| |
| <xs:pattern value="([^:]+:)?[^:]+"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="sequence-type"> |
| <xs:annotation> |
| <xs:documentation> |
| The description of a data type, conforming to the |
| SequenceType production defined in the XPath 2.0 Recommendation |
| </xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:token"> |
| |
| <xs:pattern value=".+"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="uri-list"> |
| <xs:list itemType="xs:anyURI"/> |
| </xs:simpleType> |
| |
| <xs:simpleType name="validation-strip-or-preserve"> |
| <xs:annotation> |
| <xs:documentation> |
| Describes different ways of type-annotating an element or attribute. |
| </xs:documentation> |
| |
| </xs:annotation> |
| <xs:restriction base="xsl:validation-type"> |
| <xs:enumeration value="preserve"/> |
| <xs:enumeration value="strip"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="validation-type"> |
| <xs:annotation> |
| <xs:documentation> |
| Describes different ways of type-annotating an element or attribute. |
| </xs:documentation> |
| |
| </xs:annotation> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="strict"/> |
| <xs:enumeration value="lax"/> |
| <xs:enumeration value="preserve"/> |
| <xs:enumeration value="strip"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="yes-or-no"> |
| <xs:annotation> |
| |
| <xs:documentation> |
| One of the values "yes" or "no". |
| </xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="yes"/> |
| <xs:enumeration value="no"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="yes-or-no-or-omit"> |
| <xs:annotation> |
| <xs:documentation> |
| One of the values "yes" or "no" or "omit". |
| </xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="yes"/> |
| <xs:enumeration value="no"/> |
| <xs:enumeration value="omit"/> |
| |
| </xs:restriction> |
| </xs:simpleType> |
| |
| </xs:schema> |