123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: OQP
- (C) Copyright IBM Corp. 2005, 2010
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM corp
- -->
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:element name="expressionFormatRules">
- <xs:annotation>
- <xs:documentation>Comment describing your root element</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="defaultTransformationLayer">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="transformation" type="transformation" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="propertyTransformationLayer">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="property">
- <xs:attribute name="valueType" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="text"/>
- <xs:enumeration value="number"/>
- <xs:enumeration value="boolean"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="defaultValue" type="xs:string" use="optional"/>
- <xs:attribute name="formatTypes" type="xs:string" use="required"/>
- <xs:attribute name="hidden" type="xs:boolean"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="typeTransformationLayer">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="typeTransformation" type="typeTransformation" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="expressionTransformationLayer">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="expression" type="expression" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="expression">
- <xs:sequence>
- <xs:element name="typeTransformation" type="typeTransformation" minOccurs="0"/>
- <xs:element name="property" type="property" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="mdxKeyword" type="xs:string" use="required"/>
- </xs:complexType>
- <xs:complexType name="property" abstract="false">
- <xs:sequence>
- <xs:element name="transformation" type="transformation" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:string" use="required"/>
- </xs:complexType>
- <xs:complexType name="transformation" abstract="true">
- <xs:attribute name="alwaysApply" type="xs:boolean" use="optional"/>
- </xs:complexType>
- <xs:complexType name="unaryTransformation">
- <xs:complexContent>
- <xs:extension base="transformation">
- <xs:sequence>
- <xs:element name="unaryCondition" type="unaryCondition"/>
- <xs:element name="result">
- <xs:complexType>
- <xs:attribute name="state" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="notPresent"/>
- <xs:enumeration value="empty"/>
- <xs:enumeration value="operandValue"/>
- <xs:enumeration value="default"/>
- <xs:enumeration value="true"/>
- <xs:enumeration value="false"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="propertyName" type="xs:string" use="optional"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="binaryTransformation">
- <xs:complexContent>
- <xs:extension base="transformation">
- <xs:sequence>
- <xs:element name="binaryCondition" type="binaryCondition"/>
- <xs:element name="result">
- <xs:complexType>
- <xs:attribute name="state" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="notPresent"/>
- <xs:enumeration value="empty"/>
- <xs:enumeration value="left"/>
- <xs:enumeration value="right"/>
- <xs:enumeration value="min"/>
- <xs:enumeration value="max"/>
- <xs:enumeration value="default"/>
- <xs:enumeration value="true"/>
- <xs:enumeration value="false"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="propertyName" type="xs:string" use="optional"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="caseTransformation">
- <xs:complexContent>
- <xs:extension base="transformation">
- <xs:sequence>
- <xs:element name="case" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="condition" type="condition"/>
- <xs:element name="transformation" type="transformation" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="typeTransformation">
- <xs:complexContent>
- <xs:extension base="transformation">
- <xs:sequence>
- <xs:element name="formatType" minOccurs="2" maxOccurs="unbounded">
- <xs:complexType>
- <xs:attribute name="typeName" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="condition" abstract="true"/>
- <xs:complexType name="unaryCondition">
- <xs:complexContent>
- <xs:extension base="condition">
- <xs:attribute name="operandState" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="notPresent"/>
- <xs:enumeration value="empty"/>
- <xs:enumeration value="present"/>
- <xs:enumeration value="dontCare"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="binaryCondition" abstract="true">
- <xs:complexContent>
- <xs:extension base="condition"/>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="binaryPatternCondition">
- <xs:complexContent>
- <xs:extension base="binaryCondition">
- <xs:attribute name="leftHandSide" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="notPresent"/>
- <xs:enumeration value="present"/>
- <xs:enumeration value="empty"/>
- <xs:enumeration value="dontCare"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="rightHandSide" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="notPresent"/>
- <xs:enumeration value="present"/>
- <xs:enumeration value="empty"/>
- <xs:enumeration value="dontCare"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="binaryComparisonCondition">
- <xs:complexContent>
- <xs:extension base="binaryCondition">
- <xs:attribute name="comparison" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="neq"/>
- <xs:enumeration value="lt"/>
- <xs:enumeration value="eq"/>
- <xs:enumeration value="gt"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="valueCondition">
- <xs:complexContent>
- <xs:extension base="condition">
- <xs:attribute name="operandIndex" type="xs:unsignedInt" use="required"/>
- <xs:attribute name="propertyName" type="xs:string" use="required"/>
- <xs:attribute name="value" type="xs:string" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="andCondition">
- <xs:complexContent>
- <xs:extension base="condition">
- <xs:sequence>
- <xs:element name="condition" type="condition" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="orCondition">
- <xs:complexContent>
- <xs:extension base="condition">
- <xs:sequence>
- <xs:element name="condition" type="condition" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="notCondition">
- <xs:complexContent>
- <xs:extension base="condition">
- <xs:sequence>
- <xs:element name="condition" type="condition"/>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:schema>
|