<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="2.0" xmlns="http://schema.ubisecure.com/customerid/api"
targetNamespace="http://schema.ubisecure.com/customerid/api"
elementFormDefault="qualified">
<!-- core entity objects -->
<xs:element name="User" type="EntityType" />
<xs:element name="Organization" type="EntityType" />
<xs:element name="Role" type="EntityType" />
<xs:element name="Mandate" type="EntityType" />
<xs:element name="Workflow" type="EntityType" />
<!-- relation objects -->
<xs:element name="MandateTemplate" type="EntityType" />
<xs:element name="RoleInvitation" type="EntityType" />
<!-- collections -->
<xs:element name="Roles" type="IdListType" />
<xs:element name="Mandates" type="IdListType" />
<xs:element name="Users" type="IdListType" />
<xs:element name="Organizations" type="IdListType" />
<xs:element name="Workflows" type="IdListType" />
<xs:element name="RoleInvitations" type="IdListType" />
<xs:element name="MandateInvitations" type="IdListType" />
<xs:complexType name="EntityType">
<xs:sequence>
<xs:element name="Attribute" type="AttributeType"
maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="inResponseTo" type="xs:anyURI"/>
<xs:attribute name="method" type="httpMethod"/>
<xs:attribute name="type" type="xs:string"/>
</xs:complexType>
<xs:complexType name="IdListType">
<xs:annotation>
<xs:documentation>
Since customerid-rest-schema 2.0:
roleInvitation contains a list of ids that are either
relative or absolute URLs. inResponseTo attribute
indicates what kind of query this message was produced
by
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Id" type="IdType" maxOccurs="unbounded" minOccurs="0"/>
<xs:element name="User" type="EntityType" maxOccurs="unbounded" minOccurs="0"/>
<xs:element name="Organization" type="EntityType" maxOccurs="unbounded" minOccurs="0"/>
<xs:element name="Role" type="EntityType" maxOccurs="unbounded" minOccurs="0"/>
<xs:element name="Mandate" type="EntityType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="inResponseTo" type="xs:anyURI" />
<xs:attribute name="method" type="httpMethod" use="required" />
</xs:complexType>
<xs:complexType name="AttributeType">
<xs:choice>
<xs:element name="Value" type="AttributeValueType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Entity" type="EntityType" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
<xs:complexType name="AttributeValueType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="IdType">
<xs:restriction base="xs:string" />
</xs:simpleType>
<xs:simpleType name="httpMethod">
<xs:restriction base="xs:token">
<xs:enumeration value="GET" />
<xs:enumeration value="PUT" />
<xs:enumeration value="POST" />
<xs:enumeration value="DELETE" />
<xs:enumeration value="UPDATE" />
<xs:enumeration value="HEAD" />
<xs:enumeration value="STATUS" />
<xs:enumeration value="CONNECT" />
<xs:enumeration value="OPTIONS" />
<xs:enumeration value="TRACE" />
</xs:restriction>
</xs:simpleType>
</xs:schema> |