---
name: "Net::Z3950::Record"
section: "3pm"
platform: "linux"
package: "libnet-z3950-perl"
version: "0.51-2"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Z3950::Record"
---

# Net::Z3950::Record(3pm)

Net::Z3950::Record - base class for records retrieved from a Z39.50 server

```
        $rs = $conn->resultSet();
        $rec = $rs->record($n);
        print $rec->render();
```

A Record object represents a record retrieved from a Z39.50 server. In fact, the `"Net::Z3950::Record"` class itself is never instantiated: instead, the Net::Z3950 module creates objects of subclasses such as `"Net::Z3950::Record::SUTRS"`, `"Net::Z3950::Record::GRS1"`, `"Net::Z3950::Record::USMARC"` and `"Net::Z3950::Record::XML"`. This class defines a common interface which must be supported by all such subclasses.\
 *nfields()*

```
        $count = $rec->nfields();
```

Returns the number of fields in the record *$rec*.\
 *render()*

```
        print $rec->render();
```

Returns a human-readable string representing the content of the record *$rec* in a form appropriate to its specific type.\
 *rawdata()*

```
        $raw = $rec->rawdata();
```

Returns the raw form of the data in the record, which will in general be different in form for different record syntaxes.\
 **Net::Z3950::Record::SUTRS** Represents a a record using the Simple Unstructured Text Record Syntax (SUTRS) - a simple flat string containing the record's data in a form suitable for presentation to humans (so that the `"render()"` and `"rawdata()"` methods return the same thing.) See Appendix REC.2 (Simple Unstructured Text Record Syntax) of the Z39.50 Standard for more information.\
 **Net::Z3950::Record::GRS1** Represents a record using Generic Record Syntax 1 (GRS1) - a list of tagged fields where each tag is made up of a tag type and tag value, and each field may be of any type, including numeric, string, and recursively contained sub-record.  Fields may also be annotated with metadata, variant information *etc.* See Appendix REC.5 (Generic Record Syntax 1) of the Z39.50 Standard for more information.\
 **Net::Z3950::Record::USMARC, Net::Z3950::Record::UKMARC, Net::Z3950::Record::NORMARC, Net::Z3950::Record::LIBRISMARC, Net::Z3950::Record::DANMARC, Net::Z3950::Record::UNIMARC** Represents a record using the appropriate MARC (MAchine Readable Catalogue) format - binary formats used extensively in libraries. For further information on the MARC formats, see the Library of Congress Network Development and MARC Standards Office web page at http://lcweb.loc.gov/marc/ and the MARC module in Ed Summers's directory at CPAN, http://cpan.valueclick.com/authors/id/E/ES/ESUMMERS/\
 **Net::Z3950::Record::XML** Represents a a record using XML (Extended Markup Language), as defined by the W3C.  Rendering is not currently defined: this module treats the record as a single opaque lump of data, to be parsed by other software. For more information about XML, see http://www.w3.org/XML/\
 **Net::Z3950::Record::HTML** Represents a a record using HTML (HyperText Markup Language), as defined by the W3C.  Rendering is not currently defined: this module treats the record as a single opaque lump of data, to be handled by other software. For more information about HTML, see http://www.w3.org/MarkUp/\
 **Net::Z3950::Record::OPAC** Represents a a record using the OPAC (Online Public Access Catalogue) record syntax, as defined in Appendix 5 (REC) of the Z39.50 standard at http://lcweb.loc.gov/z3950/agency/asn1.html#RecordSyntax-opac\
 **Net::Z3950::Record::MAB** Represents a record using the MAB record syntax (Maschinelles Austauschformat fuer Bibliotheken, ftp://ftp.ddb.de/pub/mab/); an interchange format defined by Die Deutsche Bibliothek (German National Library).\
 **### others, not yet supported** Mike Taylor \<mike@indexdata.com\> First version Sunday 4th May 2000.
