SPML Query Object Model Overview

The query interface allows the ad hoc querying of ProvisioningTargets and  ProvisioningSubscriptions.  

Queries are expressed using XPath. 

Schema

<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:oasis:names:tc:SPML:0.1:provisioning:spmlquery"
        xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:tns="urn:oasis:names:tc:SPML:0.1:provisioning:spmlquery"
        xmlns:spml="urn:oasis:names:tc:SPML:0.1:provisioning:spml" elementFormDefault="qualified">

    <import namespace="urn:oasis:names:tc:SPML:0.1:provisioning:spml" schemaLocation="spml.xsd"/>

    <complexType name="NamespaceSpecifier">
        <sequence>
            <element name="uri" type="anyURI" minOccurs="1"/>
        </sequence>
        <attribute name="prefix" use="required"/>
    </complexType>

    <element name="ProvisioningQuery" type="tns:ProvisioningQueryType"/>
    <complexType name="ProvisioningQueryType">
        <sequence>
            <element name="select" type="string" minOccurs="1"/>
            <element name="namespace" type="tns:NamespaceSpecifier" minOccurs="0"/>
        </sequence>
    </complexType>

    <complexType name="ProvisioningIterator">
        <annotation>
            <documentation>Iterator returned from a query request.</documentation>
        </annotation>
        <sequence>
            <element name="identifier" type="spml:ProvisioningIdentifier"/>
        </sequence>
    </complexType>

    <element name="ProvisioningQueryOptions" type="tns:ProvisioningQueryOptionsType"/>
    <complexType name="ProvisioningQueryOptionsType">
        <annotation>
            <documentation>ProvisioningQueryOptions controls a query.</documentation>
        </annotation>
        <sequence>
            <element name="maxResults" type="int" minOccurs="0"/>
            <element name="maxPages" type="int" minOccurs="0"/>
            <element name="expires" type="int" minOccurs="0"/>
        </sequence>
    </complexType>

    <element name="ProvisioningQueryResult" type="tns:ProvisioningQueryResultType"/>
    <complexType name="ProvisioningQueryResultType">
        <annotation>
            <documentation>Basic result information from a query.</documentation>
        </annotation>
        <sequence>
          <element name="status" type="spml:ProvisioningServiceStatusType" minOccurs="1"/>
          <element name="iterator" type="tns:ProvisioningIterator" minOccurs="0" maxOccurs="1"/>
        </sequence>
        <attribute name="remaining" use="required"/>
        <attribute name="size" use="optional"/>
    </complexType>

</schema>