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
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 $