Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel2

XML Schema

Code Block
languagetext
themeRDark
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    version="2.1" 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" />
    <xs:element name="Delegation" 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:element name="Delegations" 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:element name="Delegations" 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>

...