SCHEMA(1)

NAME
Net::LDAP::Schema - Load and manipulate an LDAP v3 Schema

SYNOPSIS
 use Net::LDAP;
 use Net::LDAP::Schema;
 #
 # Read schema from server
 #
 $ldap = Net::LDAP->new( $server );
 $ldap->bind();
 $schema = $ldap->schema();
 #
 # Load from LDIF
 #
 $schema = Net::LDAP::Schema->new;
 $schema->parse( "schema.ldif" ) or die $schema->error;

DESCRIPTION
Net::LDAP::Schema provides a means to load an LDAP schema and query it for information regarding supported objectclasses, attributes and syntaxes.

METHODS
Where a method is stated as taking the 'name or oid' of a schema item (which may be an object class, attribute or syntax) then a case-insensitive name or raw oid (object identifier, in dotted numeric string form, e.g. 2.5.4.0) may be supplied.

all_attributes
all_ditcontentrules
all_ditstructurerules
all_matchingrules
all_matchingruleuses
all_nameforms
all_objectclasses
all_syntaxes
    Returns a list of the names all the requested type in the schema

      @attrs = $schema->all_attributes();

attribute NAME_OR_OID
ditcontentrule NAME_OR_OID
ditstructurerule NAME_OR_OID
matchingrule NAME_OR_OID
matchingruleuse NAME_OR_OID
nameform NAME_OR_OID
objectclass NAME_OR_OID
syntax NAME_OR_OID
    Returns a reference to a hash, or undef if the attribute does not exist.

      $attr_href = $schema->attribute( "attrname" );

dump
dump FILENAME
    Given an argument which is the name of a file, and the file or directory has write permission, will dump the raw schema information to a file. If no argument is given the raw schema information is dumped to standard out.

      $result = $schema->dump( "./schema.dump" );
      or
      $result = $schema->dump();
    If no schema data is returned from directory server, the method will return undefined. Otherwise a value of 1 is always returned.

error
    Returns the last error encountered.

    Given the name or oid of a schema item (matchingruleuse, ditstructurerule, ditcontentrule or nameform respectively) returns the assoicated OID or undef if the name or oid is not of the appropriate type.

may Given an argument which is the name or oid of a known object class, returns the names of the attributes which are optional in the class.

      @may = $schema->may( $oc );

must
    Given an argument which is the name or oid of a known object class, returns the names of the attributes which are mandatory in the class

      @must = $schema->must( $oc );

parse MESG
parse ENTRY
parse FILENAME
    Takes a single argument which can be any of, A message objected returned from an LDAP search, a Net::LDAP::Entry object or the name of a file containing an LDIF form of the schema.

    If the argument is a message result from a search, Net::LDAP::Schema will parse the schema from the first entry returned.

    Returns true on success and "undef" on error.

superclass
    Given an argument which is the name or oid of a known objectclass, returns the list of names of the immediate superclasses.

SEE ALSO
the Net::LDAP manpage, the Net::LDAP::RFC manpage

AUTHORS
Graham Barr <gbarr@pobox.com> John Berthels <jjb@nexor.co.uk>

Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap-dev@lists.sourceforge.net>.

COPYRIGHT
Copyright (c) 1998-2000 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

$Id: Schema.pod,v 1.11 2002/04/23 10:57:29 gbarr Exp $