Re: some Schema for XSLT available

Al Byers <[email protected]> Mon, 10 Nov 2003 07:45:57 -0700
Newsgroups gmane.editors.pollo.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------060806060102080800050500
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Here is a schema that I have been using. I believe that it originally 
came from WebLogic and I tweaked it a little.
HTH.
-Al

[email protected] wrote:

>Do you know of a DTD or XML Schema or some other usable description of the
>XSLT language
>in order to use it in Pollo.
>Mainly for creation - not too much for validation.
>
>Rolf
>
>
>
>
>-------------------------------------------------------
>This SF.Net email sponsored by: ApacheCon 2003,
>16-19 November in Las Vegas. Learn firsthand the latest
>developments in Apache, PHP, Perl, XML, Java, MySQL,
>WebDAV, and more! http://www.apachecon.com/
>_______________________________________________
>Pollo-development mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/pollo-development
>
>
>  
>


-- 
Al Byers
Automation Groups Inc
777 S. State St.
Orem, UT 84058
801.400.5111
http://www.automationgroups.com
[email protected]

We're "Open for Business" (http://www.ofbiz.org) 
 - the leader in Java-based Web services development tools


--------------060806060102080800050500
Content-Type: text/xml;
 name="xsl.xsd"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="xsl.xsd"

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
	xmlns:xpath="http://www.w3.org/TR/2001/WD-xptr-20010108/" 
	targetNamespace="http://www.w3.org/1999/XSL/Transform" 
	elementFormDefault="qualified" blockDefault="0">
        
        
        <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
<!--
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.w3.org/XML/1998/namespace ."
        <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="."/>
-->
<!--
        <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://localhost:8080/xml.xsd"/>
-->
<!--
        <import namespace="http://www.w3.org/XML/1998/namespace" />
-->
<!--
        <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-->
<!--
        <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="/home/ag/schemas/xml.xsd"/>
-->
<!--
        <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="file:///home/ag/schemas/xml.xsd"/>
-->
        
        
        
       	 
	
	
		
		

		

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


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


		<group name="result-element">
			<choice>
				<element ref="xsl:result-element"/>
				<any namespace="##other" processContents="skip"/>
			</choice>
        </group>
	
	
	
	
	
		
		
		
		
		<element name="stylesheet" type="xsl:wrapper"/>
		<element name="transform" type="xsl:wrapper"/>
	
		<complexType name="wrapper">
			<complexContent>
				<extension base="xsl:anyType">
					<sequence>
						<element ref="xsl:import" minOccurs="0" maxOccurs="unbounded"/>
						<choice minOccurs="0" maxOccurs="unbounded">
							<element ref="xsl:top-level-element"/>
							<element ref="xsl:variable"/>
							<any namespace="##other" processContents="skip"/> 
						</choice>
					</sequence>
					<attribute name="id" type="ID"/>
					<attribute name="extension-element-prefixes" type="xsl:tokens"/>
					<attribute name="exclude-result-prefixes" type="xsl:tokens"/>
					<attribute name="version" type="decimal" use="required"/>
					<attribute ref="xml:space"/>
				</extension>
			</complexContent>
		</complexType>
		
		
		
		
		
		
		
		
		
		
		<element name="top-level-element" type="xsl:anyType" abstract="true"/>
		<element name="top-level-element-and-char-instruction" type="xsl:anyType" abstract="true"/>
        
        <element type="xsl:attribute-set_typ" name="attribute-set" substitutionGroup="xsl:top-level-element">
				        
			

			
				        	
        </element>
	<complexType name="attribute-set_typ"><complexContent>
					<extension base="xsl:anyType">
						<sequence minOccurs="0" maxOccurs="unbounded">
							<element ref="xsl:attribute"/>
						</sequence>
						<attributeGroup ref="xsl:name"/>
						<attributeGroup ref="xsl:use-attribute-sets"/>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent></complexType>
        
        
        <element type="xsl:decimal-format_typ" name="decimal-format" substitutionGroup="xsl:top-level-element">
        
        	
 			
 			
 			
        </element>
	<complexType name="decimal-format_typ"><complexContent>
 					<extension base="xsl:anyType">
						<attribute name="name" type="xsl:QName"/>
						<attribute name="decimal-separator" type="string" default="."/>
						<attribute name="grouping-separator" type="string" default=","/>
						<attribute name="infinity" type="string" default="Infinity"/>
						<attribute name="minus-sign" type="string" default="-"/>
						<attribute name="NaN" type="string" default="NaN"/>
						<attribute name="percent" type="string" default="%"/>
						<attribute name="per-mille" type="string" default="?"/>
						<attribute name="zero-digit" type="string" default="0"/>
						<attribute name="digit" type="string" default="#"/>
						<attribute name="pattern-separator" type="string" default=";"/>
					</extension>
				</complexContent></complexType>
        
        
        <element name="include" substitutionGroup="xsl:top-level-element" type="xsl:combine-stylesheets">
        
        	
        	
        </element>
        
        
        <element type="xsl:key_typ" name="key" substitutionGroup="xsl:top-level-element">
        
        	
        	
        	
        
        </element>
	<complexType name="key_typ"><complexContent>
        			<extension base="xsl:anyType">
						<attributeGroup ref="xsl:name"/>
						<attribute name="match" type="xsl:pattern" use="required"/>
						<attribute name="use" type="xsl:expression" use="required"/>
					</extension>
				</complexContent></complexType>
        
        
        <element type="xsl:namespace-alias_typ" name="namespace-alias" substitutionGroup="xsl:top-level-element">
        
        	
        	
        	
        	
        </element>
	<complexType name="namespace-alias_typ"><complexContent>
        			<extension base="xsl:anyType">
						<attribute name="stylesheet-prefix" type="xsl:prefix" use="required"/>
						<attribute name="result-prefix" type="xsl:prefix" use="required"/>
					</extension>
				</complexContent></complexType>
        
        
        <element type="xsl:output_typ" name="output" substitutionGroup="xsl:top-level-element">
        
        	
        	
        	
        
        </element>
	<complexType name="output_typ"><complexContent>
        			<extension base="xsl:anyType">
						<attribute name="method">
							<simpleType>
								<union>
									<simpleType>
										<restriction base="string">
											<enumeration value="xml"/>
											<enumeration value="html"/>
											<enumeration value="text"/>
										</restriction>
									</simpleType>
									<simpleType>
										<restriction base="xsl:QName">
											<pattern value="\c*:\c*"/>
										</restriction>
									</simpleType>
								</union>
							</simpleType>
						</attribute>

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

		
		<element name="param" substitutionGroup="xsl:top-level-element" type="xsl:variable">
		
			
        	
		</element>
		
		
        <element type="xsl:preserve-space_typ" name="preserve-space" substitutionGroup="xsl:top-level-element">
        
        	
        
        	
        	
        </element>
	<complexType name="preserve-space_typ"><complexContent>
        			<extension base="xsl:anyType">
        				<attribute name="elements" type="xsl:element-names" use="required"/>
        			</extension>
        		</complexContent></complexType>
        
<!--
        <element type="xsl:strip-space_typ" name="strip-space" substitutionGroup="xsl:top-level-element"/>
	<complexType name="strip-space_typ"/>
-->
        
        
        <element type="xsl:template_typ" name="template" substitutionGroup="xsl:top-level-element">
        
        	
        	
        	
        	
        </element>
	<complexType name="template_typ"><complexContent>
        			<extension base="xsl:anyType">
        				<sequence>
        					<element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/>
							<choice minOccurs="0" maxOccurs="unbounded">
								<element ref="xsl:char-instruction"/>
								<element ref="xsl:instruction"/>
								<group ref="xsl:result-element"/>
							</choice>
						</sequence>
						<attribute name="match" type="xsl:pattern"/>
						<attribute name="name" type="xsl:QName"/>
						<attribute name="priority" type="decimal"/>
						<attribute name="mode" type="xsl:QName"/>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent></complexType>
        
        
        
        
        
        
        <element name="variable" type="xsl:variable" substitutionGroup="xsl:char-instruction">
        
        	
        
        </element>
        
        
        
        
        
        
        
              
        <element name="instruction" type="xsl:anyType" abstract="true"/>
        
        <element name="char-instruction" type="xsl:anyType" abstract="true" substitutionGroup="xsl:instruction"/>
        
        <element name="apply-imports" type="xsl:anyType" substitutionGroup="xsl:char-instruction">
        
        	
			
		</element>
        
        
        <element type="xsl:apply-templates_typ" name="apply-templates" substitutionGroup="xsl:char-instruction">
        	
        	
        	
        	
        	
        
        </element>
	<complexType name="apply-templates_typ"><complexContent>
        			<extension base="xsl:anyType">
						<choice minOccurs="0" maxOccurs="unbounded">
							<element ref="xsl:sort"/>
							<element ref="xsl:with-param"/>
						</choice>
						<attribute name="select" type="xsl:expression" default="node()"/>
						<attribute name="mode" type="xsl:QName"/>
					</extension>
				</complexContent></complexType>
        
        
        <element name="attribute" type="xsl:attribute-type" substitutionGroup="xsl:instruction"/>
        
        
        <element type="xsl:call-template_typ" name="call-template" substitutionGroup="xsl:char-instruction">
        	
        	
        	
        	
        	
        </element>
	<complexType name="call-template_typ"><complexContent>
        			<extension base="xsl:anyType">
						<sequence minOccurs="0" maxOccurs="unbounded">
							<element ref="xsl:with-param"/>
						</sequence>
						<attributeGroup ref="xsl:name"/>
					</extension>
				</complexContent></complexType>
        
        
        <element type="xsl:choose_typ" name="choose" substitutionGroup="xsl:char-instruction">
        
        	
        	
        	
        	
        	
        </element>
	<complexType name="choose_typ"><complexContent>
        			<extension base="xsl:anyType">
						<sequence>
							<element ref="xsl:when" minOccurs="1" maxOccurs="unbounded"/>
							<element ref="xsl:otherwise" minOccurs="0"/>
						</sequence>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent></complexType>
        
        <element type="xsl:comment_typ" name="comment" substitutionGroup="xsl:instruction">
        	
        	
        	
        	
        	
        </element>
	<complexType name="comment_typ"><complexContent>
        			<extension base="xsl:anyType">
						<choice minOccurs="0" maxOccurs="unbounded">
							<element ref="xsl:char-instruction"/>
							<element ref="xsl:char-instruction"/>
						</choice>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent></complexType>
        
        
        <element type="xsl:copy_typ" name="copy" substitutionGroup="xsl:char-instruction">
        
        	
        	
        	
        
        </element>
	<complexType name="copy_typ"><complexContent>
        			<extension base="xsl:anyType">
						<group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
						<attribute ref="xml:space"/>
						<attributeGroup ref="xsl:use-attribute-sets"/>
					</extension>
				</complexContent></complexType>
        
        
        <element type="xsl:copy-of_typ" name="copy-of" substitutionGroup="xsl:char-instruction">
        
        	
        	
        	
        
        </element>
	<complexType name="copy-of_typ"><complexContent>
        			<extension base="xsl:anyType">
						<attributeGroup ref="xsl:select-required"/>
					</extension>
				</complexContent></complexType>
        
        
        <element type="xsl:element_typ" name="element" substitutionGroup="xsl:instruction">
        
        	
			
			
			
        </element>
	<complexType name="element_typ"><complexContent>
					<extension base="xsl:anyType">
						<group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
						<attributeGroup ref="xsl:name-avt"/>
						<attribute name="namespace" type="xsl:expr-avt"/>
						<attributeGroup ref="xsl:use-attribute-sets"/>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent></complexType>
        
        
        <element type="xsl:fallback_typ" name="fallback" substitutionGroup="xsl:char-instruction">
        
        	
			
			
		
		</element>
	<complexType name="fallback_typ"><complexContent>
					<extension base="xsl:anyType">
						<group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent></complexType>
        
        
        <element type="xsl:for-each_typ" name="for-each" substitutionGroup="xsl:char-instruction">
        
        	
		
			
			
		</element>
	<complexType name="for-each_typ"><complexContent>
					<extension base="xsl:anyType">
						<sequence>
							<element ref="xsl:sort" minOccurs="0" maxOccurs="unbounded"/>
							<choice minOccurs="0" maxOccurs="unbounded">
								<element ref="xsl:char-instruction"/>
								<element ref="xsl:instruction"/>
								<group ref="xsl:result-element"/>
							</choice>
						</sequence>
						<attributeGroup ref="xsl:select-required"/>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent></complexType>
		
		<element type="xsl:if_typ" name="if" substitutionGroup="xsl:char-instruction">
			
			
			
			
			
		</element>
	<complexType name="if_typ"><complexContent>
					<extension base="xsl:anyType">
						<group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
						<attribute name="test" type="xsl:expression" use="required"/>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent></complexType>
		
		
		<element type="xsl:message_typ" name="message" substitutionGroup="xsl:char-instruction">
			
			
		
			
			
		</element>
	<complexType name="message_typ"><complexContent>
					<extension base="xsl:anyType">
						<group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
						<attribute ref="xml:space"/>
						<attribute name="terminate" default="no" type="xsl:YesOrNo"/>
					</extension>
				</complexContent></complexType>
		
		
		<element type="xsl:number_typ" name="number" substitutionGroup="xsl:char-instruction">
		
			
			
			
		
		</element>
	<complexType name="number_typ"><complexContent>
					<extension base="xsl:anyType">
						<attribute name="level" default="single">
							<simpleType>
								<restriction base="NMTOKEN">
									<enumeration value="single"/>
									<enumeration value="multiple"/>
									<enumeration value="any"/>
								</restriction>
							</simpleType>
						</attribute>

						<attribute name="count" type="xsl:pattern"/>
						<attribute name="from" type="xsl:pattern"/>
						<attribute name="value" type="xsl:expression"/>
						<attribute name="format" type="xsl:expr-avt" default="1"/>
						<attribute name="lang" type="xsl:expr-avt"/>
						<attribute name="letter-value" type="xsl:expr-avt"/>
						<attribute name="grouping-separator" type="xsl:expr-avt"/>
						<attribute name="grouping-size" type="xsl:expr-avt"/>
					</extension>
				</complexContent></complexType>
		
		
		<element type="xsl:processing-instruction_typ" name="processing-instruction" substitutionGroup="xsl:instruction">
		
			
		
			
		
		</element>
	<complexType name="processing-instruction_typ"><complexContent>
					<extension base="xsl:anyType">
						<choice minOccurs="0" maxOccurs="unbounded">
							<element ref="xsl:char-instruction"/>
							<element ref="xsl:char-instruction"/>
						</choice>
						<attributeGroup ref="xsl:name-avt"/>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent></complexType>
		
		
		<element type="xsl:text_typ" name="text" substitutionGroup="xsl:char-instruction">
		
			
			
			
		
		</element>
	<complexType name="text_typ"><complexContent>
					<extension base="xsl:anyType">
						<attributeGroup ref="xsl:disable-output-escaping"/>
						<attribute ref="xml:lang"/>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent></complexType>
		
		
		<element type="xsl:value-of_typ" name="value-of" substitutionGroup="xsl:char-instruction">
		
			
			
			
			
		</element>
	<complexType name="value-of_typ"><complexContent>
					<extension base="xsl:anyType">
						<attributeGroup ref="xsl:select-required"/>
						<attributeGroup ref="xsl:disable-output-escaping"/>
					</extension>
				</complexContent></complexType>
		
		
		
		
		
		
		<element name="import" type="xsl:combine-stylesheets">
			
			
			
		</element>
		
		
		<element name="otherwise">
		
			
			
				<complexType mixed="true">
					<complexContent>
						<extension base="xsl:anyType">
							<group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
							<attribute ref="xml:space"/>
						</extension>
					</complexContent>
				</complexType>
		
		</element>
		
		
		<element name="sort">
		
			
			
			<complexType>
				<complexContent>
					<extension base="xsl:anyType">
						<attribute name="select" type="xsl:expression" default="."/>	
						<attribute name="lang" type="xsl:expr-avt"/>				
						<attribute name="data-type" type="xsl:expr-avt" default="text"/>				
						<attribute name="order" type="xsl:expr-avt" default="ascending"/>				
						<attribute name="case-order" type="xsl:expr-avt"/>
					</extension>
				</complexContent>
			</complexType>
		
		</element>
		
		
		<element name="when">
		
			
			
			<complexType mixed="true">
				<complexContent>
					<extension base="xsl:anyType">
						<group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
						<attribute name="test" type="xsl:expression" use="required"/>
						<attribute ref="xml:space"/>
					</extension>
				</complexContent>
			</complexType>
			
		</element>
		
		
		<element name="with-param" type="xsl:variable">
		
			
			
		</element>
		
		
		
		
		
		
        
		
        
        
        <complexType name="attribute-type" mixed="true">
        
        	
        	<complexContent>
        		<extension base="xsl:anyType">
					<choice minOccurs="0" maxOccurs="unbounded">
						<element ref="xsl:char-instruction"/>
						<element ref="xsl:char-instruction"/>
					</choice>

					<attributeGroup ref="xsl:name-avt"/>
					<attribute name="namespace" type="xsl:expr-avt"/>
					<attribute ref="xml:space"/>
				</extension>
			</complexContent>
			
        </complexType>
        
        
        <simpleType name="tokens">
        	<list itemType="token"/>
        </simpleType>
        
        <simpleType name="QNames">
        	<list itemType="xsl:QName"/>
        </simpleType>
        
        <attributeGroup name="name">
        	<attribute name="name" type="xsl:QName" use="required"/>
        </attributeGroup>
        
        <attributeGroup name="name-avt">
        	<attribute name="name" type="xsl:expr-avt" use="required"/>
        </attributeGroup>
        
        <attributeGroup name="select-optional">
        	<attribute name="select" type="xsl:expression"/>
        </attributeGroup>
        
        <attributeGroup name="select-required">
		    <attribute name="select" type="xsl:expression" use="required"/>
        </attributeGroup>
        
        <attributeGroup name="use-attribute-sets">
        	<attribute name="use-attribute-sets" type="xsl:QNames"/>
        </attributeGroup>
        
        
        
        
        <group name="template">
			<choice>
				<element ref="xsl:char-instruction"/>
				<element ref="xsl:instruction"/>
				<group ref="xsl:result-element"/>
			</choice>
        </group>
        
        <complexType name="combine-stylesheets">
        	<complexContent>
        		<extension base="xsl:anyType">
        			<attribute name="href" type="string" use="required"/>
        		</extension>
        	</complexContent>
        </complexType>
        
		<simpleType name="YesOrNo">
			<restriction base="string">
				<enumeration value="yes"/>
				<enumeration value="no"/>
			</restriction>
		</simpleType>
		
		<simpleType name="QName">
			<union memberTypes="NCName QName"/>
		</simpleType>
		
		<simpleType name="element-names">
			<list>
				<simpleType>
					<union memberTypes="QName">
						<simpleType>
							<restriction base="string">
								<pattern value="\*"/>
								<pattern value="\i\c*:\*"/>
							</restriction>
						</simpleType>
					</union>
				</simpleType>
			</list>
		</simpleType>
		
		<attributeGroup name="disable-output-escaping">
			<attribute name="disable-output-escaping" type="xsl:YesOrNo" default="no"/>
		</attributeGroup>
		
		<complexType name="variable" mixed="true">
			<complexContent>
				<extension base="xsl:anyType">
					<group ref="xsl:template" minOccurs="0" maxOccurs="unbounded"/>
					<attributeGroup ref="xsl:name"/>
					<attributeGroup ref="xsl:select-optional"/>
				</extension>
			</complexContent>
		</complexType>
		
		
		<simpleType name="expr-avt">
		   <restriction base="string">
		      
		   </restriction>
		</simpleType>
		
		<simpleType name="expression">
			<restriction base="string">
				
			</restriction>
		</simpleType>
		
		<simpleType name="pattern">
			<restriction base="string">
				
			</restriction>
		</simpleType>
		
		<simpleType name="prefix">
			<union memberTypes="NCName">
				<simpleType>
					<restriction base="string">
						<enumeration value="#default"/>
					</restriction>
				</simpleType>
			</union>
		</simpleType>
		
		
		<complexType name="anyType">
			<anyAttribute namespace="##other" processContents="skip"/>
		</complexType>


</schema>

--------------060806060102080800050500--



-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/