ZNG - Schema (draft)

Request

SOAP

<SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:zng="urn:z3950:zng_prototype1"
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <!-- Header is optional and used for authentication (preferably over https) -->
  <SOAP-ENV:header>
    <zng:user>
    <!-- User Name for Authentication -->
    </zng:user>
    <zng:password>
    <!-- Password for Authentication -->
    </zng:password>
  </SOAP-ENV:header>
  <SOAP-ENV:Body>
    <zng:query>
    <!-- Query in CQL (Common Query Language - query part of CCL plus Attributes) -->
    </zng:query>
    <zng:startRecord>
    <!-- Optional - initial record returned -->
    </zng:startRecord>
    <zng:maximumRecords>
    <!-- Optional - maximum number of records to return -->
   </zng:maximumRecords>
    <zng:responseSchema>
    <!-- Optional - schema of XML response -->
    </zng:recordSchema>
    <zng:recordSchema>
    <!-- Optional - schema of returned records -->
    </zng:recordSchema>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

URL

http://xxx?query=xxx&startRecord=nnn&maximumRecords=nnn&responseSchema=xxx&recordSchema=xxx

 

Response

base response

<SOAP-ENV:Envelope
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:zng="urn:z3950:zng_prototype1"
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <SOAP-ENV:Body>
    <zng:searchRetrieveResponse>
      <zng:resultSetReference>
        <zng:resultSetName>
        <!-- server generated persistent name for result set -->
        </zng:resultSetName>
        <zng:resultSetTTL>
        <!-- server hint at time to live of result set (expiry time as offset in minutes or full date/time string in ? format) -->
        </zng:resultSetTTL>
      </zng:resultSetReference>
      <zng:totalRecords>
      <!-- total number of hits -->
      </zng:totalRecords>
      <zng:records>
       <zng:record>
       <!-- optional repeating record holder -->
          <zng:recordSchema>
          <!-- schema of record structure (or use xmlns??) -->
          </zng:recordSchema>
          <zng:recordData>
          <!-- record data holder -->
          </zng:recordData>
        </zng:record>
       <zng:record>
       <!-- optional repeating record holder -->
          <zng:recordSchema>
          <!-- schema of record structure (or use xmlns??) -->
          </zng:recordSchema>
          <zng:recordData>
          <!-- record data holder -->
          </zng:recordData>
        </zng:record>
        <zng:surrogateDiagnostic>
        <!-- surrogate diagnostic -->
        </zng:surrogateDiagnostic>
      </zng:records>
      <zng:status>
        <zng:statusCode>
        <!--status code -->
        </zng:statusCode>
        <zng:diagnostic>
        <!-- diagnostic -->
        </zng:diagnostic>
      </zng:status>
    </zng:searchRetrieveResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>