<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>
http://xxx?query=xxx&startRecord=nnn&maximumRecords=nnn&responseSchema=xxx&recordSchema=xxx
<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>