<?xml version="1.0"?>
<!--
 *******************************************************************************
 * Copyright (c) 2001, 2007 - W3C, Standards for Technology in Automotive Retail,
 * and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     David Carver - 20071228 - STAR - Updated to XML Schemas 2001 1.0
 *         Note this schemas is a modified version of the schema for XSLT 2.0, it has
 *         been stripped of all XSLT 2.0 additions, to bring it in line with the XSLT 1.0
 *         specification.
 *         The original version may be found at http://www.w3.org/2007/schema-for-xslt20.xsd
 *         The original W3C copyright notice is included:
 *     David Carver - 20080330 - STAR - bug 224819 - changed procesContents from lax to skip
 *******************************************************************************
 *******************************************************************************
 * W3C® SOFTWARE NOTICE AND LICENSE
 * http://www.w3.org/Consortium/Legal/copyright-software-19980720
 *
 * Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of
 * Technology, Institut National de Recherche en Informatique et en Automatique,
 * Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
 *
 * This W3C work (including software, documents, or other related items) is being
 * provided by the copyright holders under the following license. By obtaining,
 * using and/or copying this work, you (the licensee) agree that you have read,
 * understood, and will comply with the following terms and conditions:
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation, with or without modification,  for any purpose and without fee
 * or royalty is hereby granted, provided that you include the following on ALL copies
 * of the software and documentation or portions thereof, including modifications, that
 * you make:
 *
 *  1. The full text of this NOTICE in a location viewable to users of the redistributed
 *     or derivative work.
 *  2. Any pre-existing intellectual property disclaimers, notices, or terms and
 *     conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
 *  3. Notice of any changes or modifications to the W3C files, including the date changes
 *     were made. (We recommend you provide URIs to the location from which the code is
 *     derived.)
 *
 * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO 
 * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, 
 * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF
 * THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
 * TRADEMARKS OR OTHER RIGHTS.
 *
 * COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL
 * DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
 *
 * The name and trademarks of copyright holders may NOT be used in advertising or publicity
 * pertaining to the software without specific, written prior permission. Title to copyright
 * in this software and any associated documentation will at all times remain with copyright
 * holders.
 ******************************************************************************************** 
 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
           targetNamespace="http://www.w3.org/1999/XSL/Transform" 
           elementFormDefault="qualified" >

<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<xs:annotation>
  <xs:documentation>
  
   </xs:documentation>
</xs:annotation>   
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 
<!--
The declaration of xml:space and xml:lang may need to be commented out because
of problems processing the schema using various tools
-->
      
<xs:import namespace="http://www.w3.org/XML/1998/namespace" 
  schemaLocation="http://www.w3.org/2001/xml.xsd"/>

<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<xs:annotation>
  <xs:documentation>
    PART A: definitions of complex types and model groups used as the basis 
            for element definitions
  </xs:documentation>
</xs:annotation>   
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<xs:complexType name="generic-element-type" mixed="true">
  <xs:anyAttribute namespace="##other" processContents="skip"/>
</xs:complexType>

<!-- <xs:complexType name="versioned-element-type" mixed="true">
  <xs:complexContent>
    <xs:extension base="xsl:generic-element-type">    
      <xs:attribute name="version" type="xs:decimal" use="optional"/>

    </xs:extension>
  </xs:complexContent>
</xs:complexType>
-->

<xs:complexType name="element-only-versioned-element-type" mixed="false">
  <xs:complexContent>
    <xs:restriction base="xsl:generic-element-type">
      <xs:anyAttribute namespace="##other" processContents="skip"/>
    </xs:restriction>
  </xs:complexContent>

</xs:complexType>

<xs:complexType name="sequence-constructor">
  <xs:complexContent mixed="true">
    <xs:extension base="xsl:generic-element-type">    
      <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:group name="sequence-constructor-group">
  <xs:choice>

    <xs:element ref="xsl:variable"/>
    <xs:element ref="xsl:instruction"/>
    <xs:group ref="xsl:result-elements"/>
  </xs:choice>
</xs:group>

<xs:element name="declaration" type="xsl:generic-element-type" abstract="true"/>

<xs:element name="instruction" type="xsl:generic-element-type" abstract="true"/>

<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<xs:annotation>
  <xs:documentation>

    PART B: definitions of individual XSLT elements    
    Elements are listed in alphabetical order.    
  </xs:documentation>
</xs:annotation>   
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<xs:element name="apply-imports" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        This command applies template rule from an imported style sheet.
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="xsl:element-only-versioned-element-type"/>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="apply-templates" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Applies template rules based on a given XPath selection criteria.  If no template
        is found the built in templates are used.
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="xsl:element-only-versioned-element-type">
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="xsl:sort"/>
          <xs:element ref="xsl:with-param"/>
        </xs:choice>
        <xs:attribute name="select" type="xsl:expression" default="child::node()">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional. Specifies the XPath criteria to be used to apply the templates.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="mode" type="xsl:mode">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  Specifies the type of template to be used if there is more than
                 one way in which to process the given criteria.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="attribute" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Defines an attribute that will be put in the result set.
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="name" type="xsl:avt" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Required. The name of the attribute to be created.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="namespace" type="xsl:avt">
              <xs:annotation>
                 <xs:documentation source="http://www.w3.org/TR/xslt">
                    Optional. The namespace for the attribute.
                 </xs:documentation>
              </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>        

<xs:element name="attribute-set" substitutionGroup="xsl:declaration">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Defines a group of attributes that will be created and can be reused
         by other portions of the stylesheet during processing.  These attributes
         will appear on the resulting document when used.
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="xsl:element-only-versioned-element-type">
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="xsl:attribute"/>
        </xs:sequence>
        <xs:attribute name="name" type="xsl:QName" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Required.  Name of the attribute set.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default="">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  A list of attributes-sets separated by spaces to be used in this
                  attribute set.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="call-template" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Specifies the name of a template to be called. A called template
        is only executed when it is called.  It is not executed directly by
        an apply-templates command.
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>

    <xs:complexContent>
      <xs:extension base="xsl:element-only-versioned-element-type">
        <xs:sequence>
          <xs:element ref="xsl:with-param" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="name" type="xsl:QName" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Required.  The name of the template to be called.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="choose" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Choose is the beginning of a When/Otherwise combination.  It is
         the way to implement case selection of If/Then/ElseIf type logical
         processing.
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="xsl:element-only-versioned-element-type">
        <xs:sequence>
          <xs:element ref="xsl:when" maxOccurs="unbounded"/>
          <xs:element ref="xsl:otherwise" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="comment" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Creates a comment node in the result document.
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor"/>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="copy" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Copy creates a duplicate of the current node being processed.  It
         does not copy the attributes or children nodes.  See copy-of for
         copying attributes and children nodes.
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default="">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  A space separated list of attributes sets to apply to the
                 result document.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="copy-of" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Creates a copy-of the current node and all attributes, and children nodes.
         It copies the nodes specified by the XPath selection criteria.
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:generic-element-type">
        <xs:attribute name="select" type="xsl:expression" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Required.  XPath expressions that select the nodes to be copied.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="decimal-format" substitutionGroup="xsl:declaration">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Defines the output format to be used when converting numbers into strings when
         used with the XPath function format-number().
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="xsl:element-only-versioned-element-type">
        <xs:attribute name="name" type="xsl:QName">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional. The unique name for this format.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="decimal-separator" type="xsl:char" default=".">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  The character to use to represent a decimal point.
                  The default value is a period.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="grouping-separator" type="xsl:char" default=",">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional. The character to be used to seperate thousands.  The
                  default is a comma.              
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="infinity" type="xs:string" default="Infinity">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional. The string to be used to represent infinity. The default
                  is Infinity.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="minus-sign" type="xsl:char" default="-">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional. The character to be used to represent negative numbers.
                  The default is the minus sign.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="NaN" type="xs:string" default="NaN">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  The string to be used when the input is Not a Number.
                  The default is NaN.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="percent" type="xsl:char" default="%">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional. The character to be used to represent a percent.
                  The default is a percent sign.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="per-mille" type="xsl:char" default="&#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:generic-element-type">
        <xs:sequence>
          <xs:element ref="xsl:sort" minOccurs="0" maxOccurs="unbounded"/>
          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="select" type="xsl:expression" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                    Required.  The XPath selection criteria to be used to retrieve the
                    node set to be processed by the loop.              
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="if" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         A logical construct, that will only be applied when the XPath expression
         test returns true.  It does not support a Else statement, see Choose
         for implementing If/Then/ElseIf logic.
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="test" type="xsl:expression" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                    Required.  The XPath expression to test the variable or node against.
                    The statements nested will only be executed if the test returns
                    true.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="import">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Allows the inclusion of one stylesheet into another.  If there are
        templates that are the same in the parent stylesheet that are in the
        stylesheet being imported, the parent stylesheet's templates will 
        take precedence.
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="xsl:element-only-versioned-element-type">
        <xs:attribute name="href" type="xs:anyURI" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Required.  The URI for the stylesheet.  This is either a relative
                  or physical URI.  If it is relative, it is relative to the location
                  of the stylesheet.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>


<xs:element name="include" substitutionGroup="xsl:declaration">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Include brings in another stylesheet into the current one.  Unlike
         the Import statement, the stylesheet templates have the same precedence
         as the one being included in to.
     </xs:documentation>
  </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="xsl:element-only-versioned-element-type">
          <xs:attribute name="href" type="xs:anyURI" use="required">
              <xs:annotation>
                 <xs:documentation source="http://www.w3.org/TR/xslt">
                     Required.  The URI for the stylesheet.  This is either a relative
                     or physical URI.  If it is relative, it is relative to the location
                     of the stylesheet.
                 </xs:documentation>
              </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="key" substitutionGroup="xsl:declaration">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        A key is a way to index a set of nodes to be retrieved later by the XPath
        key() function.  It allows faster access to a series of nodes based off of a
        unique key with in a list of nodes.
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>

    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="name" type="xsl:QName" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Required.  The name of the key to be created.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="match" type="xsl:pattern" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  Defines the XPath expression to which the nodes will
                  be applied.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="use" type="xsl:expression" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                    Required.  The value of the key for each of the nodes.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

</xs:element>

<xs:element name="message" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Writes a message to the output, usually stdout or stderro.  Typically
         used to report errors during processing.
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="terminate" type="xsl:avt" default="no">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  Indicates whether processing should be ended after
                  producing the message.  The default value is no.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="namespace-alias" substitutionGroup="xsl:declaration">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Allows replacing of a particular namespace from the style sheet to a different
         namespace when writing the result document.
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="xsl:element-only-versioned-element-type">
        <xs:attribute name="stylesheet-prefix" type="xsl:prefix-or-default" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Required.  Specifies the name of the prefix you want to change.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="result-prefix" type="xsl:prefix-or-default" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Required.  Specifies the name of the prefix the result is to use.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="number" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Used to determine the integer position of the current node.  Also used
        in formatting a number.     
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:generic-element-type">
        <xs:attribute name="value" type="xsl:expression">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  A number provided by the implementor instead of
                  a system generated number.  The position() xpath function can
                  be used as well.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="level" type="xsl:level" default="single">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional. Specifies how the sequence number is assigned.  Valid values
                 are single (default), multiple, and any.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="count" type="xsl:pattern">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  An XPath expression that indicates what nodes are to be
                 counted.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="from" type="xsl:pattern">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  An XPath expression that indicates where counting will start.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="format" type="xsl:avt" default="1">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  The format string in which the number is to be formatted.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="lang" type="xsl:avt">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  The language code used to indicate what spoken language is
                 to be used for the format string.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="letter-value" type="xsl:avt">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  Specifies whether the number is alphabetical or traditional.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="grouping-separator" type="xsl:avt">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional. The character to be used to seperate a group of numbers.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="grouping-size" type="xsl:avt">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional. A number indicating the number of digits in a group.  The
                  default is 3.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="otherwise" type="xsl:sequence-constructor">
   <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Otherwise is used to indicate the default action when none of the 
         When tests are true, in a Choose statement.
     </xs:documentation>
   </xs:annotation>
</xs:element>

<xs:element name="output" substitutionGroup="xsl:declaration">
   <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Specifies the format for the result document.
     </xs:documentation>
   </xs:annotation>
  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:generic-element-type">
        <xs:attribute name="method" type="xsl:method">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  Valid values are xml, html, and text.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="cdata-section-elements" type="xsl:QNames">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional. A space separated list of elements whose content should
                 be wrapped with CDATA.                
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="doctype-public" type="xs:string">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional. Sets the value of the Public doctype attribute.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="doctype-system" type="xs:string">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional. Sets the value of the System doctype attribute.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="encoding" type="xs:string">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional. Specifies the type of encoding to use.  i.e. UTF-8, UTF-16, etc.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="indent" type="xsl:yes-or-no">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional. Should the result document be pretty-printed.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="media-type" type="xs:string">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional. The mime type of the result document.  i.e. text/xml
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="omit-xml-declaration" type="xsl:yes-or-no">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  Whether the xml declation should be created in the 
                  result document.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="standalone" type="xsl:yes-or-no-or-omit">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional. Indicates if a standalone declartion should occcur in the
                 result document.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="version" type="xs:NMTOKEN">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional. Sets the W3C version number to be used with the
                 result document.  Only used for HTML or XML output.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="param">
     <xs:annotation>
        <xs:documentation source="http://www.w3.org/TR/xslt">
            Used to declare a local or global parameter.
        </xs:documentation>
     </xs:annotation>
  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="name" type="xsl:QName" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Required.  The name of the parameter to be created.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="select" type="xsl:expression">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  An XPath expression to be used to populate the parameter
                  if nothing is passed to it.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>


<xs:element name="preserve-space" substitutionGroup="xsl:declaration">
   <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Indicates the elements that are to have white space preserved when
         creating the result document.
     </xs:documentation>
   </xs:annotation>
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="xsl:element-only-versioned-element-type">
        <xs:attribute name="elements" type="xsl:nametests" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  A space seperated list of elements in which
                  white space is significant and should be preserved when
                  creating the result document.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="processing-instruction" substitutionGroup="xsl:instruction">
   <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         Creates a processing instruction in the result document.
     </xs:documentation>
   </xs:annotation>
  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="name" type="xsl:avt" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Required.  The name of the processing instruction to be created.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="sort">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Sorts the output of the node set.
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="select" type="xsl:expression">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  Specifies the XPath expression to be used to create the nodeset
                 to be sorted.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>  
        <xs:attribute name="lang" type="xsl:avt">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional. The language code to be used for sorting.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>        
        <xs:attribute name="data-type" type="xsl:avt" default="text">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  The type of data that is being sorted. The default
                  is text.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>        
        <xs:attribute name="order" type="xsl:avt" default="ascending">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  The order in which the data is to be sorted.  The
                  default is ascending.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>        
        <xs:attribute name="case-order" type="xsl:avt">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  Specifies if upper or lowercase letters are to 
                  be sorted first.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="strip-space" substitutionGroup="xsl:declaration">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Defines which elements are to have white space stripped when
        writing the result document.     
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="xsl:element-only-versioned-element-type">
        <xs:attribute name="elements" type="xsl:nametests" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Required.  A space separeated list of elements are to have
                 white space removed when writing the result document.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="stylesheet" substitutionGroup="xsl:transform">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         The root element of a style sheet.  Also see the transform element.
         Either stylesheet or transform can be used.  Typically stylsheet is
         used.
     </xs:documentation>
  </xs:annotation>
</xs:element>

<xs:element name="template" substitutionGroup="xsl:declaration">
   <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        A template contains processing instructions and commands for nodes in the
        input document that match the specified XPath expression.
     </xs:documentation>
   </xs:annotation>
  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:generic-element-type">
        <xs:sequence>
          <xs:element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/>
          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="match" type="xsl:pattern">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional. An XPath expression or expressions that this template will
                 be applied to.  Note if this is omitted, then a name attribute must
                 be used.  Either a namoe or a match are to be used, but not both.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="priority" type="xs:decimal">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  Indicates the numeric priortity for processing the
                  template.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="mode" type="xsl:modes">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  The name of the mode for this template.  Used to match
                  up with the apply-templates mode attribute.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="name" type="xsl:QName">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  The name of a called template.  Note that if name is
                  not used, then match must be used.  You can have one or the other
                  but not both.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:complexType name="text-element-base-type">
  <xs:simpleContent>
    <xs:restriction base="xsl:generic-element-type">

      <xs:simpleType>
        <xs:restriction base="xs:string"/>
      </xs:simpleType>
      <xs:anyAttribute namespace="##other" processContents="skip"/>
    </xs:restriction>
  </xs:simpleContent>
</xs:complexType>

<xs:element name="text" substitutionGroup="xsl:instruction">
   <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Writes text data to the output.  i.e. #PCData
     </xs:documentation>
   </xs:annotation>
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xsl:text-element-base-type">
        <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no" default="no">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  Indicates if non friendly html and xml content should be converted
                 to their entity types.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

<xs:complexType name="transform-element-base-type">
  <xs:complexContent>
    <xs:extension base="xsl:element-only-versioned-element-type">
      <xs:attribute name="version" type="xs:decimal" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Required.  The version number corresponding the the
                 XSLT specification being used.  For XSLT 1.0, this will
                 be 1.0.
              </xs:documentation>
           </xs:annotation>
      </xs:attribute>
      <xs:attribute name="exclude-result-prefixes" type="xsl:prefixes" use="optional">
      	<xs:annotation>
      		<xs:documentation source="http:/www.w3.org/TR/xslt">
      			Optional. A list of namespace prefixes to exclude from the result document.
      		</xs:documentation>
      	</xs:annotation>
      </xs:attribute>
      <xs:attribute name="extension-element-prefixes" type="xsl:prefixes" use="optional">
         <xs:annotation>
            <xs:documentation source="http:/www.w3.org/TR/xslt">
               Optional.  A list of extension namespace prefixes.  This is used to identify namespaces that
               contain XSLT processor extensions.
            </xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:anyAttribute namespace="##other" processContents="skip"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:element name="transform">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         The root element of a style sheet.  Also see the stylesheet element.
         Either stylesheet or transform can be used.  Typically stylsheet is
         used.
     </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="xsl:transform-element-base-type">
        <xs:sequence>
          <xs:element ref="xsl:import" minOccurs="0" maxOccurs="unbounded"/>
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element ref="xsl:declaration"/>
            <xs:element ref="xsl:variable"/>
            <xs:element ref="xsl:param"/>              
            <xs:any namespace="##other" processContents="skip"/> <!-- weaker than XSLT 1.0 -->
          </xs:choice>
        </xs:sequence>
        <xs:attribute name="id" type="xs:ID">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Optional.  A unique ID for the stylesheet.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="value-of" substitutionGroup="xsl:instruction">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Used to pull the data value from the selected node or XPath expression.
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="select" type="xsl:expression" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Required.  The XPath expression or current node to be used
                 to pull the data from.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no" default="no">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional. Whether non-xml friendly data should be entity escaped.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="variable">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Declares a local or global variable to be used during processing.
        The contents of variable can be populated by either a series of
        XSLT commands or XPath expressions.
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="name" type="xsl:QName" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 Required.  The name of the variable.  This is how the
                 variable is accessed later in the stylesheet.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="select" type="xsl:expression" use="optional">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  The XPath expression in which the variable is
                  populated from.  This specifies where the variable is to get
                  it's data value from.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="when">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
         A conditional statement similiar to an if statement, used to test
         if a particular expression is true or false.  Use with the Choose and
         Other wise elements.
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="test" type="xsl:expression" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                 An XPath expression that tests to true or false.  If true
                 the statements within are executed.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<xs:element name="with-param">
  <xs:annotation>
     <xs:documentation source="http://www.w3.org/TR/xslt">
        Defines the value of a parameter to be passed to a called template.
     </xs:documentation>
  </xs:annotation>

  <xs:complexType>
    <xs:complexContent mixed="true">
      <xs:extension base="xsl:sequence-constructor">
        <xs:attribute name="name" type="xsl:QName" use="required">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Required.  The name of the parameter to be set.  This
                  must exist in the template that is being called.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
        <xs:attribute name="select" type="xsl:expression">
           <xs:annotation>
              <xs:documentation source="http://www.w3.org/TR/xslt">
                  Optional.  An XPath expression that is used to set
                  the value for the parameter being passed to a template.
              </xs:documentation>
           </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<xs:annotation>
  <xs:documentation>
    PART C: definition of literal result elements
    
    There are three ways to define the literal result elements
    permissible in a stylesheet.
    
    (a) do nothing. This allows any element to be used as a literal
        result element, provided it is not in the XSLT namespace
    
    (b) declare all permitted literal result elements as members
        of the xsl:literal-result-element substitution group
        
    (c) redefine the model group xsl:result-elements to accommodate
        all permitted literal result elements.
        
    Literal result elements are allowed to take certain attributes
    in the XSLT namespace. These are defined in the attribute group
    literal-result-element-attributes, which can be included in the
    definition of any literal result element.
    
  </xs:documentation>

</xs:annotation>   
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

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

<xs:attributeGroup name="literal-result-element-attributes">
  <xs:attribute name="default-collation" form="qualified" type="xsl:uri-list"/>
  <xs:attribute name="extension-element-prefixes" form="qualified" type="xsl:prefixes"/>
  <xs:attribute name="exclude-result-prefixes" form="qualified" type="xsl:prefixes"/>
  <xs:attribute name="xpath-default-namespace" form="qualified" type="xs:anyURI"/>    
  <xs:attribute name="inherit-namespaces" form="qualified" type="xsl:yes-or-no" default="yes"/>
  <xs:attribute name="use-attribute-sets" form="qualified" type="xsl:QNames" default=""/>

  <xs:attribute name="use-when" form="qualified" type="xsl:expression"/>
  <xs:attribute name="version" form="qualified" type="xs:decimal"/>
  <xs:attribute name="type" form="qualified" type="xsl:QName"/>
  <xs:attribute name="validation" form="qualified" type="xsl:validation-type"/>
</xs:attributeGroup>

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

    <xs:any namespace="##local" processContents="skip"/>
  </xs:choice>
</xs:group>


<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<xs:annotation>
  <xs:documentation>
    PART D: definitions of simple types used in stylesheet attributes 
  </xs:documentation>
</xs:annotation>   
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<xs:simpleType name="avt">
  <xs:annotation>
    <xs:documentation>
      This type is used for all attributes that allow an attribute value template.
      The general rules for the syntax of attribute value templates, and the specific
      rules for each such attribute, are described in the XSLT 2.0 Recommendation.
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string"/>
</xs:simpleType>

<xs:simpleType name="char">
  <xs:annotation>

    <xs:documentation>
      A string containing exactly one character.
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
    <xs:length value="1"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="expression">
  <xs:annotation>

    <xs:documentation>
      An XPath 2.0 expression.
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:token">
    <xs:pattern value=".+"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="input-type-annotations-type">
  <xs:annotation>

    <xs:documentation>
      Describes how type annotations in source documents are handled.
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:token">
    <xs:enumeration value="preserve"/>
    <xs:enumeration value="strip"/>   
    <xs:enumeration value="unspecified"/>        
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="level">
  <xs:annotation>
    <xs:documentation>
      The level attribute of xsl:number: 
      one of single, multiple, or any.
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:NCName">
    <xs:enumeration value="single"/>
    <xs:enumeration value="multiple"/>
    <xs:enumeration value="any"/>

  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="mode">
  <xs:annotation>
    <xs:documentation>
      The mode attribute of xsl:apply-templates: 
      either a QName, or #current, or #default.
    </xs:documentation>
  </xs:annotation>
  <xs:union memberTypes="xsl:QName">
    <xs:simpleType>

      <xs:restriction base="xs:token">
        <xs:enumeration value="#default"/>
        <xs:enumeration value="#current"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<xs:simpleType name="modes">
  <xs:annotation>

    <xs:documentation>
      The mode attribute of xsl:template: 
      either a list, each member being either a QName or #default;
      or the value #all
    </xs:documentation>
  </xs:annotation>
  <xs:union>
    <xs:simpleType>
      <xs:list>
        <xs:simpleType>
          <xs:union memberTypes="xsl:QName">

            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="#default"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:union>
        </xs:simpleType>
      </xs:list>
    </xs:simpleType>

    <xs:simpleType>
      <xs:restriction base="xs:token">
        <xs:enumeration value="#all"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<xs:simpleType name="nametests">
  <xs:annotation>

    <xs:documentation>
      A list of NameTests, as defined in the XPath 2.0 Recommendation.
      Each NameTest is either a QName, or "*", or "prefix:*", or "*:localname"
    </xs:documentation>
  </xs:annotation>
  <xs:list>
    <xs:simpleType>
      <xs:union memberTypes="xsl:QName">
        <xs:simpleType>
          <xs:restriction base="xs:token">

            <xs:enumeration value="*"/>
          </xs:restriction>
        </xs:simpleType>
        <xs:simpleType>
          <xs:restriction base="xs:token">
            <xs:pattern value="\i\c*:\*"/>
            <xs:pattern value="\*:\i\c*"/>            
          </xs:restriction>
        </xs:simpleType>

      </xs:union>
    </xs:simpleType>
  </xs:list>
</xs:simpleType>

<xs:simpleType name="prefixes">
  <xs:list itemType="xs:NCName"/>
</xs:simpleType>

<xs:simpleType name="prefix-list-or-all">
  <xs:union memberTypes="xsl:prefix-list">
    <xs:simpleType>

      <xs:restriction base="xs:token">
        <xs:enumeration value="#all"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>
      
<xs:simpleType name="prefix-list">
  <xs:list itemType="xsl:prefix-or-default"/>
</xs:simpleType>

<xs:simpleType name="method">
  <xs:annotation>
    <xs:documentation>
      The method attribute of xsl:output:
      Either one of the recognized names "xml", "xhtml", "html", "text",
      or a QName that must include a prefix.
    </xs:documentation>
  </xs:annotation>
  <xs:union>
    <xs:simpleType>
      <xs:restriction base="xs:NCName">
        <xs:enumeration value="xml"/>

        <xs:enumeration value="xhtml"/>
        <xs:enumeration value="html"/>
        <xs:enumeration value="text"/>
      </xs:restriction>
    </xs:simpleType>
    <xs:simpleType>
      <xs:restriction base="xsl:QName">
        <xs:pattern value="\c*:\c*"/>
      </xs:restriction>

    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<xs:simpleType name="pattern">
  <xs:annotation>
    <xs:documentation>
      A match pattern as defined in the XSLT 2.0 Recommendation.
      The syntax for patterns is a restricted form of the syntax for
      XPath 2.0 expressions.
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xsl:expression"/>

</xs:simpleType>

<xs:simpleType name="prefix-or-default">
  <xs:annotation>
    <xs:documentation>
      Either a namespace prefix, or #default.
      Used in the xsl:namespace-alias element.
    </xs:documentation>
  </xs:annotation>
  <xs:union memberTypes="xs:NCName">
    <xs:simpleType>
      <xs:restriction base="xs:token">

        <xs:enumeration value="#default"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:union>
</xs:simpleType>

<xs:simpleType name="QNames">
  <xs:annotation>
    <xs:documentation>
      A list of QNames.
      Used in the [xsl:]use-attribute-sets attribute of various elements,
      and in the cdata-section-elements attribute of xsl:output
    </xs:documentation>

  </xs:annotation>
  <xs:list itemType="xsl:QName"/>          
</xs:simpleType>

<xs:simpleType name="QName">
  <xs:annotation>
    <xs:documentation>
      A QName.
      This schema does not use the built-in type xs:QName, but rather defines its own
      QName type. Although xs:QName would define the correct validation on these attributes,
      a schema processor would expand unprefixed QNames incorrectly when constructing the PSVI,
      because (as defined in XML Schema errata) an unprefixed xs:QName is assumed to be in
      the default namespace, which is not the correct assumption for XSLT.
      The data type is defined as a restriction of the built-in type Name, restricted
      so that it can only contain one colon which must not be the first or last character.
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:Name">

    <xs:pattern value="([^:]+:)?[^:]+"/>      
  </xs:restriction>        
</xs:simpleType>

<xs:simpleType name="sequence-type">
  <xs:annotation>
    <xs:documentation>
      The description of a data type, conforming to the
      SequenceType production defined in the XPath 2.0 Recommendation
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:token">

    <xs:pattern value=".+"/>      
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="uri-list">
  <xs:list itemType="xs:anyURI"/>
</xs:simpleType>

<xs:simpleType name="validation-strip-or-preserve">
  <xs:annotation>
    <xs:documentation>
      Describes different ways of type-annotating an element or attribute.
    </xs:documentation>

  </xs:annotation>
  <xs:restriction base="xsl:validation-type">
    <xs:enumeration value="preserve"/>
    <xs:enumeration value="strip"/>    
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="validation-type">
  <xs:annotation>
    <xs:documentation>
      Describes different ways of type-annotating an element or attribute.
    </xs:documentation>

  </xs:annotation>
  <xs:restriction base="xs:token">
    <xs:enumeration value="strict"/>
    <xs:enumeration value="lax"/>
    <xs:enumeration value="preserve"/>
    <xs:enumeration value="strip"/>    
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="yes-or-no">
  <xs:annotation>

    <xs:documentation>
      One of the values "yes" or "no".
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:token">
    <xs:enumeration value="yes"/>
    <xs:enumeration value="no"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="yes-or-no-or-omit">
  <xs:annotation>
    <xs:documentation>
      One of the values "yes" or "no" or "omit".
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:token">
    <xs:enumeration value="yes"/>
    <xs:enumeration value="no"/>
    <xs:enumeration value="omit"/>

  </xs:restriction>
</xs:simpleType>

</xs:schema>
