<?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:
 *******************************************************************************
 *******************************************************************************
 * 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:attribute name="default-collation" type="xsl:uri-list"/>

  <xs:attribute name="exclude-result-prefixes" type="xsl:prefix-list-or-all"/>
  <xs:attribute name="extension-element-prefixes" type="xsl:prefix-list"/>
  <xs:attribute name="use-when" type="xsl:expression"/>
  <xs:attribute name="xpath-default-namespace" type="xs:anyURI"/>
  <xs:anyAttribute namespace="##other" processContents="lax"/>
</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:versioned-element-type">
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:restriction>
  </xs:complexContent>

</xs:complexType>

<xs:complexType name="sequence-constructor">
  <xs:complexContent mixed="true">
    <xs:extension base="xsl:versioned-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:versioned-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:versioned-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="&#x2030;">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  The character to be used to represet per thousand.
                  The default is &#x2030;
              </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:versioned-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:versioned-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:versioned-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:versioned-element-type">

      <xs:simpleType>
        <xs:restriction base="xs:string"/>
      </xs:simpleType>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </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:restriction 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:anyAttribute namespace="##other" processContents="lax"/>
    </xs:restriction>
  </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="lax"/> <!-- 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="lax"/>

    <xs:any namespace="##local" processContents="lax"/>
  </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>
