Schema ADQLSchema.xsd


schema location:  http://skyservice.pha.jhu.edu/develop/vo/adql/doc/ADQLSchema.xsd
 
Elements  Complex types  Simple types 
AggregateFunction  Alias  AggregateFunction 
Alias  AliasSelectionItem  AllOrDistinct 
AliasSelectionItem  AllColumnReference  BinaryOperator 
AllColumnReference  AllExpressionsFunction  Comparison 
AllExpressionsFunction  AllSelectionItem  MathFunction 
AllOrDistinct  ApproxNum  OrderDirection 
AllSelectionItem  ArchiveTable  TrigonometricFunction 
angleUnitType  ArrayOfAlias  UnaryOperator 
ApproxNum  ArrayOfOrder 
ArchiveTable  ArrayOfString 
astronTimeType  ArrayOfTable 
astronTimeTypeReference  Atom 
astronTimeTypeReferenceTime_base  AtomExpr 
astronTimeTypeReferenceUnit  BetweenPred 
astronTimeTypeRelativeTime  BinaryExpr 
astronTimeTypeRelativeTimeUnit  ClosedExpr 
Atom  ClosedSearch 
AtomExpr  ColumnExpr 
BetweenPred  ColumnReference 
BinaryExpr  ComparisonPred 
BinaryOperator  DistinctColumnFunction 
ClosedExpr  ExpressionFunction 
ClosedSearch  ExprSelectionItem 
ColumnExpr  From 
ColumnReference  Function 
Comparison  FunctionExpr 
ComparisonPred  GroupBy 
constraintType  Having 
coord2SizeType  IntersectionSearch 
coord2ValueType  IntNum 
coord3SizeType  InverseSearch 
coord3ValueType  LikePred 
coordSpectralType  Literal 
coordSpectralValueType  MutipleColumnsFunction 
coordsType  Number 
coordTimeType  NumberLiteral 
coordTimeValueType  Order 
coordValueType  OrderExpression 
DistinctColumnFunction  OrderOption 
ExpressionFunction  Predicate 
ExprSelectionItem  PredicateSearch 
From  RegionSearch 
Function  ScalarExpression 
FunctionExpr  Search 
GroupBy  Select 
Having  SelectionItem 
IntersectionSearch  SelectionLimit 
IntNum  SelectionList 
InverseSearch  SelectionOption 
LikePred  SingleColumnReference 
Literal  StringLiteral 
MathFunction  Table 
MutipleColumnsFunction  TableExpression 
Number  UnaryExpr 
NumberLiteral  UnionSearch 
Order  Where 
OrderDirection  XMatch 
OrderExpression 
OrderOption 
pos2VectorType 
pos3VectorType 
posCoordType 
posScalarType 
posUnitType 
Predicate 
PredicateSearch 
RegionSearch 
regionType 
ScalarExpression 
Search 
Select 
SelectionItem 
SelectionLimit 
SelectionList 
SelectionOption 
shapeType 
SingleColumnReference 
smallCircleType 
spectralUnitType 
StringLiteral 
Table 
TableExpression 
timeScaleType 
TrigonometricFunction 
UnaryExpr 
UnaryOperator 
UnionSearch 
vel2VectorType 
vel3VectorType 
velCoordType 
velScalarType 
velTimeUnitType 
vertexType 
Where 
XMatch 


element AggregateFunction
diagram
type AggregateFunction
facets
enumeration AVG
enumeration MIN
enumeration MAX
enumeration SUM
enumeration COUNT
source
<xs:element name="AggregateFunction" type="AggregateFunction"/>

element Alias
diagram
type Alias
children Negate Name
source
<xs:element name="Alias" type="Alias" nillable="true"/>

element AliasSelectionItem
diagram
type AliasSelectionItem
children UnaryExpr AtomExpr BinaryExpr ColumnExpr FunctionExpr ClosedExpr AliasName
source
<xs:element name="AliasSelectionItem" type="AliasSelectionItem" nillable="true"/>

element AllColumnReference
diagram
type AllColumnReference
children TableName
source
<xs:element name="AllColumnReference" type="AllColumnReference" nillable="true"/>

element AllExpressionsFunction
diagram
type AllExpressionsFunction
children AggregateFunction MathFunction TrigonometricFunction Expr
source
<xs:element name="AllExpressionsFunction" type="AllExpressionsFunction" nillable="true"/>

element AllOrDistinct
diagram
type AllOrDistinct
facets
enumeration ALL
enumeration DISTINCT
source
<xs:element name="AllOrDistinct" type="AllOrDistinct"/>

element AllSelectionItem
diagram
type AllSelectionItem
source
<xs:element name="AllSelectionItem" type="AllSelectionItem" nillable="true"/>

element angleUnitType
diagram
type q22:angleUnitType
source
<xs:element name="angleUnitType" type="q22:angleUnitType"/>

element ApproxNum
diagram
type ApproxNum
children Value
source
<xs:element name="ApproxNum" type="ApproxNum" nillable="true"/>

element ArchiveTable
diagram
type ArchiveTable
children Name AliasName Archive
source
<xs:element name="ArchiveTable" type="ArchiveTable" nillable="true"/>

element astronTimeType
diagram
type q6:astronTimeType
source
<xs:element name="astronTimeType" type="q6:astronTimeType" nillable="true"/>

element astronTimeTypeReference
diagram
type q9:astronTimeTypeReference
source
<xs:element name="astronTimeTypeReference" type="q9:astronTimeTypeReference" nillable="true"/>

element astronTimeTypeReferenceTime_base
diagram
type q10:astronTimeTypeReferenceTime_base
source
<xs:element name="astronTimeTypeReferenceTime_base" type="q10:astronTimeTypeReferenceTime_base"/>

element astronTimeTypeReferenceUnit
diagram
type q11:astronTimeTypeReferenceUnit
source
<xs:element name="astronTimeTypeReferenceUnit" type="q11:astronTimeTypeReferenceUnit"/>

element astronTimeTypeRelativeTime
diagram
type q7:astronTimeTypeRelativeTime
source
<xs:element name="astronTimeTypeRelativeTime" type="q7:astronTimeTypeRelativeTime" nillable="true"/>

element astronTimeTypeRelativeTimeUnit
diagram
type q8:astronTimeTypeRelativeTimeUnit
source
<xs:element name="astronTimeTypeRelativeTimeUnit" type="q8:astronTimeTypeRelativeTimeUnit"/>

element Atom
diagram
type Atom
children StringLiteral NumberLiteral
source
<xs:element name="Atom" type="Atom" nillable="true"/>

element AtomExpr
diagram
type AtomExpr
children Value
source
<xs:element name="AtomExpr" type="AtomExpr" nillable="true"/>

element BetweenPred
diagram
type BetweenPred
children Expr Negate FirstExpr SecondExpr
source
<xs:element name="BetweenPred" type="BetweenPred" nillable="true"/>

element BinaryExpr
diagram
type BinaryExpr
children FirstExpr Operator SecondExpr
source
<xs:element name="BinaryExpr" type="BinaryExpr" nillable="true"/>

element BinaryOperator
diagram
type BinaryOperator
facets
enumeration +
enumeration -
enumeration *
enumeration /
source
<xs:element name="BinaryOperator" type="BinaryOperator"/>

element ClosedExpr
diagram
type ClosedExpr
children Expr
source
<xs:element name="ClosedExpr" type="ClosedExpr" nillable="true"/>

element ClosedSearch
diagram
type ClosedSearch
children Condition
source
<xs:element name="ClosedSearch" type="ClosedSearch" nillable="true"/>

element ColumnExpr
diagram
type ColumnExpr
children AllColumnReference SingleColumnReference
source
<xs:element name="ColumnExpr" type="ColumnExpr" nillable="true"/>

element ColumnReference
diagram
type ColumnReference
children TableName
source
<xs:element name="ColumnReference" type="ColumnReference" nillable="true"/>

element Comparison
diagram
type Comparison
facets
enumeration =
enumeration <>
enumeration >
enumeration >=
enumeration <
enumeration <=
source
<xs:element name="Comparison" type="Comparison"/>

element ComparisonPred
diagram
type ComparisonPred
children FirstExpr Compare SecondExpr
source
<xs:element name="ComparisonPred" type="ComparisonPred" nillable="true"/>

element constraintType
diagram
type q3:constraintType
source
<xs:element name="constraintType" type="q3:constraintType" nillable="true"/>

element coord2SizeType
diagram
type q25:coord2SizeType
source
<xs:element name="coord2SizeType" type="q25:coord2SizeType" nillable="true"/>

element coord2ValueType
diagram
type q24:coord2ValueType
source
<xs:element name="coord2ValueType" type="q24:coord2ValueType" nillable="true"/>

element coord3SizeType
diagram
type q21:coord3SizeType
source
<xs:element name="coord3SizeType" type="q21:coord3SizeType" nillable="true"/>

element coord3ValueType
diagram
type q20:coord3ValueType
source
<xs:element name="coord3ValueType" type="q20:coord3ValueType" nillable="true"/>

element coordSpectralType
diagram
type q30:coordSpectralType
source
<xs:element name="coordSpectralType" type="q30:coordSpectralType" nillable="true"/>

element coordSpectralValueType
diagram
type q31:coordSpectralValueType
source
<xs:element name="coordSpectralValueType" type="q31:coordSpectralValueType" nillable="true"/>

element coordsType
diagram
type q4:coordsType
source
<xs:element name="coordsType" type="q4:coordsType" nillable="true"/>

element coordTimeType
diagram
type q5:coordTimeType
source
<xs:element name="coordTimeType" type="q5:coordTimeType" nillable="true"/>

element coordTimeValueType
diagram
type q13:coordTimeValueType
source
<xs:element name="coordTimeValueType" type="q13:coordTimeValueType" nillable="true"/>

element coordValueType
diagram
type q17:coordValueType
source
<xs:element name="coordValueType" type="q17:coordValueType" nillable="true"/>

element DistinctColumnFunction
diagram
type DistinctColumnFunction
children AggregateFunction MathFunction TrigonometricFunction AllColumnReference SingleColumnReference
source
<xs:element name="DistinctColumnFunction" type="DistinctColumnFunction" nillable="true"/>

element ExpressionFunction
diagram
type ExpressionFunction
children AggregateFunction MathFunction TrigonometricFunction Expr
source
<xs:element name="ExpressionFunction" type="ExpressionFunction" nillable="true"/>

element ExprSelectionItem
diagram
type ExprSelectionItem
children UnaryExpr BinaryExpr ClosedExpr ColumnExpr FunctionExpr AtomExpr
source
<xs:element name="ExprSelectionItem" type="ExprSelectionItem" nillable="true"/>

element From
diagram
type From
children TableReference
source
<xs:element name="From" type="From" nillable="true"/>

element Function
diagram
type Function
children AggregateFunction MathFunction TrigonometricFunction
source
<xs:element name="Function" type="Function" nillable="true"/>

element FunctionExpr
diagram
type FunctionExpr
children AllExpressionsFunction ExpressionFunction MutipleColumnsFunction DistinctColumnFunction
source
<xs:element name="FunctionExpr" type="FunctionExpr" nillable="true"/>

element GroupBy
diagram
type GroupBy
children AllColumnReference SingleColumnReference
source
<xs:element name="GroupBy" type="GroupBy" nillable="true"/>

element Having
diagram
type Having
children IntersectionSearch ClosedSearch RegionSearch InverseSearch PredicateSearch UnionSearch XMatch
source
<xs:element name="Having" type="Having" nillable="true"/>

element IntersectionSearch
diagram
type IntersectionSearch
children FirstCondition SecondCondition
source
<xs:element name="IntersectionSearch" type="IntersectionSearch" nillable="true"/>

element IntNum
diagram
type IntNum
children Value
source
<xs:element name="IntNum" type="IntNum" nillable="true"/>

element InverseSearch
diagram
type InverseSearch
children Condition
source
<xs:element name="InverseSearch" type="InverseSearch" nillable="true"/>

element LikePred
diagram
type LikePred
children Expr Negate Value
source
<xs:element name="LikePred" type="LikePred" nillable="true"/>

element Literal
diagram
type Literal
source
<xs:element name="Literal" type="Literal" nillable="true"/>

element MathFunction
diagram
type MathFunction
facets
enumeration ABS
enumeration CEILING
enumeration DEGREES
enumeration EXP
enumeration FLOOR
enumeration LOG
enumeration PI
enumeration POWER
enumeration RADIANS
enumeration SQRT
enumeration SQUARE
source
<xs:element name="MathFunction" type="MathFunction"/>

element MutipleColumnsFunction
diagram
type MutipleColumnsFunction
children AggregateFunction MathFunction TrigonometricFunction
source
<xs:element name="MutipleColumnsFunction" type="MutipleColumnsFunction" nillable="true"/>

element Number
diagram
type Number
source
<xs:element name="Number" type="Number" nillable="true"/>

element NumberLiteral
diagram
type NumberLiteral
children IntNum ApproxNum
source
<xs:element name="NumberLiteral" type="NumberLiteral" nillable="true"/>

element Order
diagram
type Order
children Expr Option
source
<xs:element name="Order" type="Order" nillable="true"/>

element OrderDirection
diagram
type OrderDirection
facets
enumeration ASC
enumeration DESC
source
<xs:element name="OrderDirection" type="OrderDirection"/>

element OrderExpression
diagram
type OrderExpression
children OrderList
source
<xs:element name="OrderExpression" type="OrderExpression" nillable="true"/>

element OrderOption
diagram
type OrderOption
children Direction
source
<xs:element name="OrderOption" type="OrderOption" nillable="true"/>

element pos2VectorType
diagram
type q23:pos2VectorType
source
<xs:element name="pos2VectorType" type="q23:pos2VectorType" nillable="true"/>

element pos3VectorType
diagram
type q19:pos3VectorType
source
<xs:element name="pos3VectorType" type="q19:pos3VectorType" nillable="true"/>

element posCoordType
diagram
type q15:posCoordType
source
<xs:element name="posCoordType" type="q15:posCoordType" nillable="true"/>

element posScalarType
diagram
type q16:posScalarType
source
<xs:element name="posScalarType" type="q16:posScalarType" nillable="true"/>

element posUnitType
diagram
type q18:posUnitType
source
<xs:element name="posUnitType" type="q18:posUnitType"/>

element Predicate
diagram
type Predicate
source
<xs:element name="Predicate" type="Predicate" nillable="true"/>

element PredicateSearch
diagram
type PredicateSearch
children LikePred ComparisonPred BetweenPred
source
<xs:element name="PredicateSearch" type="PredicateSearch" nillable="true"/>

element RegionSearch
diagram
type RegionSearch
children Circle
source
<xs:element name="RegionSearch" type="RegionSearch" nillable="true"/>

element regionType
diagram
type q2:regionType
source
<xs:element name="regionType" type="q2:regionType" nillable="true"/>

element ScalarExpression
diagram
type ScalarExpression
source
<xs:element name="ScalarExpression" type="ScalarExpression" nillable="true"/>

element Search
diagram
type Search
source
<xs:element name="Search" type="Search" nillable="true"/>

element Select
diagram
type Select
children OptionalAllOrDistinct OptionalTop Selection TableClause OrderBy
source
<xs:element name="Select" type="Select" nillable="true"/>

element SelectionItem
diagram
type SelectionItem
source
<xs:element name="SelectionItem" type="SelectionItem" nillable="true"/>

element SelectionLimit
diagram
type SelectionLimit
children Count
source
<xs:element name="SelectionLimit" type="SelectionLimit" nillable="true"/>

element SelectionList
diagram
type SelectionList
children AliasSelectionItem ExprSelectionItem AllSelectionItem
source
<xs:element name="SelectionList" type="SelectionList" nillable="true"/>

element SelectionOption
diagram
type SelectionOption
children Option
source
<xs:element name="SelectionOption" type="SelectionOption" nillable="true"/>

element shapeType
diagram
type q35:shapeType
source
<xs:element name="shapeType" type="q35:shapeType" nillable="true"/>

element SingleColumnReference
diagram
type SingleColumnReference
children TableName Name
source
<xs:element name="SingleColumnReference" type="SingleColumnReference" nillable="true"/>

element smallCircleType
diagram
type q33:smallCircleType
source
<xs:element name="smallCircleType" type="q33:smallCircleType" nillable="true"/>

element spectralUnitType
diagram
type q32:spectralUnitType
source
<xs:element name="spectralUnitType" type="q32:spectralUnitType"/>

element StringLiteral
diagram
type StringLiteral
children Value
source
<xs:element name="StringLiteral" type="StringLiteral" nillable="true"/>

element Table
diagram
type Table
children Name AliasName
source
<xs:element name="Table" type="Table" nillable="true"/>

element TableExpression
diagram
type TableExpression
children FromClause WhereClause GroupByClause HavingClause
source
<xs:element name="TableExpression" type="TableExpression" nillable="true"/>

element timeScaleType
diagram
type q12:timeScaleType
source
<xs:element name="timeScaleType" type="q12:timeScaleType"/>

element TrigonometricFunction
diagram
type TrigonometricFunction
facets
enumeration SIN
enumeration COS
enumeration TAN
enumeration COT
enumeration ASIN
enumeration ACOS
enumeration ATAN
source
<xs:element name="TrigonometricFunction" type="TrigonometricFunction"/>

element UnaryExpr
diagram
type UnaryExpr
children Operator Expr
source
<xs:element name="UnaryExpr" type="UnaryExpr" nillable="true"/>

element UnaryOperator
diagram
type UnaryOperator
facets
enumeration +
enumeration -
source
<xs:element name="UnaryOperator" type="UnaryOperator"/>

element UnionSearch
diagram
type UnionSearch
children FirstCondition SecondCondition
source
<xs:element name="UnionSearch" type="UnionSearch" nillable="true"/>

element vel2VectorType
diagram
type q29:vel2VectorType
source
<xs:element name="vel2VectorType" type="q29:vel2VectorType" nillable="true"/>

element vel3VectorType
diagram
type q28:vel3VectorType
source
<xs:element name="vel3VectorType" type="q28:vel3VectorType" nillable="true"/>

element velCoordType
diagram
type q26:velCoordType
source
<xs:element name="velCoordType" type="q26:velCoordType" nillable="true"/>

element velScalarType
diagram
type q27:velScalarType
source
<xs:element name="velScalarType" type="q27:velScalarType" nillable="true"/>

element velTimeUnitType
diagram
type q14:velTimeUnitType
source
<xs:element name="velTimeUnitType" type="q14:velTimeUnitType"/>

element vertexType
diagram
type q34:vertexType
source
<xs:element name="vertexType" type="q34:vertexType" nillable="true"/>

element Where
diagram
type Where
children IntersectionSearch ClosedSearch RegionSearch InverseSearch PredicateSearch UnionSearch XMatch
source
<xs:element name="Where" type="Where" nillable="true"/>

element XMatch
diagram
type XMatch
children Args Compare IntNum ApproxNum
source
<xs:element name="XMatch" type="XMatch" nillable="true"/>

complexType Alias
diagram
children Negate Name
used by
elements Alias ArrayOfAlias/Alias
source
<xs:complexType name="Alias">
  <xs:sequence>
    <xs:element name="Negate" type="xs:boolean"/>
    <xs:element name="Name" type="xs:string" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element Alias/Negate
diagram
type xs:boolean
source
<xs:element name="Negate" type="xs:boolean"/>

element Alias/Name
diagram
type xs:string
source
<xs:element name="Name" type="xs:string" minOccurs="0"/>

complexType AliasSelectionItem
diagram
type extension of SelectionItem
children UnaryExpr AtomExpr BinaryExpr ColumnExpr FunctionExpr ClosedExpr AliasName
used by
elements AliasSelectionItem SelectionList/AliasSelectionItem
source
<xs:complexType name="AliasSelectionItem" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="SelectionItem">
      <xs:sequence>
        <xs:choice>
          <xs:element name="UnaryExpr" type="UnaryExpr" minOccurs="0"/>
          <xs:element name="AtomExpr" type="AtomExpr" minOccurs="0"/>
          <xs:element name="BinaryExpr" type="BinaryExpr" minOccurs="0"/>
          <xs:element name="ColumnExpr" type="ColumnExpr" minOccurs="0"/>
          <xs:element name="FunctionExpr" type="FunctionExpr" minOccurs="0"/>
          <xs:element name="ClosedExpr" type="ClosedExpr" minOccurs="0"/>
        </xs:choice>
        <xs:element name="AliasName" type="xs:string" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element AliasSelectionItem/UnaryExpr
diagram
type UnaryExpr
children Operator Expr
source
<xs:element name="UnaryExpr" type="UnaryExpr" minOccurs="0"/>

element AliasSelectionItem/AtomExpr
diagram
type AtomExpr
children Value
source
<xs:element name="AtomExpr" type="AtomExpr" minOccurs="0"/>

element AliasSelectionItem/BinaryExpr
diagram
type BinaryExpr
children FirstExpr Operator SecondExpr
source
<xs:element name="BinaryExpr" type="BinaryExpr" minOccurs="0"/>

element AliasSelectionItem/ColumnExpr
diagram
type ColumnExpr
children AllColumnReference SingleColumnReference
source
<xs:element name="ColumnExpr" type="ColumnExpr" minOccurs="0"/>

element AliasSelectionItem/FunctionExpr
diagram
type FunctionExpr
children AllExpressionsFunction ExpressionFunction MutipleColumnsFunction DistinctColumnFunction
source
<xs:element name="FunctionExpr" type="FunctionExpr" minOccurs="0"/>

element AliasSelectionItem/ClosedExpr
diagram
type ClosedExpr
children Expr
source
<xs:element name="ClosedExpr" type="ClosedExpr" minOccurs="0"/>

element AliasSelectionItem/AliasName
diagram
type xs:string
source
<xs:element name="AliasName" type="xs:string" minOccurs="0"/>

complexType AllColumnReference
diagram
type extension of ColumnReference
children TableName
used by
elements AllColumnReference ColumnExpr/AllColumnReference DistinctColumnFunction/AllColumnReference GroupBy/AllColumnReference
source
<xs:complexType name="AllColumnReference" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="ColumnReference"/>
  </xs:complexContent>
</xs:complexType>

complexType AllExpressionsFunction
diagram
type extension of Function
children AggregateFunction MathFunction TrigonometricFunction Expr
used by
elements AllExpressionsFunction FunctionExpr/AllExpressionsFunction
source
<xs:complexType name="AllExpressionsFunction" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Function">
      <xs:sequence>
        <xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element AllExpressionsFunction/Expr
diagram
type ScalarExpression
source
<xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>

complexType AllSelectionItem
diagram
type extension of SelectionItem
used by
elements AllSelectionItem SelectionList/AllSelectionItem
source
<xs:complexType name="AllSelectionItem" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="SelectionItem"/>
  </xs:complexContent>
</xs:complexType>

complexType ApproxNum
diagram
type extension of Number
children Value
used by
elements ApproxNum NumberLiteral/ApproxNum XMatch/ApproxNum
source
<xs:complexType name="ApproxNum" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Number">
      <xs:sequence>
        <xs:element name="Value" type="xs:double"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element ApproxNum/Value
diagram
type xs:double
source
<xs:element name="Value" type="xs:double"/>

complexType ArchiveTable
diagram
type extension of Table
children Name AliasName Archive
used by
element ArchiveTable
source
<xs:complexType name="ArchiveTable" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Table">
      <xs:sequence>
        <xs:element name="Archive" type="xs:string" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element ArchiveTable/Archive
diagram
type xs:string
source
<xs:element name="Archive" type="xs:string" minOccurs="0"/>

complexType ArrayOfAlias
diagram
children Alias
used by
element XMatch/Args
source
<xs:complexType name="ArrayOfAlias">
  <xs:sequence>
    <xs:element name="Alias" type="Alias" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>

element ArrayOfAlias/Alias
diagram
type Alias
children Negate Name
source
<xs:element name="Alias" type="Alias" nillable="true" minOccurs="0" maxOccurs="unbounded"/>

complexType ArrayOfOrder
diagram
children Order
used by
element OrderExpression/OrderList
source
<xs:complexType name="ArrayOfOrder">
  <xs:sequence>
    <xs:element name="Order" type="Order" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>

element ArrayOfOrder/Order
diagram
type Order
children Expr Option
source
<xs:element name="Order" type="Order" nillable="true" minOccurs="0" maxOccurs="unbounded"/>

complexType ArrayOfString
diagram
children string
used by
element StringLiteral/Value
source
<xs:complexType name="ArrayOfString">
  <xs:sequence>
    <xs:element name="string" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>

element ArrayOfString/string
diagram
type xs:string
source
<xs:element name="string" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>

complexType ArrayOfTable
diagram
children Table
used by
element From/TableReference
source
<xs:complexType name="ArrayOfTable">
  <xs:sequence>
    <xs:element name="Table" type="Table" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>

element ArrayOfTable/Table
diagram
type Table
children Name AliasName
source
<xs:element name="Table" type="Table" nillable="true" minOccurs="0" maxOccurs="unbounded"/>

complexType Atom
diagram
children StringLiteral NumberLiteral
used by
elements Atom AtomExpr/Value LikePred/Value
source
<xs:complexType name="Atom">
  <xs:sequence>
    <xs:choice>
      <xs:element name="StringLiteral" type="StringLiteral" minOccurs="0"/>
      <xs:element name="NumberLiteral" type="NumberLiteral" minOccurs="0"/>
    </xs:choice>
  </xs:sequence>
</xs:complexType>

element Atom/StringLiteral
diagram
type StringLiteral
children Value
source
<xs:element name="StringLiteral" type="StringLiteral" minOccurs="0"/>

element Atom/NumberLiteral
diagram
type NumberLiteral
children IntNum ApproxNum
source
<xs:element name="NumberLiteral" type="NumberLiteral" minOccurs="0"/>

complexType AtomExpr
diagram
type extension of ScalarExpression
children Value
used by
elements AtomExpr AliasSelectionItem/AtomExpr ExprSelectionItem/AtomExpr
source
<xs:complexType name="AtomExpr" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="ScalarExpression">
      <xs:sequence>
        <xs:element name="Value" type="Atom" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element AtomExpr/Value
diagram
type Atom
children StringLiteral NumberLiteral
source
<xs:element name="Value" type="Atom" minOccurs="0"/>

complexType BetweenPred
diagram
type extension of Predicate
children Expr Negate FirstExpr SecondExpr
used by
elements BetweenPred PredicateSearch/BetweenPred
source
<xs:complexType name="BetweenPred" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Predicate">
      <xs:sequence>
        <xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>
        <xs:element name="Negate" type="xs:boolean"/>
        <xs:element name="FirstExpr" type="ScalarExpression" minOccurs="0"/>
        <xs:element name="SecondExpr" type="ScalarExpression" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element BetweenPred/Expr
diagram
type ScalarExpression
source
<xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>

element BetweenPred/Negate
diagram
type xs:boolean
source
<xs:element name="Negate" type="xs:boolean"/>

element BetweenPred/FirstExpr
diagram
type ScalarExpression
source
<xs:element name="FirstExpr" type="ScalarExpression" minOccurs="0"/>

element BetweenPred/SecondExpr
diagram
type ScalarExpression
source
<xs:element name="SecondExpr" type="ScalarExpression" minOccurs="0"/>

complexType BinaryExpr
diagram
type extension of ScalarExpression
children FirstExpr Operator SecondExpr
used by
elements BinaryExpr AliasSelectionItem/BinaryExpr ExprSelectionItem/BinaryExpr
source
<xs:complexType name="BinaryExpr" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="ScalarExpression">
      <xs:sequence>
        <xs:element name="FirstExpr" type="ScalarExpression" minOccurs="0"/>
        <xs:element name="Operator" type="BinaryOperator"/>
        <xs:element name="SecondExpr" type="ScalarExpression" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element BinaryExpr/FirstExpr
diagram
type ScalarExpression
source
<xs:element name="FirstExpr" type="ScalarExpression" minOccurs="0"/>

element BinaryExpr/Operator
diagram
type BinaryOperator
facets
enumeration +
enumeration -
enumeration *
enumeration /
source
<xs:element name="Operator" type="BinaryOperator"/>

element BinaryExpr/SecondExpr
diagram
type ScalarExpression
source
<xs:element name="SecondExpr" type="ScalarExpression" minOccurs="0"/>

complexType ClosedExpr
diagram
type extension of ScalarExpression
children Expr
used by
elements ClosedExpr AliasSelectionItem/ClosedExpr ExprSelectionItem/ClosedExpr
source
<xs:complexType name="ClosedExpr" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="ScalarExpression">
      <xs:sequence>
        <xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element ClosedExpr/Expr
diagram
type ScalarExpression
source
<xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>

complexType ClosedSearch
diagram
type extension of Search
children Condition
used by
elements ClosedSearch Having/ClosedSearch Where/ClosedSearch
source
<xs:complexType name="ClosedSearch" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Search">
      <xs:sequence>
        <xs:element name="Condition" type="Search" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element ClosedSearch/Condition
diagram
type Search
source
<xs:element name="Condition" type="Search" minOccurs="0"/>

complexType ColumnExpr
diagram
type extension of ScalarExpression
children AllColumnReference SingleColumnReference
used by
elements ColumnExpr AliasSelectionItem/ColumnExpr ExprSelectionItem/ColumnExpr
source
<xs:complexType name="ColumnExpr" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="ScalarExpression">
      <xs:sequence>
        <xs:choice>
          <xs:element name="AllColumnReference" type="AllColumnReference" minOccurs="0"/>
          <xs:element name="SingleColumnReference" type="SingleColumnReference" minOccurs="0"/>
        </xs:choice>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element ColumnExpr/AllColumnReference
diagram
type AllColumnReference
children TableName
source
<xs:element name="AllColumnReference" type="AllColumnReference" minOccurs="0"/>

element ColumnExpr/SingleColumnReference
diagram
type SingleColumnReference
children TableName Name
source
<xs:element name="SingleColumnReference" type="SingleColumnReference" minOccurs="0"/>

complexType ColumnReference
diagram
children TableName
used by
element ColumnReference
complexTypes AllColumnReference SingleColumnReference
source
<xs:complexType name="ColumnReference" abstract="true">
  <xs:sequence>
    <xs:element name="TableName" type="xs:string" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element ColumnReference/TableName
diagram
type xs:string
source
<xs:element name="TableName" type="xs:string" minOccurs="0"/>

complexType ComparisonPred
diagram
type extension of Predicate
children FirstExpr Compare SecondExpr
used by
elements ComparisonPred PredicateSearch/ComparisonPred
source
<xs:complexType name="ComparisonPred" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Predicate">
      <xs:sequence>
        <xs:element name="FirstExpr" type="ScalarExpression" minOccurs="0"/>
        <xs:element name="Compare" type="Comparison"/>
        <xs:element name="SecondExpr" type="ScalarExpression" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element ComparisonPred/FirstExpr
diagram
type ScalarExpression
source
<xs:element name="FirstExpr" type="ScalarExpression" minOccurs="0"/>

element ComparisonPred/Compare
diagram
type Comparison
facets
enumeration =
enumeration <>
enumeration >
enumeration >=
enumeration <
enumeration <=
source
<xs:element name="Compare" type="Comparison"/>

element ComparisonPred/SecondExpr
diagram
type ScalarExpression
source
<xs:element name="SecondExpr" type="ScalarExpression" minOccurs="0"/>

complexType DistinctColumnFunction
diagram
type extension of Function
children AggregateFunction MathFunction TrigonometricFunction AllColumnReference SingleColumnReference
used by
elements DistinctColumnFunction FunctionExpr/DistinctColumnFunction
source
<xs:complexType name="DistinctColumnFunction" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Function">
      <xs:sequence>
        <xs:choice>
          <xs:element name="AllColumnReference" type="AllColumnReference" minOccurs="0"/>
          <xs:element name="SingleColumnReference" type="SingleColumnReference" minOccurs="0"/>
        </xs:choice>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element DistinctColumnFunction/AllColumnReference
diagram
type AllColumnReference
children TableName
source
<xs:element name="AllColumnReference" type="AllColumnReference" minOccurs="0"/>

element DistinctColumnFunction/SingleColumnReference
diagram
type SingleColumnReference
children TableName Name
source
<xs:element name="SingleColumnReference" type="SingleColumnReference" minOccurs="0"/>

complexType ExpressionFunction
diagram
type extension of Function
children AggregateFunction MathFunction TrigonometricFunction Expr
used by
elements ExpressionFunction FunctionExpr/ExpressionFunction
source
<xs:complexType name="ExpressionFunction" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Function">
      <xs:sequence>
        <xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element ExpressionFunction/Expr
diagram
type ScalarExpression
source
<xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>

complexType ExprSelectionItem
diagram
type extension of SelectionItem
children UnaryExpr BinaryExpr ClosedExpr ColumnExpr FunctionExpr AtomExpr
used by
elements ExprSelectionItem SelectionList/ExprSelectionItem
source
<xs:complexType name="ExprSelectionItem" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="SelectionItem">
      <xs:sequence>
        <xs:choice>
          <xs:element name="UnaryExpr" type="UnaryExpr" minOccurs="0"/>
          <xs:element name="BinaryExpr" type="BinaryExpr" minOccurs="0"/>
          <xs:element name="ClosedExpr" type="ClosedExpr" minOccurs="0"/>
          <xs:element name="ColumnExpr" type="ColumnExpr" minOccurs="0"/>
          <xs:element name="FunctionExpr" type="FunctionExpr" minOccurs="0"/>
          <xs:element name="AtomExpr" type="AtomExpr" minOccurs="0"/>
        </xs:choice>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element ExprSelectionItem/UnaryExpr
diagram
type UnaryExpr
children Operator Expr
source
<xs:element name="UnaryExpr" type="UnaryExpr" minOccurs="0"/>

element ExprSelectionItem/BinaryExpr
diagram
type BinaryExpr
children FirstExpr Operator SecondExpr
source
<xs:element name="BinaryExpr" type="BinaryExpr" minOccurs="0"/>

element ExprSelectionItem/ClosedExpr
diagram
type ClosedExpr
children Expr
source
<xs:element name="ClosedExpr" type="ClosedExpr" minOccurs="0"/>

element ExprSelectionItem/ColumnExpr
diagram
type ColumnExpr
children AllColumnReference SingleColumnReference
source
<xs:element name="ColumnExpr" type="ColumnExpr" minOccurs="0"/>

element ExprSelectionItem/FunctionExpr
diagram
type FunctionExpr
children AllExpressionsFunction ExpressionFunction MutipleColumnsFunction DistinctColumnFunction
source
<xs:element name="FunctionExpr" type="FunctionExpr" minOccurs="0"/>

element ExprSelectionItem/AtomExpr
diagram
type AtomExpr
children Value
source
<xs:element name="AtomExpr" type="AtomExpr" minOccurs="0"/>

complexType From
diagram
children TableReference
used by
elements From TableExpression/FromClause
source
<xs:complexType name="From">
  <xs:sequence>
    <xs:element name="TableReference" type="ArrayOfTable" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element From/TableReference
diagram
type ArrayOfTable
children Table
source
<xs:element name="TableReference" type="ArrayOfTable" minOccurs="0"/>

complexType Function
diagram
children AggregateFunction MathFunction TrigonometricFunction
used by
element Function
complexTypes AllExpressionsFunction DistinctColumnFunction ExpressionFunction MutipleColumnsFunction
source
<xs:complexType name="Function" abstract="true">
  <xs:sequence>
    <xs:choice>
      <xs:element name="AggregateFunction" type="AggregateFunction"/>
      <xs:element name="MathFunction" type="MathFunction"/>
      <xs:element name="TrigonometricFunction" type="TrigonometricFunction"/>
    </xs:choice>
  </xs:sequence>
</xs:complexType>

element Function/AggregateFunction
diagram
type AggregateFunction
facets
enumeration AVG
enumeration MIN
enumeration MAX
enumeration SUM
enumeration COUNT
source
<xs:element name="AggregateFunction" type="AggregateFunction"/>

element Function/MathFunction
diagram
type MathFunction
facets
enumeration ABS
enumeration CEILING
enumeration DEGREES
enumeration EXP
enumeration FLOOR
enumeration LOG
enumeration PI
enumeration POWER
enumeration RADIANS
enumeration SQRT
enumeration SQUARE
source
<xs:element name="MathFunction" type="MathFunction"/>

element Function/TrigonometricFunction
diagram
type TrigonometricFunction
facets
enumeration SIN
enumeration COS
enumeration TAN
enumeration COT
enumeration ASIN
enumeration ACOS
enumeration ATAN
source
<xs:element name="TrigonometricFunction" type="TrigonometricFunction"/>

complexType FunctionExpr
diagram
type extension of ScalarExpression
children AllExpressionsFunction ExpressionFunction MutipleColumnsFunction DistinctColumnFunction
used by
elements FunctionExpr AliasSelectionItem/FunctionExpr ExprSelectionItem/FunctionExpr
source
<xs:complexType name="FunctionExpr" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="ScalarExpression">
      <xs:sequence>
        <xs:choice>
          <xs:element name="AllExpressionsFunction" type="AllExpressionsFunction" minOccurs="0"/>
          <xs:element name="ExpressionFunction" type="ExpressionFunction" minOccurs="0"/>
          <xs:element name="MutipleColumnsFunction" type="MutipleColumnsFunction" minOccurs="0"/>
          <xs:element name="DistinctColumnFunction" type="DistinctColumnFunction" minOccurs="0"/>
        </xs:choice>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element FunctionExpr/AllExpressionsFunction
diagram
type AllExpressionsFunction
children AggregateFunction MathFunction TrigonometricFunction Expr
source
<xs:element name="AllExpressionsFunction" type="AllExpressionsFunction" minOccurs="0"/>

element FunctionExpr/ExpressionFunction
diagram
type ExpressionFunction
children AggregateFunction MathFunction TrigonometricFunction Expr
source
<xs:element name="ExpressionFunction" type="ExpressionFunction" minOccurs="0"/>

element FunctionExpr/MutipleColumnsFunction
diagram
type MutipleColumnsFunction
children AggregateFunction MathFunction TrigonometricFunction
source
<xs:element name="MutipleColumnsFunction" type="MutipleColumnsFunction" minOccurs="0"/>

element FunctionExpr/DistinctColumnFunction
diagram
type DistinctColumnFunction
children AggregateFunction MathFunction TrigonometricFunction AllColumnReference SingleColumnReference
source
<xs:element name="DistinctColumnFunction" type="DistinctColumnFunction" minOccurs="0"/>

complexType GroupBy
diagram
children AllColumnReference SingleColumnReference
used by
elements GroupBy TableExpression/GroupByClause
source
<xs:complexType name="GroupBy">
  <xs:sequence>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element name="AllColumnReference" type="AllColumnReference" minOccurs="0"/>
      <xs:element name="SingleColumnReference" type="SingleColumnReference" minOccurs="0"/>
    </xs:choice>
  </xs:sequence>
</xs:complexType>

element GroupBy/AllColumnReference
diagram
type AllColumnReference
children TableName
source
<xs:element name="AllColumnReference" type="AllColumnReference" minOccurs="0"/>

element GroupBy/SingleColumnReference
diagram
type SingleColumnReference
children TableName Name
source
<xs:element name="SingleColumnReference" type="SingleColumnReference" minOccurs="0"/>

complexType Having
diagram
children IntersectionSearch ClosedSearch RegionSearch InverseSearch PredicateSearch UnionSearch XMatch
used by
elements Having TableExpression/HavingClause
source
<xs:complexType name="Having">
  <xs:sequence>
    <xs:choice>
      <xs:element name="IntersectionSearch" type="IntersectionSearch" minOccurs="0"/>
      <xs:element name="ClosedSearch" type="ClosedSearch" minOccurs="0"/>
      <xs:element name="RegionSearch" type="RegionSearch" minOccurs="0"/>
      <xs:element name="InverseSearch" type="InverseSearch" minOccurs="0"/>
      <xs:element name="PredicateSearch" type="PredicateSearch" minOccurs="0"/>
      <xs:element name="UnionSearch" type="UnionSearch" minOccurs="0"/>
      <xs:element name="XMatch" type="XMatch" minOccurs="0"/>
    </xs:choice>
  </xs:sequence>
</xs:complexType>

element Having/IntersectionSearch
diagram
type IntersectionSearch
children FirstCondition SecondCondition
source
<xs:element name="IntersectionSearch" type="IntersectionSearch" minOccurs="0"/>

element Having/ClosedSearch
diagram
type ClosedSearch
children Condition
source
<xs:element name="ClosedSearch" type="ClosedSearch" minOccurs="0"/>

element Having/RegionSearch
diagram
type RegionSearch
children Circle
source
<xs:element name="RegionSearch" type="RegionSearch" minOccurs="0"/>

element Having/InverseSearch
diagram
type InverseSearch
children Condition
source
<xs:element name="InverseSearch" type="InverseSearch" minOccurs="0"/>

element Having/PredicateSearch
diagram
type PredicateSearch
children LikePred ComparisonPred BetweenPred
source
<xs:element name="PredicateSearch" type="PredicateSearch" minOccurs="0"/>

element Having/UnionSearch
diagram
type UnionSearch
children FirstCondition SecondCondition
source
<xs:element name="UnionSearch" type="UnionSearch" minOccurs="0"/>

element Having/XMatch
diagram
type XMatch
children Args Compare IntNum ApproxNum
source
<xs:element name="XMatch" type="XMatch" minOccurs="0"/>

complexType IntersectionSearch
diagram
type extension of Search
children FirstCondition SecondCondition
used by
elements IntersectionSearch Having/IntersectionSearch Where/IntersectionSearch
source
<xs:complexType name="IntersectionSearch" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Search">
      <xs:sequence>
        <xs:element name="FirstCondition" type="Search" minOccurs="0"/>
        <xs:element name="SecondCondition" type="Search" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element IntersectionSearch/FirstCondition
diagram
type Search
source
<xs:element name="FirstCondition" type="Search" minOccurs="0"/>

element IntersectionSearch/SecondCondition
diagram
type Search
source
<xs:element name="SecondCondition" type="Search" minOccurs="0"/>

complexType IntNum
diagram
type extension of Number
children Value
used by
elements IntNum NumberLiteral/IntNum XMatch/IntNum
source
<xs:complexType name="IntNum" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Number">
      <xs:sequence>
        <xs:element name="Value" type="xs:long"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element IntNum/Value
diagram
type xs:long
source
<xs:element name="Value" type="xs:long"/>

complexType InverseSearch
diagram
type extension of Search
children Condition
used by
elements InverseSearch Having/InverseSearch Where/InverseSearch
source
<xs:complexType name="InverseSearch" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Search">
      <xs:sequence>
        <xs:element name="Condition" type="Search" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element InverseSearch/Condition
diagram
type Search
source
<xs:element name="Condition" type="Search" minOccurs="0"/>

complexType LikePred
diagram
type extension of Predicate
children Expr Negate Value
used by
elements LikePred PredicateSearch/LikePred
source
<xs:complexType name="LikePred" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Predicate">
      <xs:sequence>
        <xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>
        <xs:element name="Negate" type="xs:boolean"/>
        <xs:element name="Value" type="Atom" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element LikePred/Expr
diagram
type ScalarExpression
source
<xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>

element LikePred/Negate
diagram
type xs:boolean
source
<xs:element name="Negate" type="xs:boolean"/>

element LikePred/Value
diagram
type Atom
children StringLiteral NumberLiteral
source
<xs:element name="Value" type="Atom" minOccurs="0"/>

complexType Literal
diagram
used by
element Literal
complexTypes NumberLiteral StringLiteral
source
<xs:complexType name="Literal" abstract="true"/>

complexType MutipleColumnsFunction
diagram
type extension of Function
children AggregateFunction MathFunction TrigonometricFunction
used by
elements MutipleColumnsFunction FunctionExpr/MutipleColumnsFunction
source
<xs:complexType name="MutipleColumnsFunction" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Function"/>
  </xs:complexContent>
</xs:complexType>

complexType Number
diagram
used by
element Number
complexTypes ApproxNum IntNum
source
<xs:complexType name="Number" abstract="true"/>

complexType NumberLiteral
diagram
type extension of Literal
children IntNum ApproxNum
used by
elements NumberLiteral Atom/NumberLiteral
source
<xs:complexType name="NumberLiteral" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Literal">
      <xs:sequence>
        <xs:choice>
          <xs:element name="IntNum" type="IntNum" minOccurs="0"/>
          <xs:element name="ApproxNum" type="ApproxNum" minOccurs="0"/>
        </xs:choice>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element NumberLiteral/IntNum
diagram
type IntNum
children Value
source
<xs:element name="IntNum" type="IntNum" minOccurs="0"/>

element NumberLiteral/ApproxNum
diagram
type ApproxNum
children Value
source
<xs:element name="ApproxNum" type="ApproxNum" minOccurs="0"/>

complexType Order
diagram
children Expr Option
used by
elements Order ArrayOfOrder/Order
source
<xs:complexType name="Order">
  <xs:sequence>
    <xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>
    <xs:element name="Option" type="OrderOption" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element Order/Expr
diagram
type ScalarExpression
source
<xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>

element Order/Option
diagram
type OrderOption
children Direction
source
<xs:element name="Option" type="OrderOption" minOccurs="0"/>

complexType OrderExpression
diagram
children OrderList
used by
elements Select/OrderBy OrderExpression
source
<xs:complexType name="OrderExpression">
  <xs:sequence>
    <xs:element name="OrderList" type="ArrayOfOrder" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element OrderExpression/OrderList
diagram
type ArrayOfOrder
children Order
source
<xs:element name="OrderList" type="ArrayOfOrder" minOccurs="0"/>

complexType OrderOption
diagram
children Direction
used by
elements Order/Option OrderOption
source
<xs:complexType name="OrderOption">
  <xs:sequence>
    <xs:element name="Direction" type="OrderDirection"/>
  </xs:sequence>
</xs:complexType>

element OrderOption/Direction
diagram
type OrderDirection
facets
enumeration ASC
enumeration DESC
source
<xs:element name="Direction" type="OrderDirection"/>

complexType Predicate
diagram
used by
element Predicate
complexTypes BetweenPred ComparisonPred LikePred
source
<xs:complexType name="Predicate" abstract="true"/>

complexType PredicateSearch
diagram
type extension of Search
children LikePred ComparisonPred BetweenPred
used by
elements PredicateSearch Having/PredicateSearch Where/PredicateSearch
source
<xs:complexType name="PredicateSearch" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Search">
      <xs:sequence>
        <xs:choice>
          <xs:element name="LikePred" type="LikePred" minOccurs="0"/>
          <xs:element name="ComparisonPred" type="ComparisonPred" minOccurs="0"/>
          <xs:element name="BetweenPred" type="BetweenPred" minOccurs="0"/>
        </xs:choice>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element PredicateSearch/LikePred
diagram
type LikePred
children Expr Negate Value
source
<xs:element name="LikePred" type="LikePred" minOccurs="0"/>

element PredicateSearch/ComparisonPred
diagram
type ComparisonPred
children FirstExpr Compare SecondExpr
source
<xs:element name="ComparisonPred" type="ComparisonPred" minOccurs="0"/>

element PredicateSearch/BetweenPred
diagram
type BetweenPred
children Expr Negate FirstExpr SecondExpr
source
<xs:element name="BetweenPred" type="BetweenPred" minOccurs="0"/>

complexType RegionSearch
diagram
type extension of Search
children Circle
used by
elements RegionSearch Having/RegionSearch Where/RegionSearch
source
<xs:complexType name="RegionSearch" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Search">
      <xs:sequence>
        <xs:element name="Circle" type="q1:regionType" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element RegionSearch/Circle
diagram
type q1:regionType
source
<xs:element name="Circle" type="q1:regionType" minOccurs="0"/>

complexType ScalarExpression
diagram
used by
elements UnaryExpr/Expr ClosedExpr/Expr AllExpressionsFunction/Expr ExpressionFunction/Expr LikePred/Expr BetweenPred/Expr Order/Expr BinaryExpr/FirstExpr ComparisonPred/FirstExpr BetweenPred/FirstExpr ScalarExpression BinaryExpr/SecondExpr ComparisonPred/SecondExpr BetweenPred/SecondExpr
complexTypes AtomExpr BinaryExpr ClosedExpr ColumnExpr FunctionExpr UnaryExpr
source
<xs:complexType name="ScalarExpression" abstract="true"/>

complexType Search
diagram
used by
elements InverseSearch/Condition ClosedSearch/Condition UnionSearch/FirstCondition IntersectionSearch/FirstCondition Search UnionSearch/SecondCondition IntersectionSearch/SecondCondition
complexTypes ClosedSearch IntersectionSearch InverseSearch PredicateSearch RegionSearch UnionSearch XMatch
source
<xs:complexType name="Search" abstract="true"/>

complexType Select
diagram
children OptionalAllOrDistinct OptionalTop Selection TableClause OrderBy
used by
element Select
source
<xs:complexType name="Select">
  <xs:sequence>
    <xs:element name="OptionalAllOrDistinct" type="SelectionOption" minOccurs="0"/>
    <xs:element name="OptionalTop" type="SelectionLimit" minOccurs="0"/>
    <xs:element name="Selection" type="SelectionList" minOccurs="0"/>
    <xs:element name="TableClause" type="TableExpression" minOccurs="0"/>
    <xs:element name="OrderBy" type="OrderExpression" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element Select/OptionalAllOrDistinct
diagram
type SelectionOption
children Option
source
<xs:element name="OptionalAllOrDistinct" type="SelectionOption" minOccurs="0"/>

element Select/OptionalTop
diagram
type SelectionLimit
children Count
source
<xs:element name="OptionalTop" type="SelectionLimit" minOccurs="0"/>

element Select/Selection
diagram
type SelectionList
children AliasSelectionItem ExprSelectionItem AllSelectionItem
source
<xs:element name="Selection" type="SelectionList" minOccurs="0"/>

element Select/TableClause
diagram
type TableExpression
children FromClause WhereClause GroupByClause HavingClause
source
<xs:element name="TableClause" type="TableExpression" minOccurs="0"/>

element Select/OrderBy
diagram
type OrderExpression
children OrderList
source
<xs:element name="OrderBy" type="OrderExpression" minOccurs="0"/>

complexType SelectionItem
diagram
used by
element SelectionItem
complexTypes AliasSelectionItem AllSelectionItem ExprSelectionItem
source
<xs:complexType name="SelectionItem" abstract="true"/>

complexType SelectionLimit
diagram
children Count
used by
elements Select/OptionalTop SelectionLimit
source
<xs:complexType name="SelectionLimit">
  <xs:sequence>
    <xs:element name="Count" type="xs:unsignedInt"/>
  </xs:sequence>
</xs:complexType>

element SelectionLimit/Count
diagram
type xs:unsignedInt
source
<xs:element name="Count" type="xs:unsignedInt"/>

complexType SelectionList
diagram
children AliasSelectionItem ExprSelectionItem AllSelectionItem
used by
elements Select/Selection SelectionList
source
<xs:complexType name="SelectionList">
  <xs:sequence>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element name="AliasSelectionItem" type="AliasSelectionItem" minOccurs="0"/>
      <xs:element name="ExprSelectionItem" type="ExprSelectionItem" minOccurs="0"/>
      <xs:element name="AllSelectionItem" type="AllSelectionItem" minOccurs="0"/>
    </xs:choice>
  </xs:sequence>
</xs:complexType>

element SelectionList/AliasSelectionItem
diagram
type AliasSelectionItem
children UnaryExpr AtomExpr BinaryExpr ColumnExpr FunctionExpr ClosedExpr AliasName
source
<xs:element name="AliasSelectionItem" type="AliasSelectionItem" minOccurs="0"/>

element SelectionList/ExprSelectionItem
diagram
type ExprSelectionItem
children UnaryExpr BinaryExpr ClosedExpr ColumnExpr FunctionExpr AtomExpr
source
<xs:element name="ExprSelectionItem" type="ExprSelectionItem" minOccurs="0"/>

element SelectionList/AllSelectionItem
diagram
type AllSelectionItem
source
<xs:element name="AllSelectionItem" type="AllSelectionItem" minOccurs="0"/>

complexType SelectionOption
diagram
children Option
used by
elements Select/OptionalAllOrDistinct SelectionOption
source
<xs:complexType name="SelectionOption">
  <xs:sequence>
    <xs:element name="Option" type="AllOrDistinct"/>
  </xs:sequence>
</xs:complexType>

element SelectionOption/Option
diagram
type AllOrDistinct
facets
enumeration ALL
enumeration DISTINCT
source
<xs:element name="Option" type="AllOrDistinct"/>

complexType SingleColumnReference
diagram
type extension of ColumnReference
children TableName Name
used by
elements SingleColumnReference ColumnExpr/SingleColumnReference DistinctColumnFunction/SingleColumnReference GroupBy/SingleColumnReference
source
<xs:complexType name="SingleColumnReference" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="ColumnReference">
      <xs:sequence>
        <xs:element name="Name" type="xs:string" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element SingleColumnReference/Name
diagram
type xs:string
source
<xs:element name="Name" type="xs:string" minOccurs="0"/>

complexType StringLiteral
diagram
type extension of Literal
children Value
used by
elements StringLiteral Atom/StringLiteral
source
<xs:complexType name="StringLiteral" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Literal">
      <xs:sequence>
        <xs:element name="Value" type="ArrayOfString" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element StringLiteral/Value
diagram
type ArrayOfString
children string
source
<xs:element name="Value" type="ArrayOfString" minOccurs="0"/>

complexType Table
diagram
children Name AliasName
used by
elements Table ArrayOfTable/Table
complexType ArchiveTable
source
<xs:complexType name="Table">
  <xs:sequence>
    <xs:element name="Name" type="xs:string" minOccurs="0"/>
    <xs:element name="AliasName" type="xs:string" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element Table/Name
diagram
type xs:string
source
<xs:element name="Name" type="xs:string" minOccurs="0"/>

element Table/AliasName
diagram
type xs:string
source
<xs:element name="AliasName" type="xs:string" minOccurs="0"/>

complexType TableExpression
diagram
children FromClause WhereClause GroupByClause HavingClause
used by
elements Select/TableClause TableExpression
source
<xs:complexType name="TableExpression">
  <xs:sequence>
    <xs:element name="FromClause" type="From" minOccurs="0"/>
    <xs:element name="WhereClause" type="Where" minOccurs="0"/>
    <xs:element name="GroupByClause" type="GroupBy" minOccurs="0"/>
    <xs:element name="HavingClause" type="Having" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

element TableExpression/FromClause
diagram
type From
children TableReference
source
<xs:element name="FromClause" type="From" minOccurs="0"/>

element TableExpression/WhereClause
diagram
type Where
children IntersectionSearch ClosedSearch RegionSearch InverseSearch PredicateSearch UnionSearch XMatch
source
<xs:element name="WhereClause" type="Where" minOccurs="0"/>

element TableExpression/GroupByClause
diagram
type GroupBy
children AllColumnReference SingleColumnReference
source
<xs:element name="GroupByClause" type="GroupBy" minOccurs="0"/>

element TableExpression/HavingClause
diagram
type Having
children IntersectionSearch ClosedSearch RegionSearch InverseSearch PredicateSearch UnionSearch XMatch
source
<xs:element name="HavingClause" type="Having" minOccurs="0"/>

complexType UnaryExpr
diagram
type extension of ScalarExpression
children Operator Expr
used by
elements UnaryExpr AliasSelectionItem/UnaryExpr ExprSelectionItem/UnaryExpr
source
<xs:complexType name="UnaryExpr" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="ScalarExpression">
      <xs:sequence>
        <xs:element name="Operator" type="UnaryOperator"/>
        <xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element UnaryExpr/Operator
diagram
type UnaryOperator
facets
enumeration +
enumeration -
source
<xs:element name="Operator" type="UnaryOperator"/>

element UnaryExpr/Expr
diagram
type ScalarExpression
source
<xs:element name="Expr" type="ScalarExpression" minOccurs="0"/>

complexType UnionSearch
diagram
type extension of Search
children FirstCondition SecondCondition
used by
elements UnionSearch Having/UnionSearch Where/UnionSearch
source
<xs:complexType name="UnionSearch" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Search">
      <xs:sequence>
        <xs:element name="FirstCondition" type="Search" minOccurs="0"/>
        <xs:element name="SecondCondition" type="Search" minOccurs="0"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element UnionSearch/FirstCondition
diagram
type Search
source
<xs:element name="FirstCondition" type="Search" minOccurs="0"/>

element UnionSearch/SecondCondition
diagram
type Search
source
<xs:element name="SecondCondition" type="Search" minOccurs="0"/>

complexType Where
diagram
children IntersectionSearch ClosedSearch RegionSearch InverseSearch PredicateSearch UnionSearch XMatch
used by
elements Where TableExpression/WhereClause
source
<xs:complexType name="Where">
  <xs:sequence>
    <xs:choice>
      <xs:element name="IntersectionSearch" type="IntersectionSearch" minOccurs="0"/>
      <xs:element name="ClosedSearch" type="ClosedSearch" minOccurs="0"/>
      <xs:element name="RegionSearch" type="RegionSearch" minOccurs="0"/>
      <xs:element name="InverseSearch" type="InverseSearch" minOccurs="0"/>
      <xs:element name="PredicateSearch" type="PredicateSearch" minOccurs="0"/>
      <xs:element name="UnionSearch" type="UnionSearch" minOccurs="0"/>
      <xs:element name="XMatch" type="XMatch" minOccurs="0"/>
    </xs:choice>
  </xs:sequence>
</xs:complexType>

element Where/IntersectionSearch
diagram
type IntersectionSearch
children FirstCondition SecondCondition
source
<xs:element name="IntersectionSearch" type="IntersectionSearch" minOccurs="0"/>

element Where/ClosedSearch
diagram
type ClosedSearch
children Condition
source
<xs:element name="ClosedSearch" type="ClosedSearch" minOccurs="0"/>

element Where/RegionSearch
diagram
type RegionSearch
children Circle
source
<xs:element name="RegionSearch" type="RegionSearch" minOccurs="0"/>

element Where/InverseSearch
diagram
type InverseSearch
children Condition
source
<xs:element name="InverseSearch" type="InverseSearch" minOccurs="0"/>

element Where/PredicateSearch
diagram
type PredicateSearch
children LikePred ComparisonPred BetweenPred
source
<xs:element name="PredicateSearch" type="PredicateSearch" minOccurs="0"/>

element Where/UnionSearch
diagram
type UnionSearch
children FirstCondition SecondCondition
source
<xs:element name="UnionSearch" type="UnionSearch" minOccurs="0"/>

element Where/XMatch
diagram
type XMatch
children Args Compare IntNum ApproxNum
source
<xs:element name="XMatch" type="XMatch" minOccurs="0"/>

complexType XMatch
diagram
type extension of Search
children Args Compare IntNum ApproxNum
used by
elements XMatch Having/XMatch Where/XMatch
source
<xs:complexType name="XMatch" mixed="false">
  <xs:complexContent mixed="false">
    <xs:extension base="Search">
      <xs:sequence>
        <xs:element name="Args" type="ArrayOfAlias" minOccurs="0"/>
        <xs:element name="Compare" type="Comparison"/>
        <xs:choice>
          <xs:element name="IntNum" type="IntNum" minOccurs="0"/>
          <xs:element name="ApproxNum" type="ApproxNum" minOccurs="0"/>
        </xs:choice>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

element XMatch/Args
diagram
type ArrayOfAlias
children Alias
source
<xs:element name="Args" type="ArrayOfAlias" minOccurs="0"/>

element XMatch/Compare
diagram
type Comparison
facets
enumeration =
enumeration <>
enumeration >
enumeration >=
enumeration <
enumeration <=
source
<xs:element name="Compare" type="Comparison"/>

element XMatch/IntNum
diagram
type IntNum
children Value
source
<xs:element name="IntNum" type="IntNum" minOccurs="0"/>

element XMatch/ApproxNum
diagram
type ApproxNum
children Value
source
<xs:element name="ApproxNum" type="ApproxNum" minOccurs="0"/>

simpleType AggregateFunction
type restriction of xs:string
used by
elements AggregateFunction Function/AggregateFunction
facets
enumeration AVG
enumeration MIN
enumeration MAX
enumeration SUM
enumeration COUNT
source
<xs:simpleType name="AggregateFunction">
  <xs:restriction base="xs:string">
    <xs:enumeration value="AVG"/>
    <xs:enumeration value="MIN"/>
    <xs:enumeration value="MAX"/>
    <xs:enumeration value="SUM"/>
    <xs:enumeration value="COUNT"/>
  </xs:restriction>
</xs:simpleType>

simpleType AllOrDistinct
type restriction of xs:string
used by
elements AllOrDistinct SelectionOption/Option
facets
enumeration ALL
enumeration DISTINCT
source
<xs:simpleType name="AllOrDistinct">
  <xs:restriction base="xs:string">
    <xs:enumeration value="ALL"/>
    <xs:enumeration value="DISTINCT"/>
  </xs:restriction>
</xs:simpleType>

simpleType BinaryOperator
type restriction of xs:string
used by
elements BinaryOperator BinaryExpr/Operator
facets
enumeration +
enumeration -
enumeration *
enumeration /
source
<xs:simpleType name="BinaryOperator">
  <xs:restriction base="xs:string">
    <xs:enumeration value="+"/>
    <xs:enumeration value="-"/>
    <xs:enumeration value="*"/>
    <xs:enumeration value="/"/>
  </xs:restriction>
</xs:simpleType>

simpleType Comparison
type restriction of xs:string
used by
elements XMatch/Compare ComparisonPred/Compare Comparison
facets
enumeration =
enumeration <>
enumeration >
enumeration >=
enumeration <
enumeration <=
source
<xs:simpleType name="Comparison">
  <xs:restriction base="xs:string">
    <xs:enumeration value="="/>
    <xs:enumeration value="<>"/>
    <xs:enumeration value=">"/>
    <xs:enumeration value=">="/>
    <xs:enumeration value="<"/>
    <xs:enumeration value="<="/>
  </xs:restriction>
</xs:simpleType>

simpleType MathFunction
type restriction of xs:string
used by
elements MathFunction Function/MathFunction
facets
enumeration ABS
enumeration CEILING
enumeration DEGREES
enumeration EXP
enumeration FLOOR
enumeration LOG
enumeration PI
enumeration POWER
enumeration RADIANS
enumeration SQRT
enumeration SQUARE
source
<xs:simpleType name="MathFunction">
  <xs:restriction base="xs:string">
    <xs:enumeration value="ABS"/>
    <xs:enumeration value="CEILING"/>
    <xs:enumeration value="DEGREES"/>
    <xs:enumeration value="EXP"/>
    <xs:enumeration value="FLOOR"/>
    <xs:enumeration value="LOG"/>
    <xs:enumeration value="PI"/>
    <xs:enumeration value="POWER"/>
    <xs:enumeration value="RADIANS"/>
    <xs:enumeration value="SQRT"/>
    <xs:enumeration value="SQUARE"/>
  </xs:restriction>
</xs:simpleType>

simpleType OrderDirection
type restriction of xs:string
used by
elements OrderOption/Direction OrderDirection
facets
enumeration ASC
enumeration DESC
source
<xs:simpleType name="OrderDirection">
  <xs:restriction base="xs:string">
    <xs:enumeration value="ASC"/>
    <xs:enumeration value="DESC"/>
  </xs:restriction>
</xs:simpleType>

simpleType TrigonometricFunction
type restriction of xs:string
used by
elements TrigonometricFunction Function/TrigonometricFunction
facets
enumeration SIN
enumeration COS
enumeration TAN
enumeration COT
enumeration ASIN
enumeration ACOS
enumeration ATAN
source
<xs:simpleType name="TrigonometricFunction">
  <xs:restriction base="xs:string">
    <xs:enumeration value="SIN"/>
    <xs:enumeration value="COS"/>
    <xs:enumeration value="TAN"/>
    <xs:enumeration value="COT"/>
    <xs:enumeration value="ASIN"/>
    <xs:enumeration value="ACOS"/>
    <xs:enumeration value="ATAN"/>
  </xs:restriction>
</xs:simpleType>

simpleType UnaryOperator
type restriction of xs:string
used by
elements UnaryExpr/Operator UnaryOperator
facets
enumeration +
enumeration -
source
<xs:simpleType name="UnaryOperator">
  <xs:restriction base="xs:string">
    <xs:enumeration value="+"/>
    <xs:enumeration value="-"/>
  </xs:restriction>
</xs:simpleType>


XML Schema documentation generated with
XMLSPY Schema Editor http://www.altova.com/xmlspy