[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: XML Syntax for XQuery 1.0 (XQueryX) invalid?


gt xquery
> I have attempted to validate the XML Schema for
> XQuery, but it does not seem to be valid.  I used
> XMLSPY and the gotdotnet website.  Any ideas?
> 
> The schema is included below.  I obtained from this
> schema from:
> 
>      http://www.w3.org/TR/xqueryx/#Schema
> 
> Regards,
> Dave

The schema is valid according to Xerces, XSV, and Saxon. What exactly is
XMLSpy complaining about?

(However, some of the instance examples in the document don't seem to be
valid against this schema. For example, they refer to type flwrExpr which in
the schema is named flworExpr).

A new version of the XQueryX document is at an advanced stage of
preparation.

Michael Kay
http://www.saxonica.com/

> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema
> targetNamespace="http://www.w3.org/2003/12/XQueryX"
>       xmlns="http://www.w3.org/2003/12/XQueryX" 
>       xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
>       elementFormDefault="qualified" 
>       attributeFormDefault="qualified">
> 
>   <!--
>   Version 1.1 of the XQueryX schema.
>   Authors: Jim Melton, S. Muralidhar (Oracle Corp.)
> 
>   The main data structure in this schema is the set of
> types that describe
>   expressions. I've chosen to model expressions as an
> inheritance 
>   hierarchy, with an "expr" abstract base class.
>   
>   All expression instances are elements with the name
> "expr" and the 
>   type attribute set to the most-specific type.
>   The different types for expressions correspond to
> the different kinds
>   of expressions that we support - constants,
> variables, functions, builtins,
>   flwor expressions and so on.
> 
>   I've tried to avoid attributes as far as possible
> (modulo the "type" 
>   attribute for expressions), and model these as
> elements - this is a 
>   perfectly arbitrary decision, and can be reversed.
> 
>   I've attempted to create an "exprWrapper"
> type/element. In most embedded
>   cases, we use this construct, instead of the "expr"
> element itself - just
>   because I might want to name the element
> differently.  
> 
>   I've also chosen to model the set of builtin
> operator types as an inheritance
>   hierarchy - mainly because it tended to group things
> nicely. I don't
>   see a problem with making this simply a large union.
> 
>  -->
> 
>   <!-- A few helper declarations -->
>   <xsd:complexType name="emptyContent"/>
>   <xsd:element name="QName" type="xsd:QName"/>
>   <xsd:element name="NCName" type="xsd:NCName"/>
> 
>   <!-- The base class -->
>   <xsd:complexType name="expr"/>
>   <xsd:element name="expr" type="expr"/>
>   <!-- A list of expressions -->
>   <xsd:complexType name="exprList">
>     <xsd:sequence>
>       <xsd:element ref="expr" minOccurs="0"
> maxOccurs="unbounded"/>
>     </xsd:sequence>
>   </xsd:complexType>
>   <xsd:element name="exprList" type="exprList"/>
>   <!-- Simple wrapper class -->
>   <xsd:complexType name="exprWrapper">
>     <xsd:sequence>
>       <xsd:element ref="expr"/>
>     </xsd:sequence>
>   </xsd:complexType>
>   <xsd:element name="exprWrapper" type="exprWrapper"/>
>   <!-- Kludge for anySimpleType -->
>   <xsd:simpleType name="constantValueType">
>     <xsd:union memberTypes="xsd:integer xsd:decimal
> xsd:string xsd:double"/>
>   </xsd:simpleType>
>   <!-- constant expressions. We have 4 different
> subclasses for this -->
>   <xsd:complexType name="constantExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="value"
> type="constantValueType"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="integerConstantExpr">
>     <xsd:complexContent>
>       <xsd:restriction base="constantExpr">
>         <xsd:sequence>
>           <xsd:element name="value"
> type="xsd:integer"/>
>         </xsd:sequence>
>       </xsd:restriction>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="decimalConstantExpr">
>     <xsd:complexContent>
>       <xsd:restriction base="constantExpr">
>         <xsd:sequence>
>           <xsd:element name="value"
> type="xsd:decimal"/>
>         </xsd:sequence>
>       </xsd:restriction>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="doubleConstantExpr">
>     <xsd:complexContent>
>       <xsd:restriction base="constantExpr">
>         <xsd:sequence>
>           <xsd:element name="value"
> type="xsd:double"/>
>         </xsd:sequence>
>       </xsd:restriction>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="stringConstantExpr">
>     <xsd:complexContent>
>       <xsd:restriction base="constantExpr">
>         <xsd:sequence>
>           <xsd:element name="value"
> type="xsd:string"/>
>         </xsd:sequence>
>       </xsd:restriction>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <!-- Variables -->
>   <xsd:complexType name="variable">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="name" type="xsd:QName"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="functionCallExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="functionName"
> type="xsd:QName"/>
>           <xsd:element name="parameters"
> type="exprList" minOccurs="0"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="sequenceExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="expr" minOccurs="0"
> maxOccurs="unbounded"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="rangeSequenceExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="expr" minOccurs="2"
> maxOccurs="2"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <!-- Inheritance hierarchy for operator types -->
>   <xsd:simpleType name="opTypes">
>     <xsd:restriction base="xsd:string"/>
>   </xsd:simpleType>
>   <!-- All comparison operators -->
>   <xsd:simpleType name="comparisonOpTypes">
>     <xsd:restriction base="opTypes"/>
>   </xsd:simpleType>
>   <!-- All arithmetic operators -->
>   <xsd:simpleType name="arithmeticOpTypes">
>     <xsd:restriction base="opTypes">
>       <xsd:enumeration value="+"/>
>       <xsd:enumeration value="-"/>
>       <xsd:enumeration value="unbounded"/>
>       <xsd:enumeration value="div"/>
>       <xsd:enumeration value="idiv"/>
>       <xsd:enumeration value="mod"/>
>       <xsd:enumeration value="unaryMinus"/>
>       <xsd:enumeration value="unaryPlus"/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <xsd:simpleType name="valueComparisonOpTypes">
>     <xsd:restriction base="comparisonOpTypes">
>       <xsd:enumeration value="eq"/>
>       <xsd:enumeration value="ne"/>
>       <xsd:enumeration value="gt"/>
>       <xsd:enumeration value="ge"/>
>       <xsd:enumeration value="lt"/>
>       <xsd:enumeration value="le"/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <xsd:simpleType name="generalComparisonOpTypes">
>     <xsd:restriction base="comparisonOpTypes">
>       <xsd:enumeration value="="/>
>       <xsd:enumeration value="!="/>
>       <xsd:enumeration value="&lt;"/>
>       <xsd:enumeration value="&lt;="/>
>       <xsd:enumeration value="&gt;="/>
>       <xsd:enumeration value="&gt;="/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <xsd:simpleType name="nodeComparisonOpTypes">
>     <xsd:restriction base="comparisonOpTypes">
>       <xsd:enumeration value="is"/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <xsd:simpleType name="orderComparisonOpTypes">
>     <xsd:restriction base="comparisonOpTypes">
>       <xsd:enumeration value="&lt;&lt;"/>
>       <xsd:enumeration value="&gt;&gt;"/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <xsd:simpleType name="logicalOpTypes">
>     <xsd:restriction base="opTypes">
>       <xsd:enumeration value="and"/>
>       <xsd:enumeration value="or"/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <xsd:simpleType name="miscOpTypes">
>     <xsd:restriction base="opTypes">
>       <xsd:enumeration value="union"/>
>       <xsd:enumeration value="intersect"/>
>       <xsd:enumeration value="except"/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <!-- This class describes all builtin-operators -->
>   <xsd:complexType name="operatorExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="infixOp"
> type="emptyContent" minOccurs="0"/>
>           <xsd:element name="opType" type="opTypes"/>
>           <xsd:element name="parameters"
> type="exprList"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <!-- Basic typenames -->
>   <xsd:element name="atomicType" type="xsd:QName"/>
>   <!-- Used in castable expression -->
>   <xsd:element name="singleType">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="atomicType"/>
>         <xsd:element name="optional"
> type="emptyContent" minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:group name="itemType">
>     <xsd:choice>
>       <xsd:element ref="atomicType"/>
>       <xsd:group ref="kindTest"/>
>       <xsd:element name="anyItemType"
> type="emptyContent"/>
>     </xsd:choice>
>   </xsd:group>
>   <xsd:simpleType name="occurenceIndicator">
>     <xsd:restriction base="xsd:string">
>       <xsd:enumeration value="?"/>
>       <xsd:enumeration value="*"/>
>       <xsd:enumeration value="+"/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <xsd:complexType name="sequenceType">
>     <xsd:choice>
>       <xsd:element name="emptySequenceType"
> type="emptyContent"/>
>       <xsd:sequence>
>         <xsd:group ref="itemType"/>
>         <xsd:element name="occurenceIndicator"
> type="occurenceIndicator" 
>                      minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:choice>
>   </xsd:complexType>
>   <xsd:element name="sequenceType"
> type="sequenceType"/>
>   <xsd:element name="typeDeclaration"
> type="sequenceType"/>
> 
>   <!-- Represents a "typed" variable (for clause, let
> clause etc) -->
>   <xsd:element name="typedVariableBinding">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="varName" type="xsd:QName"/>
>         <xsd:element ref="typeDeclaration"
> minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="positionalVariableBinding"
> type="xsd:QName"/>
>   <xsd:element name="variableBinding"
> type="xsd:QName"/>
>   <xsd:element name="forClauseItem">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="typedVariableBinding"/>
>         <xsd:element name="positionalVariableBinding"
> minOccurs="0"/>
>         <xsd:element name="forExpr"
> type="exprWrapper"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="forClause">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="forClauseItem"
> maxOccurs="unbounded"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="letClauseItem">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="typedVariableBinding"/>
>         <xsd:element name="letExpr"
> type="exprWrapper"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="letClause">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="letClauseItem"
> maxOccurs="unbounded"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="whereClause" type="exprWrapper"/>
>   <xsd:element name="returnClause"
> type="exprWrapper"/>
>   <xsd:element name="orderModifier">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:choice minOccurs="0">
>           <xsd:element name="ascending"
> type="emptyContent"/>
>           <xsd:element name="descending"
> type="emptyContent"/>
>         </xsd:choice>
>         <xsd:choice minOccurs="0">
>           <xsd:element name="emptyGreatest"
> type="emptyContent"/>
>           <xsd:element name="emptyLeast"
> type="emptyContent"/>
>         </xsd:choice>
>         <xsd:element name="collation"
> type="xsd:string" minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="orderBySpec">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="orderByExpr"
> type="exprWrapper"/>
>         <xsd:element name="orderModifier"
> minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="orderByClause">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="stable" type="emptyContent"
> minOccurs="0"/>
>         <xsd:element name="orderBySpec"
> maxOccurs="unbounded"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <!-- This is the flwor expression -->
>   <xsd:complexType name="flworExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:choice maxOccurs="unbounded">
>             <xsd:element ref="forClause"/>
>             <xsd:element ref="letClause"/>
>           </xsd:choice>
>           <xsd:element name="whereClause"
> minOccurs="0"/>
>           <xsd:element name="orderByClause"
> minOccurs="0"/>
>           <xsd:element name="returnClause"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <!-- The following clauses describe quantified
> expressions -->
>   <xsd:simpleType name="quantifier">
>     <xsd:restriction base="xsd:NMTOKEN">
>       <xsd:enumeration value="some"/>
>       <xsd:enumeration value="every"/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <xsd:element name="qExpr" type="exprWrapper"/>
>   <xsd:element name="quantifiedExprInClause">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="typedVariableBinding"/>
>         <xsd:element ref="qExpr" />
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:complexType name="quantifiedExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="quantifier"
> type="quantifier"/>
>           <xsd:element name="quantifiedExprInClause"
> maxOccurs="unbounded"/>
>           <xsd:element name="satisfiesExpr"
> type="exprWrapper"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <!-- handle the typeswitch construct -->
>   <xsd:complexType name="typeswitchExprCaseClause">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="variableBinding"
> minOccurs="0"/>
>           <xsd:element ref="typeDeclaration"/>
>           <xsd:element name="returnExpr"
> type="exprWrapper"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="typeswitchExprDefaultClause">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="variableBinding"
> minOccurs="0"/>
>           <xsd:element name="returnExpr"
> type="exprWrapper"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="typeswitchExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="treatExpr"
> type="exprWrapper"/>
>           <xsd:element name="typeswitchExprCaseClause"
> maxOccurs="unbounded"/>
>           <xsd:element
> name="typeswitchExprDefaultClause" />
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="ifThenElseExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="ifClause"
> type="exprWrapper"/>
>           <xsd:element name="thenClause"
> type="exprWrapper"/>
>           <xsd:element name="elseClause"
> type="exprWrapper"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <!-- handle the INSTANCE OF construct -->
>   <xsd:complexType name="instanceOfExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="treatExpr"
> type="exprWrapper"/>
>           <xsd:element ref="sequenceType"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="treatExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="expr"/>
>           <xsd:element ref="sequenceType"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="castableExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="expr"/>
>           <xsd:element ref="singleType"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="castExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="expr"/>
>           <xsd:element ref="singleType"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <!-- Used for the VALIDATE construct -->
>   <xsd:simpleType name="validationMode">
>     <xsd:restriction base="xsd:NMTOKEN">
>       <xsd:enumeration value="lax"/>
>       <xsd:enumeration value="strict"/>
>       <xsd:enumeration value="skip"/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <xsd:element name="schemaContextLocation">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="type" type="emptyContent"
> minOccurs="0"/>
>         <xsd:element ref="QName"
> maxOccurs="unbounded"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="validationContext">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="validationMode"
> type="validationMode" minOccurs="0"/>
>         <xsd:choice>
>           <xsd:element name="globalValidationContext"
> type="emptyContent"/>
>           <xsd:element ref="schemaContextLocation"/>
>         </xsd:choice>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:complexType name="validateExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="validationContext"
> minOccurs="0"/>
>           <xsd:element ref="exprWrapper"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
> 
>   <!-- attributeConstructor is no longer a subclass of
> expr -->
>   <xsd:complexType name="attributeConstructor">
>     <xsd:sequence>
>       <xsd:element name="attributeName"
> type="xsd:QName"/>
>       <xsd:element name="attributeValue"
> type="exprWrapper"/>
>     </xsd:sequence>
>   </xsd:complexType>
>   <xsd:element name="elementContent">
>     <xsd:complexType>
>       <xsd:choice maxOccurs="unbounded">
>         <xsd:element ref="expr"/>
>       </xsd:choice>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="attributeList">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="attributeConstructor"
> type="attributeConstructor" 
>                      maxOccurs="unbounded"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:complexType name="elementConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="tagName"
> type="xsd:QName"/>
>           <xsd:element ref="attributeList"
> minOccurs="0"/>
>           <xsd:element ref="elementContent"
> minOccurs="0"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="computedElementConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:choice>
>             <xsd:element name="tagName"
> type="xsd:QName"/>
>             <xsd:element name="tagNameExpr"
> type="exprWrapper"/>
>           </xsd:choice>
>           <xsd:element name="contentExpr"
> type="exprWrapper" minOccurs="0"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType
> name="computedAttributeConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:choice>
>             <xsd:element name="tagName"
> type="xsd:QName"/>
>             <xsd:element name="tagNameExpr"
> type="exprWrapper"/>
>           </xsd:choice>
>           <xsd:element name="valueExpr"
> type="exprWrapper" minOccurs="0"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="computedDocumentConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="expr"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="computedTextConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="expr" minOccurs="0"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="computedCommentConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="expr"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="computedPIConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:choice>
>             <xsd:element name="piTarget"
> type="xsd:NCName"/>
>             <xsd:element name="piTargetExpr"
> type="exprWrapper"/>
>           </xsd:choice>
>           <xsd:element name="piValueExpr"
> type="exprWrapper" minOccurs="0"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType
> name="computedNamespaceConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="prefix"
> type="xsd:NCName"/>
>           <xsd:element name="uri" type="exprWrapper"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="commentConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="comment"
> type="xsd:string"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="cdataConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="cdataValue"
> type="xsd:string"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="piConstructor">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element name="piTarget"
> type="xsd:NCName"/>
>           <xsd:element name="piValue"
> type="xsd:string"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
> 
>   <xsd:complexType name="unorderedExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="expr"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="simpleWildcard">
>     <xsd:choice>
>       <xsd:element name="QName" type="xsd:QName"/>
>       <xsd:element name="star" type="emptyContent"/>
>     </xsd:choice>
>   </xsd:complexType>
>   <xsd:element name="Wildcard">
>     <xsd:complexType>
>       <xsd:all>
>         <xsd:element name="star" type="emptyContent"
> minOccurs="0"/>
>         <xsd:element ref="NCName" minOccurs="0"/>
>       </xsd:all>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="nameTest">
>     <xsd:complexType>
>       <xsd:choice>
>         <xsd:element ref="QName"/>
>         <xsd:element ref="Wildcard"/>
>       </xsd:choice>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="attributeTest">
>     <xsd:complexType>
>       <xsd:choice minOccurs="0">
>         <xsd:sequence>
>           <xsd:element ref="schemaContextLocation"/>
>           <xsd:element ref="QName"/>
>         </xsd:sequence>
>         <xsd:sequence>
>           <xsd:element name="nodeName"
> type="simpleWildcard"/>
>           <xsd:element name="typeName"
> type="simpleWildcard" minOccurs="0"/>
>         </xsd:sequence>
>       </xsd:choice>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="elementTest">
>     <xsd:complexType>
>       <xsd:choice minOccurs="0">
>         <xsd:sequence>
>           <xsd:element ref="schemaContextLocation"/>
>           <xsd:element ref="QName"/>
>         </xsd:sequence>
>         <xsd:sequence>
>           <xsd:element name="nodeName"
> type="simpleWildcard"/>
>           <xsd:sequence minOccurs="0">
>             <xsd:element name="typeName"
> type="simpleWildcard"/>
>             <xsd:element name="nillable"
> type="emptyContent" minOccurs="0"/>
>           </xsd:sequence>
>         </xsd:sequence>
>       </xsd:choice>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="documentTest">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="elementTest" minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="piTest">
>     <xsd:complexType>
>       <xsd:choice minOccurs="0">
>         <xsd:element name="piTarget"
> type="xsd:NCName"/>
>         <xsd:element name="piValue"
> type="xsd:string"/>
>       </xsd:choice>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:group name="kindTest">
>     <xsd:choice>
>       <xsd:element ref="elementTest"/>
>       <xsd:element ref="attributeTest"/>
>       <xsd:element name="textTest"
> type="emptyContent"/>
>       <xsd:element name="commentTest"
> type="emptyContent"/>
>       <xsd:element name="anyKindTest"
> type="emptyContent"/>
>       <xsd:element ref="documentTest"/>
>       <xsd:element ref="piTest" />
>     </xsd:choice>
>   </xsd:group>
>   <xsd:element name="xpathAxis">
>     <xsd:simpleType>
>       <xsd:restriction base="xsd:NMTOKEN">
>         <xsd:enumeration value="child"/>
>         <xsd:enumeration value="attribute"/>
>         <xsd:enumeration value="self"/>
>         <xsd:enumeration value="descendant-or-self"/>
>         <xsd:enumeration value="parent"/>
>       </xsd:restriction>
>     </xsd:simpleType>
>   </xsd:element>
>   <xsd:element name="stepExpr">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="xpathAxis"/>
>         <xsd:choice>
>           <xsd:group ref="kindTest"/>
>           <xsd:element ref="QName"/>
>           <xsd:element ref="Wildcard"/>
>         </xsd:choice>
>         <xsd:element name="predicates" type="exprList"
> minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:complexType name="pathExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr">
>         <xsd:sequence>
>           <xsd:element ref="expr"/>
>           <xsd:element name="predicates"
> type="exprList" minOccurs="0"/>
>           <xsd:element ref="stepExpr" minOccurs="0"
> maxOccurs="unbounded"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="rootExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr"/>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <xsd:complexType name="contextItemExpr">
>     <xsd:complexContent>
>       <xsd:extension base="expr"/>
>     </xsd:complexContent>
>   </xsd:complexType>
>   <!-- The following constructs deal with the query
> prolog -->
>   <xsd:element name="module">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="version" minOccurs="0"/>
>         <xsd:choice>
>           <xsd:element ref="mainModule"/>
>           <xsd:element ref="libraryModule"/>
>         </xsd:choice>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="mainModule">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="prolog" minOccurs="0"/>
>         <xsd:element name="queryBody"
> type="exprWrapper"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:complexType name="namespaceDeclType">
>     <xsd:sequence>
>       <xsd:element name="prefix" type="xsd:NCName"/>
>       <xsd:element name="uri" type="xsd:string"/>
>     </xsd:sequence>
>   </xsd:complexType>
>   <xsd:element name="moduleDecl"
> type="namespaceDeclType"/>
>   <xsd:element name="libraryModule">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="moduleDecl"/>
>         <xsd:element ref="prolog" minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="version" type="xsd:string"/>
>   <xsd:element name="mustUnderstandExtension">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="QName"/>
>         <xsd:element name="contents"
> type="xsd:string"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="pragma">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="QName"/>
>         <xsd:element name="contents"
> type="xsd:string"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="xqueryComment"
> type="xsd:string"/>
>   <xsd:element name="prolog">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:choice minOccurs="0"
> maxOccurs="unbounded">
>           <xsd:element ref="namespaceDecl"/>
>           <xsd:element ref="xmlspaceDecl"/>
>           <xsd:element ref="defaultNamespaceDecl"/>
>           <xsd:element ref="defaultCollationDecl"/>
>           <xsd:element ref="baseUriDecl"/>
>           <xsd:element ref="schemaImport"/>
>           <xsd:element ref="moduleImport"/>
>           <xsd:element ref="varDecl"/>
>           <xsd:element ref="validationDecl"/>
>           <xsd:element ref="functionDecl"/>
> <!-- These two (pragmas and MUEs) have been added here
> temporarily -->
>           <xsd:element ref="pragma"/>
>           <xsd:element ref="mustUnderstandExtension"/>
>         </xsd:choice>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="xmlspaceDecl">
>     <xsd:simpleType>
>       <xsd:restriction base="xsd:NMTOKEN">
>         <xsd:enumeration value="strip"/>
>         <xsd:enumeration value="preserve"/>
>       </xsd:restriction>
>     </xsd:simpleType>
>   </xsd:element>
>   <xsd:element name="defaultCollationDecl"
> type="xsd:string"/>
>   <xsd:element name="baseUriDecl" type="xsd:string"/>
>   <xsd:element name="namespaceDecl"
> type="namespaceDeclType"/>
>   <xsd:simpleType name="defaultNamespaceCategory">
>     <xsd:restriction base="xsd:NMTOKEN">
>       <xsd:enumeration value="function"/>
>       <xsd:enumeration value="element"/>
>     </xsd:restriction>
>   </xsd:simpleType>
>   <xsd:element name="defaultNamespaceDecl">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="uri" type="xsd:string"/>
>         <xsd:element name="defaultNamespaceCategory"
> type="defaultNamespaceCategory"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="varDecl">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="varName" type="xsd:QName"/>
>         <xsd:element ref="typeDeclaration"
> minOccurs="0"/>
>         <xsd:choice>
>           <xsd:element name="varValue"
> type="exprWrapper"/>
>           <xsd:element name="external"
> type="emptyContent"/>
>         </xsd:choice>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="param">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="varName" type="xsd:QName"/>
>         <xsd:element ref="typeDeclaration"
> minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="paramList">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element ref="param" minOccurs="0"
> maxOccurs="unbounded"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="functionDecl">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="functionName"
> type="xsd:QName"/>
>         <xsd:element ref="paramList"/>
>         <xsd:element ref="typeDeclaration"
> minOccurs="0"/>
>         <xsd:choice>
>           <xsd:element name="functionBody"
> type="exprWrapper"/>
>           <xsd:element name="externalDefinition"
> type="emptyContent"/>
>         </xsd:choice>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="validationDecl"
> type="validationMode"/>
>   <xsd:element name="moduleImport">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:element name="namespacePrefix"
> type="xsd:NCName" minOccurs="0"/>
>         <xsd:element name="targetNamespace"
> type="xsd:string"/>
>         <xsd:element name="targetLocation"
> type="xsd:string" minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
>   <xsd:element name="schemaImport">
>     <xsd:complexType>
>       <xsd:sequence>
>         <xsd:choice minOccurs="0">
>           <xsd:element name="namespacePrefix"
> type="xsd:NCName"/>
>           <xsd:element name="defaultElementNamespace"
> type="emptyContent"/>
>         </xsd:choice>
>         <xsd:element name="targetNamespace"
> type="xsd:string"/>
>         <xsd:element name="targetLocation"
> type="xsd:string" minOccurs="0"/>
>       </xsd:sequence>
>     </xsd:complexType>
>   </xsd:element>
> </xsd:schema>
> 
> 
> 		
> __________________________________ 
> Do you Yahoo!? 
> Yahoo! Mail - 250MB free storage. Do more. Manage less. 
> http://info.mail.yahoo.com/mail_250
> 
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> 
> The list archives are at http://lists.xml.org/archives/xml-dev/
> 
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>
> 
> 


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.