GDoc Predicate Schemas
From Gcube Wiki
Revision as of 12:34, 5 October 2010 by Fabio.simeoni (Talk | contribs) (Created page with ' <source lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://gcube-system.org/nam…')
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://gcube-system.org/namespaces/contentmanagement/contentmanager" xmlns:tns="http://gcube-system.org/namespaces/contentmanagement/contentmanager" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="anytype" type="tns:anyPredicate"/> <xs:element name="atleast" type="tns:atLeast"/> <xs:element name="bool" type="tns:bool"/> <xs:element name="calendar" type="tns:calendar"/> <xs:element name="date" type="tns:date"/> <xs:element name="edgePredicate" type="tns:edgePredicate"/> <xs:element name="leafPredicate" type="tns:leafPredicate"/> <xs:element name="many" type="tns:many"/> <xs:element name="num" type="tns:num"/> <xs:element name="one" type="tns:one"/> <xs:element name="only" type="tns:only"/> <xs:element name="opt" type="tns:opt"/> <xs:element name="rid" type="tns:rid"/> <xs:element name="t" type="tns:treePredicate"/> <xs:element name="text" type="tns:text"/> <xs:complexType name="anyPredicate"> <xs:sequence/> </xs:complexType> <xs:complexType name="atLeast"> <xs:complexContent> <xs:extension base="tns:edgePredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="edgePredicate" abstract="true"> <xs:sequence> <xs:element name="l" type="xs:QName" minOccurs="0"/> <xs:choice> <xs:element ref="tns:t"/> <xs:element ref="tns:num"/> <xs:element ref="tns:bool"/> <xs:element ref="tns:text"/> <xs:element ref="tns:date"/> <xs:element ref="tns:calendar"/> <xs:element ref="tns:rid"/> <xs:element ref="tns:anytype"/> </xs:choice> </xs:sequence> <xs:attribute name="cond" type="xs:boolean" use="required"/> </xs:complexType> <xs:complexType name="treePredicate"> <xs:sequence> <xs:element name="id" type="tns:leafPredicate" minOccurs="0"/> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="tns:one"/> <xs:element ref="tns:many"/> <xs:element ref="tns:only"/> <xs:element ref="tns:atleast"/> <xs:element ref="tns:opt"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="leafPredicate" abstract="true"> <xs:choice> <xs:element ref="any"/> <xs:element ref="all"/> <xs:element ref="either"/> <xs:element ref="not"/> <xs:element ref="same"/> <xs:element ref="more"/> <xs:element ref="less"/> <xs:element ref="tns:rid"/> <xs:element ref="beforeDate"/> <xs:element ref="afterDate"/> <xs:element ref="before"/> <xs:element ref="after"/> <xs:element ref="match"/> </xs:choice> </xs:complexType> <xs:complexType name="rid"> <xs:complexContent> <xs:extension base="tns:leafPredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="one"> <xs:complexContent> <xs:extension base="tns:edgePredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="many"> <xs:complexContent> <xs:extension base="tns:edgePredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="only"> <xs:complexContent> <xs:extension base="tns:edgePredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="opt"> <xs:complexContent> <xs:extension base="tns:edgePredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="num"> <xs:complexContent> <xs:extension base="tns:leafPredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="bool"> <xs:complexContent> <xs:extension base="tns:leafPredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="text"> <xs:complexContent> <xs:extension base="tns:leafPredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="date" final="extension restriction"> <xs:complexContent> <xs:extension base="tns:leafPredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="calendar" final="extension restriction"> <xs:complexContent> <xs:extension base="tns:leafPredicate"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="predicates"> <xs:sequence/> </xs:complexType> </xs:schema> <xs:element name="after" type="after"/> <xs:element name="afterDate" type="afterDate"/> <xs:element name="all" type="all"/> <xs:element name="any" type="anyValue"/> <xs:element name="before" type="before"/> <xs:element name="beforeDate" type="beforeDate"/> <xs:element name="either" type="either"/> <xs:element name="less" type="less"/> <xs:element name="match" type="match"/> <xs:element name="more" type="more"/> <xs:element name="not" type="not"/> <xs:element name="same" type="same"/> <xs:complexType name="anyValue"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="baseConstraint" abstract="true"> <xs:sequence/> </xs:complexType> <xs:complexType name="all"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="any"/> <xs:element ref="all"/> <xs:element ref="either"/> <xs:element ref="not"/> <xs:element ref="same"/> <xs:element ref="more"/> <xs:element ref="less"/> <xs:element ref="beforeDate"/> <xs:element ref="afterDate"/> <xs:element ref="before"/> <xs:element ref="after"/> <xs:element ref="match"/> </xs:choice> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="either"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="any"/> <xs:element ref="all"/> <xs:element ref="either"/> <xs:element ref="not"/> <xs:element ref="same"/> <xs:element ref="more"/> <xs:element ref="less"/> <xs:element ref="beforeDate"/> <xs:element ref="afterDate"/> <xs:element ref="before"/> <xs:element ref="after"/> <xs:element ref="match"/> </xs:choice> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="not"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:choice> <xs:element ref="any"/> <xs:element ref="all"/> <xs:element ref="either"/> <xs:element ref="not"/> <xs:element ref="same"/> <xs:element ref="more"/> <xs:element ref="less"/> <xs:element ref="beforeDate"/> <xs:element ref="afterDate"/> <xs:element ref="before"/> <xs:element ref="after"/> <xs:element ref="match"/> </xs:choice> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="same"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence> <xs:element name="as" type="xs:anyType" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="more"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence> <xs:element name="than" type="xs:double"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="less"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence> <xs:element name="than" type="xs:double"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="beforeDate"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence> <xs:element name="than" type="xs:dateTime" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="afterDate"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence> <xs:element name="than" type="xs:dateTime" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="before"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence> <xs:element name="than" type="xs:dateTime" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="after"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence> <xs:element name="than" type="xs:dateTime" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="match"> <xs:complexContent> <xs:extension base="baseConstraint"> <xs:sequence> <xs:element name="regex" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>