CGM Protocol

Document overview

Stage I Critical verbs:

Stage II Verbs--Not critical, but not optional?

Optional verbs:

Stage I Verbs

Critical verbs:

Submit a Query

Verb name: Search
Verb version: 1.0
Modification Date: 2003-03-24
Required arguments: field, value, op
Optional arguments: set, sort, startResult, resultSize
MIMETYPE of response: text/xml

Verb Description

Specifies a search request to an index server. Arguments indicate search criteria and the order and amount of search results to be returned. The response is a structured list of documents that match the search criteria, and includes a results summary. It is possible to request the results summary only.

Arguments

The arguments field[n] and value[n] enumerate, beginning with 1. For op[n], see below.

Supported values for bibliographic field arguments may vary among index servers. The DescribeVerb verb returns the set of field values supported by a particular server. The arguments and values that must be submitted and/or supported are marked "required" in the following:

Rules for field matching: the value of the value argument is treated as a single string (word or phrase) and matched exactly as submitted; the wild card symbol * should be used to indicate truncation.

Operator Precedence: queries are assumed to be submitted using Reverse Polish Notation (RPN). See the separate document on RPN Notation

Response

Unless there is an error, all responses include a single resultsSummary and zero to many record elements.

A well-formed query that executes properly and yet has no matches is not considered an error. In this case, a resultsSummary would be returned, but no record elements.

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Search&ver=1.0&set=math&resultSize=100
	&field1=author&value1=todhunter&field2=title
	&value2=trigonometry&op2=and

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-01T19:20:30Z</responseDate>
  <request verb="Search" ver="1.0" set="math" resultSize="100"
           field1="author" value1="todhunter" field2="title"
           value2="trigonometry" op2="and">
           http://some.cgm.server/script</request>
  <Search ver="1.0">
    <resultsSummary repositoryIdentifier="CULmath" set="math" sort="title"
                    totalResults="2" startResult="1" resultSize="2" />
    <record>
      <identifier>cul.math/98765432</identifier>
      <title>Fun with Trigonometry</title>
      <author>Todhunter, I.</author>
      <author>Disney, W.</author>
      <pubdate>1888</date>
      <rank>2859</rank>
    </record>
    <record>
      <identifier>cul.math/00640001</identifier>
      <title>Spherical Trigonometry</title>
      <author>Todhunter, I.</author>
      <pubdate>1886</date>
      <rank>2857</rank>
    </record>
  </Search>
</CGM>

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Search&ver=1.0&set=math&startResult=0
	&field1=fulltext&value1=geometry&field2=fulltext
	&value2=trigonometry&op2=and
http://some.cgm.server/script?protocol=CGM
	&verb=Search&ver=1.0&set=math&resultSize=0
	&field1=fulltext&value1=geometry&field2=fulltext
	&value2=trigonometry&op2=and

These two requests are equivalent. The response below is to the first one.

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="Search" ver="1.0" set="math" startResult="0"
           field1="fulltext" value1="geometry" field2="fulltext"
           value2="trigonometry" op2="and">
           http://some.cgm.server/script</request>
  <Search ver="1.0">
    <resultsSummary repositoryIdentifier="CULmath" set="math" sort="title"
                    totalResults="1024" startResult="0" resultSize="0" />
  </Search>
</CGM>

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Search&ver=1.0&set=math
	&field1=author&value1=bush&field2=fullbib
	&value2=basic%20counting&op2=and

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="Search" ver="1.0" set="math" field1="author"
           value1="bush"field2="fullbib" value2="basic counting"
           op2="and">http://some.cgm.server/script
           </request>
  <Search ver="1.0">
    <resultsSummary repositoryIdentifier="CULmath" set="math" sort="title"
                    totalResults="0" startResult="0" resultSize="0" />
  </Search>
</CGM>

Verb History

Substantial reworking and extension of Dienst verb SearchBoolean, version 5.0.


Display a Document in Local Viewer

Verb name: Display
Verb version: 1.0
Modification Date: 2003-01-06
Required arguments: identifier
Optional arguments: none
MIMETYPE of response: will depend on request and viewer mechanism

Verb Description

Request to view a document in a repository's local viewer.

Arguments

Response

A repository can display a document however it chooses.

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Display&ver=1.0&identifier=cul.math/00640001

Verb History

New to CGM.


Get Document Structure

Verb name: Structure
Verb version: 1.0 beta
Modification Date: 2003-03-03
Required arguments: identifier
Optional arguments: version, view
MIMETYPE of response: text/xml

Verb Description

This verb returns a structured response describing a structural view available for a document. A client may use this structural information as the basis for document requests using the Disseminate verb.

Arguments

Response

Each response will include one view element. There will always be one and only one default view of a document.

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Structure&ver=1.0&identifier=cul.math/00640001

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="Structure" ver="1.0" identifier="cul.math/00640001">
           http://some.cgm.server/script</request>
  <Structure ver="1.0">
    <identifier value="cul.math/00640001"/>
    <view id="v123-a" label="Page Listing" default="1">
      <div id="a123-1" type="maindocument" order="1" label="Entire Monograph">
        <div id="a123-1" type="page" order="1" label="Page NA">
        <div id="a123-2" type="page" order="2" label="Page i">
        <div id="a123-3" type="page" order="3" label="Page ii">
        <div id="a123-4" type="page" order="4" label="Page 1">
        <div id="a123-5" type="page" order="5" label="Page 2">
        <div id="a123-6" type="page" order="6" label="Page 3">
        <div id="a123-7" type="page" order="7" label="Page 4">
        <div id="a123-8" type="page" order="8" label="Page 5">
        <div id="a123-9" type="page" order="9" label="Page 6">
      </div>
    </view>
  </Structure>
</CGM>

The response above describes the physical structure of a document. Because no view was specified in the request, the default view was returned.

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Structure&ver=1.0&identifier=cul.math/00640001&view=v123-b

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="Structure" ver="1.0" identifier="cul.math/00640001"
           view="v123-b">http://some.cgm.server/script</request>
  <Structure ver="1.0">
    <identifier value="cul.math/00640001"/>
    <view id="v123-b" label="Chapter Listing" default="0">
      <div id="a123" type="maindocument" order="1" label="Entire Monograph">
        <div id="a123-1" type="front" order="1" label="Front Matter">
          <div id="a123-1-1" type="page" order="1" label="Page i">
          <div id="a123-1-2" type="page" order="2" label="Page ii">
          <div id="a123-1-3" type="page" order="3" label="Page iii">
        </div>
        <div id="a123-2" type="chapter" order="2" label="Chapter I">
          <div id="a123-2-1" type="page" order="1" label="Page 1">
          <div id="a123-2-2" type="page" order="2" label="Page 2">
          <div id="a123-2-3" type="page" order="3" label="Page 3">
          <div id="a123-2-4" type="page" order="4" label="Page 4">
          ....
          <div id="a123-2-36" type="page" order="36" label="Page 36">
        </div>
        <div id="a123-3" type="chapter" order="3" label="Chapter II">
          <div id="a123-3-37" type="page" order="1" label="Page 37">
          <div id="a123-3-38" type="page" order="2" label="Page 38">
          <div id="a123-3-39" type="page" order="3" label="Page 39">
          <div id="a123-3-40" type="page" order="4" label="Page 40">
          ....
          <div id="a123-3-77" type="page" order="41" label="Page 75">
        </div>
        ...
      </div>
    </view>
  </Structure>
</CGM>

This response describes a non-default view of the identified document. The document view is structured into a front section and following chapters, with individual page images available within these structures. ("..." indicates where additional pages and chapters have been omitted in the example for brevity).

Verb History

Modification of Dienst verb Structure, version 2.0. CGM has removed all format related functions from the Dienst Structure.

Earlier NSF-DFG note: For Structure, we discussed replacing the unnumbered DIVs, which can nest, with numbered DIVs (e.g., DIV1, DIV2, etc.). Further, Structure should use real ID values (i.e., only NAME characters, beginning with an alpha character), and need to have a sense of relationship between layers (e.g., what shows first, GIF or PDF?) and a repository's desire to suppress or hold back a layer (e.g., don't show the OCR without this caveat, or don't show it until you've shown other layers, and then only with this caveat).


Get Formats

Verb name: Formats
Verb version: 1.0 beta
Modification Date: 2003-03-18
Required arguments: identifier
Optional arguments: version, div, view
MIMETYPE of response: text/xml

Verb Description

Returns a structured response indicating the formats available for the various structural components of a document.

Arguments

Response

Each response includes a single high-level divReq element.

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Formats&ver=1.0&identifier=cul.math/00640001

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="Structure" ver="1.0" identifier="cul.math/00640001">
           http://some.cgm.server/script</request>
  <Formats ver="1.0">
    <identifier value="cul.math/00640001"/>
    <divReq id="a123-a" type="chapter" order="1" label="chapter 1">
      <format type="PDF.600" mime="application/pdf" size="5500000"
              label="Entire Document in PDF"/>
      <format type="OCR" mime="text/plain" size="412000" label="Un-proofed
              OCR text"/>
      <formatSeq label="Sequence of pages">
        <div id="a123-1" type="page" order="1" label="i">
          <format type="GIF" mime="image/gif" size="63488" label="Page
                  image"/>
          <format type="PDF.600" mime="application/pdf" size="54272" 
                  label="Page in PDF"/>
          <format type="OCR" mime="text/plain" size="4096" label="Un-proofed
                  OCR text"/>
        </div>
        <div id="a123-2" type="page" order="2" label="ii">
          <format type="GIF" mime="image/gif" size="63488" label="Page
                  image"/>
          <format type="PDF.600" mime="application/pdf" size="54272"
                  label="Page in PDF"/>
          <format type="OCR" mime="text/plain" size="4118" label="Un-proofed
                  OCR text"/>
        </div>
        <div id="a123-3" type="page" order="3" label="1">
          <format type="GIF" mime="image/gif" size="63488" label="Page
                  image"/>
          <format type="PDF.600" mime="application/pdf" size="54272"
                  label="Page in PDF"/>
          <format type="OCR" mime="text/plain" size="4616" label="Un-proofed
                  OCR text"/>
        </div>
        ...
        <div id="a123-103" type="page" order="103" label="100">
          <format type="GIF" mime="image/gif" size="63488" label="Page
                  image"/>
          <format type="PDF.600" mime="application/pdf" size="54272"
                  label="Page in PDF"/>
          <format type="OCR" mime="text/plain" size="4580" label="Un-proofed
                  OCR text"/>
        </div>
      </formatSeq>
      <formatSeq label="PDF Chunks" >
        <formatDiv id="chunk1" type="chunk" order="1" label="Pages 1-30">
          <format type="PDF.600" mime="application/pdf" size="1620000"
                  label="Multi-page PDF"/>
          <format type="OCR" mime="text/plain" size="110000" label="Un-proofed
                  OCR text"/>
        </formatDiv>
        <formatDiv id="chunk2" type="chunk" order="2" label="Pages 31-60">
          <format type="PDF.600" mime="application/pdf" size="1650000"
                  label="Multi-page PDF"/>
          <format type="OCR" mime="text/plain" size="120000" label="Un-proofed
                  OCR text"/>
        </formatDiv>
        <formatDiv id="chunk3" type="chunk" order="3" label="Pages 61-90">
          <format type="PDF.600" mime="application/pdf" size="1650000"
                  label="Multi-page PDF"/>
          <format type="OCR" mime="text/plain" size="120000" label="Un-proofed
                  OCR text"/>
        </formatDiv>
        <formatDiv id="chunk4" type="chunk" order="4" label="Pages 91-103">
          <format type="PDF.600" mime="application/pdf" size="550000"
                  label="Multi-page PDF"/>
          <format type="OCR" mime="text/plain" size="40000" label="Un-proofed
                  OCR text"/>
        </formatDiv>
      </formatSeq>
    </divReq>
  </Formats>
</CGM>

Verb History

Modification of Dienst verb Formats, version 4.0.


Get Formats - original take

Verb name: Formats
Verb version: 1.0 alpha
Modification Date: 2003-03-03
Required arguments: identifier
Optional arguments: version, div, view
MIMETYPE of response: text/xml

Verb Description

Returns a structured response indicating the formats available for the various structural components of a document.

Arguments

Response

Each response includes a single high-level divReq element.

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Formats&ver=1.0&identifier=cul.math/00640001

Response

<?xml version="1.0" encoding="UTF-8"?>
  <CGM>
    <responseDate>2002-10-02T19:20:30Z</responseDate>
    <request verb="Structure" ver="1.0" identifier="cul.math/00640001">
             http://some.cgm.server/script</request>
    <Formats ver="1.0">
      <identifier value="cul.math/00640001"/>
      <divReq id="a123-a" type="chapter" order="1" label="chapter 1">
        <format type="PDF.600" mime="application/pdf" size="5500000" label="Entire Document in PDF"/>
        <format type="OCR" mime="text/plain" size="412000" label="Un-proofed OCR text"/>
        <formatSeq label="Sequence of pages">
          <div id="i1" type="page" order="1" label="i">
            <format type="GIF" mime="image/gif" size="63488" label="Page image"/>
            <format type="PDF.600" mime="application/pdf" size="54272" label="Page in PDF"/>
            <format type="OCR" mime="text/plain" size="4096" label="Un-proofed OCR text"/>
          </div>
          <div id="i2" type="page" order="2" label="ii">
            <format type="GIF" mime="image/gif" size="63488" label="Page image"/>
            <format type="PDF.600" mime="application/pdf" size="54272" label="Page in PDF"/>
            <format type="OCR" mime="text/plain" size="4118" label="Un-proofed OCR text"/>
          </div>
          <div id="i3" type="page" order="3" label="1">
            <format type="GIF" mime="image/gif" size="63488" label="Page image"/>
            <format type="PDF.600" mime="application/pdf" size="54272" label="Page in PDF"/>
            <format type="OCR" mime="text/plain" size="4616" label="Un-proofed OCR text"/>
          </div>
          ...
          <div id="i103" type="page" order="103" label="100">
            <format type="GIF" mime="image/gif" size="" label="Page image"/>
            <format type="PDF.600" mime="application/pdf" size="54272" label="Page in PDF"/>
            <format type="OCR" mime="text/plain" size="4580" label="Un-proofed OCR text"/>
          </div>
        </formatSeq>
        <formatSeq label="PDF Chunks" >
          <div id="chunk1" type="chunk" order="1" label="Pages 1-30">
            <format type="PDF.600" mime="application/pdf" size="1620000" label="Multi-page PDF"/>
            <format type="OCR" mime="text/plain" size="110000" label="Un-proofed OCR text"/>
          </div>
          <div id="chunk2" type="chunk" order="2" label="Pages 31-60">
            <format type="PDF.600" mime="application/pdf" size="1650000" label="Multi-page PDF"/>
            <format type="OCR" mime="text/plain" size="120000" label="Un-proofed OCR text"/>
          </div>
          <div id="chunk3" type="chunk" order="3" label="Pages 61-90">
            <format type="PDF.600" mime="application/pdf" size="1650000" label="Multi-page PDF"/>
            <format type="OCR" mime="text/plain" size="120000" label="Un-proofed OCR text"/>
          </div>
          <div id="chunk4" type="chunk" order="4" label="Pages 91-103">
            <format type="PDF.600" mime="application/pdf" size="550000" label="Multi-page PDF"/>
            <format type="OCR" mime="text/plain" size="40000" label="Un-proofed OCR text"/>
          </div>
        </formatSeq>
      </divReq>
    </Formats>
  </CGM>

Verb History

Modification of Dienst verb Formats, version 4.0.


Disseminate Content

Verb name: Disseminate
Verb version: 1.0 beta
Modification Date: 2003-03-03
Required arguments: identifier, format-type
Optional arguments: version, div, view, binder?, encoding?
MIMETYPE of response: Dependent on dissemination requested.

Verb Description

Request a dissemination of a digital object. The characteristics of the dissemination that can be requested (the arguments to the Disseminate verb), are determined by the responses to the Structure, Formats, ListViews, and ListVersions verbs for the specific document. The response is a MIME-typed byte stream.

Arguments

Response

The response to Disseminate is the requested content, directly. [do we consider wrapping content in xml, with something like base64 encoding?]

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Disseminate&ver=1.0&identifier=cul.math/00640001
	&div=chunk2&format-type=PDF.600

Response

The response returns a PDF file associated with a division identified as "chunk2", part of the specified document.

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Disseminate&ver=1.0&identifier=cul.math/00640001
	&div=i2&format-type=GIF

Response

Returns a GIF image of this division. Note that we are depending on divs from the Formats verb response, and not the Structure response. Is this what we want??

Verb History

Modification of Dienst Disseminate verb, version 1.0. Our position on the current CGM verb is that the record-oriented components (metadata) are to be replaced by OAI verb GetRecord, and that Disseminate needs to continue for handling the actual content.

Removed from Dienst verb description: "The MIME type of the byte stream is either the MIME type of the specified content-type or, if a binder is specified, the MIME type of that binder."

Removed from above, this was a definition of argument div (from jpw?): "<div> narrows the dissemination request to a specific structural component (e.g., a chapter) of the specified view of the document instance. The supplied argument must be one the available divs of the view (indicated by the output of the Structure request) paired with a value that is an identifier of one of those divs (again indicated by the output of the Structure request). For example, if a Structure request indicates that there is a div of type chapter with identifier 1, then this argument could by chapter=1. Note that the div argument can not be used in combination with the pageimage argument."

Also removed from argument section: "<viewID>,where <viewID> is one of the available views for the document instance. The resulting dissemination, if there is no pageimage argument, is then the specified view of the document instance."


List Views Available

Verb name: ListViews
Verb version: 1.0 beta
Modification Date: 2003-02-17
Required arguments: identifier
Optional arguments: none
MIMETYPE of response: text/xml

Verb Description

Returns a structured list of the possible views available for a single document.

Arguments

Response

One view, but only one, must be identified as the default view.

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=ListViews&ver=1.0&identifier=cul.math/00640001

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="ListViews" ver="1.0" identifier="cul.math/00640001">
           http://some.cgm.server/script</request>
  <ListViews ver="1.0">
    <identifier value="cul.math/00640001">
    <view id="v123-a" label="Page listing" default="1" />
    <view id="v123-b" label="Chapter and Sections" />
  </ListViews>
</CGM>

Verb History

New to CGM. No corresponding Dienst verb.


Stage II Verbs

Not critical, but not optional?

Describe Verb

Verb name: DescribeVerb [this needs work yet]
Verb version: 1.0 alpha
Modification Date: 2003-01-01
Required arguments: value
Optional arguments: none
MIMETYPE of response: text/xml

Verb Description

Returns a structured response that contains a list, where each element of the list provides information on a version of the specified verb that is supported by this service.

Arguments

Response

The following information may be provided at the verb or version level.

Each element of the list contains the following information:

Note that a service may implement more than one version of a verb.

Error Codes

Examples

Request

protocol=CGM&verb=DescribeVerb&ver=1.0&value=Formats

Response

<?xml version="1.0" encoding="UTF-8"?>
  <DescribeVerb ver="1.0">
    <verb name="Formats">
      <description>Returns a structured response indicating
        the formats of disseminations available for this document
      </description>
      <versions>
        <version id="1.0">
              <example>http://www.umdl.umich.edu/cgi/b/broker/broker?
				protocol=CGM&ver=2.0&
				verb=Formats&identifier=identifiervalue></example>
          <arguments>
            <required>
              <arg name="identifier" />
            </required>
            <optional>
              <arg name="version" />
              <arg name="view" />
            </optional>
          </arguments>
        </version>
      </versions>
    </Verb>
  </Describe-Verb>

Verb History

Modification of Dienst verb Describe-Verb, version 2.0.


List Verbs

Verb name: ListVerbs
Verb version: 1.0 beta
Modification Date: 2003-03-24
Required arguments: none
Optional arguments: none
MIMETYPE of response: text/xml

Verb Description

Returns a structured response containing the name and version number of each CGM verb supported by this repository. Different versions of the same verb should be included, within separate verb elements.

Arguments

Response

The List Verbs response contains a single, repeatable element.

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=ListVerbs&ver=1.0

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="ListVerbs" ver="1.0">
           http://some.cgm.server/script</request>
  <ListVerbs ver="1.0">
    <verb name="Disseminate" ver="1.0" />
    <verb name="Display" ver="1.0" />
    <verb name="Formats" ver="1.0" />
    <verb name="Search" ver="1.0" />
    <verb name="Search" ver="2.0" />
    <verb name="Structure" ver="1.0" />
    <verb name="ListViews" ver="1.0" />
    <verb name="ListVerbs" ver="1.0" />
  </ListVerbs>
</CGM>

Verb History

Dienst verb, version 2.0


Optional Verbs

Optional verbs:

List Binders Available

Verb name: ListBinders
Verb version: 1.0 alpha
Modification Date: 2003-03-18
Required arguments: none
Optional arguments: none
MIMETYPE of response: text/xml

Verb Description

Returns a structured list of the types of binders available in this repository. [In this repository? or for a specific document, or even a specific div within a document? Does this make any sense at the repo level?]

Arguments

Response

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=ListBinders&ver=1.0

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="ListBinders" ver="1.0">
           http://some.cgm.server/script</request>
  <ListBinders ver="1.0">
    <binder type="tar" />
  </ListBinders>
</CGM>

Verb History

Dienst verb, version 1.0


List Encodings Available

Verb name: ListEncodings
Verb version: 1.0 alpha
Modification Date: 2003-03-18
Required arguments: none
Optional arguments: none
MIMETYPE of response: text/xml

Verb Description

Return a structured list of the types of encodings available in this repository. [same questions as with ListBinders--should this be aimed at documents or document divisions rather than the entire repo?]

Arguments

Response

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=ListEncodings&ver=1.0

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="ListEncodings" ver="1.0">
           http://some.cgm.server/script</request>
  <ListEncodings ver="1.0">
    <encoding type="gzip" />
  </ListEncodings>
</CGM>

Verb History

Dienst verb, version 1.0


List Document Versions Available

Verb name: ListVersions
Verb version: 1.0 alpha
Modification Date: 2003-03-18
Required arguments: identifier
Optional arguments: none
MIMETYPE of response: text/xml

Verb Description

Returns a structured response describing the current versions available for the requested document.

Arguments

Response

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=ListVersions&ver=1.0&identifier=cul.math/00640001

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="ListVersions" ver="1.0" identifier="cul.math/00640001">
           http://some.cgm.server/script</request>
  <ListVersions ver="1.0">
    <identifier value="cul.math/00640001">
    <version value="2">
      <date>2002-03-18</date>
      <comment>Author revised version.</comment>
    </version>
    <version value="1">
      <date>1999-10-01</date>
      <comment>Original published version.</comment>
    </version>
  </ListVersions>
</CGM>

Verb History

Modification of Dienst verb List-Versions, version 1.0.


Terms of Use

Verb name: Terms
Verb version: 1.0 alpha
Modification Date: 2003-03-18
Required arguments: identifier??
Optional arguments: none
MIMETYPE of response: text/xml

Verb Description

Returns terms of use and rights information [for a document, or entire collection? I'm assuming for a document here, for now. Some rights information is available at the repository level via OAI Identify].

Arguments

Response

Error Codes

Examples

Request

http://some.cgm.server/script?protocol=CGM
	&verb=Terms&ver=1.0&identifier=cul.math/00640001

Response

<?xml version="1.0" encoding="UTF-8"?>
<CGM>
  <responseDate>2002-10-02T19:20:30Z</responseDate>
  <request verb="Terms" ver="1.0" identifier="cul.math/00640001">
           http://some.cgm.server/script</request>
  <Terms ver="1.0">
    <identifier value="cul.math/00640001">
    <terms>
      <date>2002-03-18</date>
      <comment>This digital material is made available by Cornell 
         University Library, and is to be used for personal or research use
         only. Any other use, including but not limited to commercial or
         scholarly reproductions, redistribution, publication, or transmission,
         whether by electronic means or otherwise, without prior written
         permission of the Library is prohibited.</comment>
    </terms>
  </Terms>
</CGM>

Verb History

New to CGM?