<?xml version="1.0" ?>

<!--

This is an updated version of the XSLT schema originally published by WebMethods
in March 2001. This version complies with the current W3C XML Schema
recommendation. To use this schema, start you stylesheet with:

    <xsl:stylesheet version="1.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.w3.org/1999/XSL/Transform http://www.orbeon.com/1999/XSL/Transform">

If you have any question or comment, please feel free to contact us:

    Orbeon, Inc.
    http://www.orbeon.com/
    info@orbeon.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

DISCLAIMER OF WARRANTY

THIS CODE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES
THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A
PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY
AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED
CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL
DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED
CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.

LIMITATION OF LIABILITY

UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY
INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY
SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM
SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH
LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF
INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION
MAY NOT APPLY TO YOU.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

This free of charge Software is provided on an "AS IS" basis, without
warranty of any kind. The entire risk as to the quality and performance of
the software is borne by you. Should the software prove defective, you and
only you assume the entire cost of any service and repair.

WEBMETHODS DOES NOT MAKE ANY EXPRESS OR IMPLIED WARRANTIES OF ANY KIND
INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF TITLE, MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE, OR WARRANTIES ARISING BY STATUTE, COURSE
OF DEALING, CUSTOM OR USAGE, TRADE PRACTICE OR OTHERWISE.

IN NO EVENT WILL WEBMETHODS BE LIABLE FOR ANY LOST REVENUES, PROFITS,
BUSINESS OR INTERRUPTION OF BUSINESS OR OTHER SPECIAL, INDIRECT, INCIDENTAL
OR CONSEQUENTIAL DAMAGES, EVEN IF WEBMETHODS HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES, AND NOTWITHSTANDING ANY FAILURE OF ESSENTIAL
PURPOSE OF ANY LIMITED REMEDY OF ANY KIND, HOWEVER CAUSED AND UNDER ANY
THEORY OF LIABILITY.







Schema for XSLT 1.0 Recommendation, http://www.w3.org/TR/1999/REC-xslt-19991116
Using XML Schema CR Drafts,

- Part 1, http://www.w3.org/TR/2000/CR-xmlschema-1-20001024/
- Part 2, http://www.w3.org/TR/2000/CR-xmlschema-2-20001024/

Author: Asir S Vedamuthu
Member, XML Schema WG representing webMethods, Inc.
Member, XML Schema Processor design and implementation team at webMethods

webMethods, Inc.
3930 Pender Drive
Fairfax VA 22030

(703) 450-2500

Date - February 28th, 2001
Version - 0.4

This work is a product of the W3C XML Schema WG Task Force for authoring schema
for W3C Recommendations as an illustration of the XML Schema Language. This schema
is illustrative and non-normative. Internal names created by this schema follows the
same convention used by XSLT 1.0 specification.

Comments were stolen from the XSLT 1.0 specification,
    http://www.w3.org/TR/1999/REC-xslt-19991116#element-syntax-summary

Asir intends to update this schema as the XML Schema drafts advance from CR to
PR and then REC. Expected changes are,

[1] XML Schema Namespace URI
[2] Change attribute declaration syntax


KNOWN ISSUES,

(a) XML Schema Definition Language cannot capture a unique wild card expression in XSLT: "In addition, the xsl:stylesheet element may contain any element not from the XSLT namespace, provided that the expanded-name of the element has a non-null namespace URI" - http://www.w3.org/TR/1999/REC-xslt-19991116#stylesheet-element (This will not be an issue as per XML Schema PR)


Revision History

0.1 - Created
0.2 - Fixed minor typos
0.3 - Implemented suggestions and added fragments from James Clark
0.4 - Fixed a minor typo

Acknowledgement

The following have contributed material to this draft:

- James Clark, jjc@jclark.com


Please send your comments and suggestions to asirv@webmethods.com


-->


<schema xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd"
        targetNamespace="http://www.w3.org/1999/XSL/Transform"
        elementFormDefault="qualified">


  <import namespace="http://www.w3.org/XML/1998/namespace"
          schemaLocation="http://www.w3.org/2001/xml.xsd"/>
  <!--<import namespace="http://www.w3.org/2001/XMLSchema" />-->



  <!-- *** import schema for xpath
         authored by C. M. Sperberg-McQueen [cmsmcq@acm.org]
         Chair, XML Schema WG

  <import namespace="http://www.w3.org/TR/2001/WD-xptr-20010108/"
      schemaLocation="xpath.xsd"/>
  -->


  <!-- *** result elements *** -->
  <!-- ***                  *** -->

  <!--     There are three ways that you can construct a
          schema for XSLT stylesheets that create instances of a
          particular result structure

          (a)    Declare all your result elements as a member of
              xsl:result-element substitution group

          (b) Redefine model group xsl:result-element to accomodate
              the desired structure

          (c)    Do nothing. This schema is designed to allow any element node
              or nodes if they have any namespace other than the XSLT
              namespace or not namespace qualified

          I recommend (a) or (b)

          In addition, I added a an attributeGroup util, 'result-element'
          for your convenience

  -->

  <element name="result-element" abstract="true" type="anyType"/>


  <attributeGroup name="result-element">
    <attribute name="extension-element-prefixes" form="qualified" type="string"/>
    <attribute name="exclude-result-prefixes" form="qualified" type="string"/>
    <attribute name="use-attribute-sets" form="qualified" type="xsl:QNames"/>
    <attribute name="version" form="qualified" type="NMTOKEN"/>
    <anyAttribute namespace="##other" processContents="skip"/>
  </attributeGroup>


  <group name="result-element">
    <choice>
      <element ref="xsl:result-element"/>
      <any namespace="##other" processContents="skip"/>
      <any namespace="##local" processContents="skip"/>
    </choice>
  </group>





  <!-- *** Style Sheet Elements *** -->
  <!-- ***                       *** -->


  <element name="stylesheet" type="xsl:wrapper"/>
  <element name="transform" type="xsl:wrapper"/>

  <complexType name="wrapper">
    <complexContent>
      <extension base="xsl:anyType">
        <sequence>
          <element ref="xsl:import" minOccurs="0" maxOccurs="unbounded"/>
          <choice  minOccurs="0" maxOccurs="unbounded">
            <element ref="xsl:top-level-element"/>
            <element ref="xsl:variable"/>
            <any namespace="##other" processContents="skip"/> <!-- weaker than XSLT 1.0 -->
          </choice>
        </sequence>
        <attribute name="id" type="ID"/>
        <attribute name="extension-element-prefixes" type="xsl:tokens"/>
        <attribute name="exclude-result-prefixes" type="xsl:tokens"/>
        <attribute name="version" type="decimal" use="required"/>
        <attribute ref="xml:space"/>
      </extension>
    </complexContent>
  </complexType>






  <!-- *** top level elements *** -->
  <!-- ***                    *** -->


  <element name="top-level-element" type="xsl:anyType" abstract="true"/>
  <element name="top-level-element-and-char-instruction" type="xsl:anyType" abstract="true"/>

  <element name="attribute-set" substitutionGroup="xsl:top-level-element">

    <!-- ***

    <xsl:attribute-set
      name = qname
      use-attribute-sets = qnames>
      Content: xsl:attribute*
    </xsl:attribute-set>

    -->

    <complexType>
      <complexContent>
        <extension base="xsl:anyType">
          <sequence minOccurs="0" maxOccurs="unbounded">
            <element ref="xsl:attribute"/>
          </sequence>
          <attributeGroup ref="xsl:name"/>
          <attributeGroup ref="xsl:use-attribute-sets"/>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="decimal-format" substitutionGroup="xsl:top-level-element">

    <!-- ***

   <xsl:decimal-format
     name = qname
     decimal-separator = char
     grouping-separator = char
     infinity = string
     minus-sign = char
     NaN = string
     percent = char
     per-mille = char
     zero-digit = char
     digit = char
     pattern-separator = char />

    -->

    <complexType>
      <complexContent>
        <extension base="xsl:anyType">
          <attribute name="name" type="xsl:QName"/>
          <attribute name="decimal-separator" type="string" use="optional" default="."/>
          <attribute name="grouping-separator" type="string" use="optional" default=","/>
          <attribute name="infinity" type="string" use="optional" default="Infinity"/>
          <attribute name="minus-sign" type="string" use="optional" default="-"/>
          <attribute name="NaN" type="string" use="optional" default="NaN"/>
          <attribute name="percent" type="string" use="optional" default="%"/>
          <attribute name="per-mille" type="string" use="optional" default="&#x2030;"/>
          <attribute name="zero-digit" type="string" use="optional" default="0"/>
          <attribute name="digit" type="string" use="optional" default="#"/>
          <attribute name="pattern-separator" type="string" use="optional" default=";"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="include" substitutionGroup="xsl:top-level-element" type="xsl:combine-stylesheets">

    <!-- ***

        <xsl:include
          href = uri-reference />

    -->

  </element>


  <element name="key" substitutionGroup="xsl:top-level-element">

    <!-- ***

        <xsl:key
          name = qname
          match = pattern
            use = expression />

    -->

    <complexType>
      <complexContent>
        <extension base="xsl:anyType">
          <attributeGroup ref="xsl:name"/>
          <attribute name="match" type="xsl:pattern" use="required"/>
          <attribute name="use" type="xsl:expression" use="required"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="namespace-alias" substitutionGroup="xsl:top-level-element">

    <!-- ***

    -->

    <complexType>
      <complexContent>
        <extension base="xsl:anyType">
          <attribute name="stylesheet-prefix" type="xsl:prefix" use="required"/>
          <attribute name="result-prefix" type="xsl:prefix" use="required"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="output" substitutionGroup="xsl:top-level-element">

    <!-- ***

        <xsl:output
          method = "xml" | "html" | "text" | qname-but-not-ncname
          version = nmtoken
          encoding = string
          omit-xml-declaration = "yes" | "no"
          standalone = "yes" | "no"
          doctype-public = string
          doctype-system = string
          cdata-section-elements = qnames
          indent = "yes" | "no"
          media-type = string />

    -->

    <complexType>

      <complexContent>
        <extension base="xsl:anyType">
          <attribute name="method">
            <simpleType>
              <union>
                <simpleType>
                  <restriction base="string">
                    <enumeration value="xml"/>
                    <enumeration value="html"/>
                    <enumeration value="text"/>
                  </restriction>
                </simpleType>
                <simpleType>
                  <restriction base="xsl:QName">
                    <pattern value="\c*:\c*"/>
                  </restriction>
                </simpleType>
              </union>
            </simpleType>
          </attribute>

          <attribute name="version" type="NMTOKEN"/>
          <attribute name="encoding" type="string"/>
          <attribute name="omit-xml-declaration" type="xsl:YesOrNo"/>
          <attribute name="standalone" type="xsl:YesOrNo"/>
          <attribute name="doctype-public" type="string"/>
          <attribute name="doctype-system" type="string"/>
          <attribute name="cdata-section-elements" type="xsl:QNames"/>
          <attribute name="indent" type="xsl:YesOrNo"/>
          <attribute name="media-type" type="string"/>
        </extension>
      </complexContent>

    </complexType>

  </element>


  <element name="param" substitutionGroup="xsl:top-level-element" type="xsl:variable">

    <!-- ***

        <xsl:param
          name = qname
          select = expression>
          Content: template
        </xsl:param>

    -->

  </element>


  <element name="preserve-space" substitutionGroup="xsl:top-level-element" type="xsl:preserve-space">

    <!-- ***

        <xsl:preserve-space
          elements = tokens />

    -->
  </element>

  <complexType name="preserve-space">
    <complexContent>
      <extension base="xsl:anyType">
        <attribute name="elements" type="xsl:element-names" use="required"/>
      </extension>
    </complexContent>
  </complexType>

  <element name="strip-space" substitutionGroup="xsl:preserve-space" type="xsl:preserve-space"/>


  <element name="template" substitutionGroup="xsl:top-level-element">

    <!-- ***

        <xsl:template
          match = pattern
          name = qname
          priority = number
          mode = qname>
          Content: (xsl:param*, template)
        </xsl:template>

    -->

    <complexType mixed="true">

      <complexContent>
        <extension base="xsl:anyType">
          <sequence>
            <element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/>
            <choice minOccurs="0" maxOccurs="unbounded">
              <element ref="xsl:top-level-element-and-char-instruction"/>
              <element ref="xsl:instruction"/>
              <group ref="xsl:result-element"/>
            </choice>
          </sequence>
          <attribute name="match" type="xsl:pattern"/>
          <attribute name="name" type="xsl:QName"/>
          <attribute name="priority" type="decimal"/>
          <attribute name="mode" type="xsl:QName"/>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>

    </complexType>

  </element>


  <!-- *** top level elements and char instructions *** -->
  <!-- ***                                          *** -->


  <element name="variable" type="xsl:variable" substitutionGroup="xsl:char-instruction">

    <!-- ***

        <xsl:variable
          name = qname
          select = expression>
          Content: template
        </xsl:variable>

    -->

  </element>




  <!-- *** instructions *** -->
  <!-- ***               *** -->


  <element name="instruction" type="xsl:anyType" abstract="true"/>

  <element name="char-instruction" type="xsl:anyType" abstract="true"
           substitutionGroup="xsl:instruction"/>

  <element name="apply-imports" type="xsl:anyType" substitutionGroup="xsl:char-instruction">

    <!-- ***

        <xsl:apply-imports />

    -->

  </element>


  <element name="apply-templates" substitutionGroup="xsl:char-instruction">


    <!-- ***

    <xsl:apply-templates
      select = node-set-expression
      mode = qname>
      Content: (xsl:sort | xsl:with-param)*
    </xsl:apply-templates>

    -->

    <complexType>

      <complexContent>
        <extension base="xsl:anyType">
          <choice minOccurs="0" maxOccurs="unbounded">
            <element ref="xsl:sort"/>
            <element ref="xsl:with-param"/>
          </choice>
          <attribute name="select" type="xsl:expression" use="optional" default="node()"/>
          <attribute name="mode" type="xsl:QName"/>
        </extension>
      </complexContent>

    </complexType>

  </element>


  <element name="attribute" type="xsl:attribute-type" substitutionGroup="xsl:instruction"/>


  <element name="call-template" substitutionGroup="xsl:char-instruction">

    <!-- ***

    <xsl:call-template
      name = qname>
      Content: xsl:with-param*
    </xsl:call-template>

    -->

    <complexType>
      <complexContent>
        <extension base="xsl:anyType">
          <sequence minOccurs="0" maxOccurs="unbounded">
            <element ref="xsl:with-param"/>
          </sequence>
          <attributeGroup ref="xsl:name"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="choose" substitutionGroup="xsl:char-instruction">


    <!-- ***

        <xsl:choose>
          Content: (xsl:when+, xsl:otherwise?)
        </xsl:choose>

    -->

    <complexType>
      <complexContent>
        <extension base="xsl:anyType">
          <sequence>
            <element ref="xsl:when" minOccurs="1" maxOccurs="unbounded"/>
            <element ref="xsl:otherwise" minOccurs="0"/>
          </sequence>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>

  <element name="comment" substitutionGroup="xsl:instruction">

    <!-- ***

        <xsl:comment>
          Content: template
        </xsl:comment>

    -->

    <complexType mixed="true">
      <complexContent>
        <extension base="xsl:anyType">
          <choice minOccurs="0" maxOccurs="unbounded">
            <element ref="xsl:char-instruction"/>
            <element ref="xsl:top-level-element-and-char-instruction"/>
          </choice>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="copy" substitutionGroup="xsl:char-instruction">

    <!-- ***

    <xsl:copy
      use-attribute-sets = qnames>
      Content: template
    </xsl:copy>

    -->

    <complexType mixed="true">
      <complexContent>
        <extension base="xsl:anyType">
          <group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
          <attribute ref="xml:space"/>
          <attributeGroup ref="xsl:use-attribute-sets"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="copy-of" substitutionGroup="xsl:char-instruction">

    <!-- ***

        <xsl:copy-of
          select = expression />

    -->

    <complexType mixed="true">
      <complexContent>
        <extension base="xsl:anyType">
          <attributeGroup ref="xsl:select-required"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="element" substitutionGroup="xsl:instruction">

    <!-- ***

        <xsl:element
          name = { qname }
          namespace = { uri-reference }
          use-attribute-sets = qnames>
          Content: template
        </xsl:element>
    -->

    <complexType mixed="true">
      <complexContent>
        <extension base="xsl:anyType">
          <group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
          <attributeGroup ref="xsl:name-avt"/>
          <attribute name="namespace" type="xsl:expr-avt"/>
          <attributeGroup ref="xsl:use-attribute-sets"/>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="fallback" substitutionGroup="xsl:char-instruction">

    <!-- ***

        <xsl:fallback>
          Content: template
        </xsl:fallback>

    -->

    <complexType mixed="true">
      <complexContent>
        <extension base="xsl:anyType">
          <group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="for-each" substitutionGroup="xsl:char-instruction">

    <!-- ***

        <xsl:for-each
          select = node-set-expression>
          Content: (xsl:sort*, template)
        </xsl:for-each>

    -->

    <complexType mixed="true">
      <complexContent>
        <extension base="xsl:anyType">
          <sequence>
            <element ref="xsl:sort" minOccurs="0" maxOccurs="unbounded"/>
            <choice minOccurs="0" maxOccurs="unbounded">
              <element ref="xsl:top-level-element-and-char-instruction"/>
              <element ref="xsl:instruction"/>
              <group ref="xsl:result-element"/>
            </choice>
          </sequence>
          <attributeGroup ref="xsl:select-required"/>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>

  <element name="if" substitutionGroup="xsl:char-instruction">

    <!-- ***

        <xsl:if
          test = boolean-expression>
          Content: template
        </xsl:if>

    -->

    <complexType mixed="true">
      <complexContent>
        <extension base="xsl:anyType">
          <group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
          <attribute name="test" type="xsl:expression" use="required"/>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="message" substitutionGroup="xsl:char-instruction">

    <!-- ***

        <xsl:message
          terminate = "yes" | "no">
          Content: template
        </xsl:message>

    -->

    <complexType mixed="true">

      <complexContent>
        <extension base="xsl:anyType">
          <group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
          <attribute ref="xml:space"/>
          <attribute name="terminate" use="optional" default="no" type="xsl:YesOrNo"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="number" substitutionGroup="xsl:char-instruction">

    <!-- ***

        <xsl:number
          level = "single" | "multiple" | "any"
          count = pattern
          from = pattern
          value = number-expression
          format = { string }
          lang = { nmtoken }
          letter-value = { "alphabetic" | "traditional" }
          grouping-separator = { char }
            grouping-size = { number } />

    -->

    <complexType>

      <complexContent>
        <extension base="xsl:anyType">
          <attribute name="level" use="optional" default="single">
            <simpleType>
              <restriction base="NMTOKEN">
                <enumeration value="single"/>
                <enumeration value="multiple"/>
                <enumeration value="any"/>
              </restriction>
            </simpleType>
          </attribute>

          <attribute name="count" type="xsl:pattern"/>
          <attribute name="from" type="xsl:pattern"/>
          <attribute name="value" type="xsl:expression"/>
          <attribute name="format" type="xsl:expr-avt" use="optional" default="1"/>
          <attribute name="lang" type="xsl:expr-avt"/>
          <attribute name="letter-value" type="xsl:expr-avt"/>
          <attribute name="grouping-separator" type="xsl:expr-avt"/>
          <attribute name="grouping-size" type="xsl:expr-avt"/>
        </extension>
      </complexContent>

    </complexType>

  </element>


  <element name="processing-instruction" substitutionGroup="xsl:instruction">

    <!-- ***

        <xsl:processing-instruction
          name = { ncname }>
          Content: template
        </xsl:processing-instruction>

    -->

    <complexType mixed="true">

      <complexContent>
        <extension base="xsl:anyType">
          <choice minOccurs="0" maxOccurs="unbounded">
            <element ref="xsl:char-instruction"/>
            <element ref="xsl:top-level-element-and-char-instruction"/>
          </choice>
          <attributeGroup ref="xsl:name-avt"/>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="text" substitutionGroup="xsl:char-instruction">

    <!-- ***

        <xsl:text
          disable-output-escaping = "yes" | "no">
          Content: #PCDATA
        </xsl:text>

    -->

    <complexType mixed="true">
      <complexContent>
        <extension base="xsl:anyType">
          <attributeGroup ref="xsl:disable-output-escaping"/>
          <attribute ref="xml:lang"/>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="value-of" substitutionGroup="xsl:char-instruction">

    <!-- ***

        <xsl:value-of
          select = string-expression
          disable-output-escaping = "yes" | "no" />

    -->

    <complexType>
      <complexContent>
        <extension base="xsl:anyType">
          <attributeGroup ref="xsl:select-required"/>
          <attributeGroup ref="xsl:disable-output-escaping"/>
        </extension>
      </complexContent>
    </complexType>

  </element>



  <!-- *** orphans *** -->
  <!-- ***          *** -->

  <element name="import" type="xsl:combine-stylesheets">

    <!-- ***

      <xsl:import
            href = uri-reference />
    -->

  </element>


  <element name="otherwise">

    <!-- ***

        <xsl:otherwise>
          Content: template
        </xsl:otherwise>

    -->

    <complexType mixed="true">
      <complexContent>
        <extension base="xsl:anyType">
          <group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="sort">

    <!-- ***

        xsl:sort
          select = string-expression
          lang = { nmtoken }
          data-type = { "text" | "number" | qname-but-not-ncname }
          order = { "ascending" | "descending" }
          case-order = { "upper-first" | "lower-first" } />

    -->

    <complexType>
      <complexContent>
        <extension base="xsl:anyType">
          <attribute name="select" type="xsl:expression" use="optional" default="."/>
          <attribute name="lang" type="xsl:expr-avt"/>
          <attribute name="data-type" use="optional" default="text">
            <simpleType>
              <union memberTypes="xsl:expr-avt">
                <simpleType>
                  <restriction base="string">
                    <enumeration value="text" />
                    <enumeration value="number" />
                  </restriction>
                </simpleType>
              </union>
            </simpleType>
          </attribute>
          <attribute name="order" use="optional" default="ascending">
            <simpleType>
              <union memberTypes="xsl:expr-avt">
                <simpleType>
                  <restriction base="string">
                    <enumeration value="ascending" />
                    <enumeration value="descending" />
                  </restriction>
                </simpleType>
              </union>
            </simpleType>
          </attribute>
          <attribute name="case-order">
            <simpleType>
              <union memberTypes="xsl:expr-avt">
                <simpleType>
                  <restriction base="string">
                    <enumeration value="upper-first" />
                    <enumeration value="lower-first" />
                  </restriction>
                </simpleType>
              </union>
            </simpleType>
          </attribute>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="when">

    <!-- ***
        <xsl:when
          test = boolean-expression>
          Content: template
        </xsl:when>
    -->

    <complexType mixed="true">
      <complexContent>
        <extension base="xsl:anyType">
          <group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
          <attribute name="test" type="xsl:expression" use="required"/>
          <attribute ref="xml:space"/>
        </extension>
      </complexContent>
    </complexType>

  </element>


  <element name="with-param" type="xsl:variable">

    <!-- ***

        <xsl:with-param
          name = qname
          select = expression>
          Content: template
        </xsl:with-param>
    -->

  </element>






  <!-- *** utils - internal types and groups *** -->
  <!-- *** not for public use                *** -->
  <!-- ***                                   *** -->

  <complexType name="attribute-type" mixed="true">

    <!-- ***

     <xsl:attribute
       name = { qname }
       namespace = { uri-reference }>
       Content: template
     </xsl:attribute>

    -->
    <complexContent>
      <extension base="xsl:anyType">
        <choice minOccurs="0" maxOccurs="unbounded">
          <element ref="xsl:char-instruction"/>
          <element ref="xsl:top-level-element-and-char-instruction"/>
        </choice>

        <attributeGroup ref="xsl:name-avt"/>
        <attribute name="namespace" type="xsl:expr-avt"/>
        <attribute ref="xml:space"/>
      </extension>
    </complexContent>

  </complexType>


  <simpleType name="tokens">
    <list itemType="token"/>
  </simpleType>

  <simpleType name="QNames">
    <list itemType="xsl:QName"/>
  </simpleType>

  <attributeGroup name="name">
    <attribute name="name" type="xsl:QName" use="required"/>
  </attributeGroup>

  <attributeGroup name="name-avt">
    <attribute name="name" type="xsl:expr-avt" use="required"/>
  </attributeGroup>

  <attributeGroup name="select-optional">
    <attribute name="select" type="xsl:expression"/>
  </attributeGroup>

  <attributeGroup name="select-required">
    <attribute name="select" type="xsl:expression" use="required"/>
  </attributeGroup>

  <attributeGroup name="use-attribute-sets">
    <attribute name="use-attribute-sets" type="xsl:QNames"/>
  </attributeGroup>




  <group name="template">
    <choice>
      <element ref="xsl:top-level-element-and-char-instruction"/>
      <element ref="xsl:instruction"/>
      <group ref="xsl:result-element"/>
    </choice>
  </group>

  <complexType name="combine-stylesheets">
    <complexContent>
      <extension base="xsl:anyType">
        <attribute name="href" type="anyURI" use="required"/>
      </extension>
    </complexContent>
  </complexType>

  <simpleType name="YesOrNo">
    <restriction base="string">
      <enumeration value="yes"/>
      <enumeration value="no"/>
    </restriction>
  </simpleType>

  <simpleType name="QName">
    <union memberTypes="NCName QName"/>
  </simpleType>

  <simpleType name="element-names">
    <list>
      <simpleType>
        <union memberTypes="QName">
          <simpleType>
            <restriction base="string">
              <pattern value="\*"/>
              <pattern value="\i\c*:\*"/>
            </restriction>
          </simpleType>
        </union>
      </simpleType>
    </list>
  </simpleType>

  <attributeGroup name="disable-output-escaping">
    <attribute name="disable-output-escaping" type="xsl:YesOrNo"
               use="optional" default="no"/>
  </attributeGroup>

  <complexType name="variable" mixed="true">
    <complexContent>
      <extension base="xsl:anyType">
        <group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
        <attributeGroup ref="xsl:name"/>
        <attributeGroup ref="xsl:select-optional"/>
        <attribute name="as" use="optional" /> <!-- supported by Saxon XSLT Processor -->
      </extension>
    </complexContent>
  </complexType>


  <simpleType name="expr-avt">
    <restriction base="string">
      <!-- <pattern
     value="([^\{\}]|\{\{|\}\})*\{([^&quot;'\{\}]|&quot;[^&quot;]*&quot;|'[^']*')+\}([^\{\}]|\{\{|\}\}|\{([^&quot;'\{\}]|&quot;[^&quot;]*&quot;|'[^']*')+\})*"/> -->
    </restriction>
  </simpleType>

  <simpleType name="expression">
    <restriction base="string">
      <!-- ****

      patterns go here

      -->
    </restriction>
  </simpleType>

  <simpleType name="pattern">
    <restriction base="string">
      <!-- ***

      patterns go here

      -->
    </restriction>
  </simpleType>

  <simpleType name="prefix">
    <union memberTypes="NCName">
      <simpleType>
        <restriction base="string">
          <enumeration value="#default"/>
        </restriction>
      </simpleType>
    </union>
  </simpleType>


  <complexType name="anyType">
    <anyAttribute namespace="##other" processContents="skip"/>
  </complexType>
</schema>
