Sun Java System Portal Server 7 Developer's Guide

RDM Format Syntax

Each RDM message contains a header and a body. The header identifies the nature of the RDM message, while the body contains any data required to carry out the needed request (for example, scoping criteria). Both the header and body of the RDM message is encoded using SOIF.

RDM Header

The RDM header section begins with a SOIF object whose schema name is RDMHEADER which must contain as least the attributes listed in the following table:

rdm-version

A string identifying the version of the message specification. (for example, 1.0).

rdm-type

A string identifying the nature of this message.

rdm-query-language (required only for Request messages)

A string which identifies which query language is used in the given request.

catalog-service-id (optional)

A CSID identifying the catalog to which the request/response applies (for example, x-catalog://siroe.budgie.com:80/finance. If not present, the RDM server will use its default catalog.

The following example shows two RDM headers and their attributes:


@RDMHEADER { -
    rdm-version{3}: 1.0
    rdm-type{14}: status-request
}

@RDMHEADER { -
    rdm-version{3}: 1.0
    rdm-type{10}: rd-request
    rdm-query-language{6}:  search
    catalog-service-ID{39}: x-catalog://budgie.siroe.com:80/finance
}

RDM Body

The RDM message body contains any data needed to carry out the request. For example, if the header is rd-request, which indicates a query request, the body must contain the query criteria or scope. For example, if you are sending a request to find all documents that contain the string varrius, then the body must be SOIF object whose schema-name is RDMQuery and whose scope attribute is varrius:


@RDMQUERY { -
    scope{7}:varrius
}

If the RDM message is a query request, the body of the message can also indicate which attributes of the resulting RDs are wanted, the number of results, and sort preference. For example, the following search criteria in the RDM body specifies the URL, title, author, and last-modified attributes. The result set contains at most 10 hits and the resulting set is ordered by the title attribute:


@RDMQUERY { -
    scope{7}:varrius
    view-attributes{30}: url,title,author,last-modified
    view-hits{2}: 10
    view-order{5}: title
}

If the RDM message is another kind of request, such as a Schema-Description-Request, a Server-Description-Request, or a Status-Request, the body of the message should contain appropriate data. See the relevant document for more details on RDM bodies.