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.
Each returned item of schema (eg an attribute definition) is returned in a HASH.
The keys in the returned HASH are lowercased versions of the keys read from
the server. Here's a partial list (not all HASHes define all keys) although
note that RFC 2252 permits other keys as well:
name
desc
obsolete
sup
equality
ordering
substr
syntax
single-value
collective
no-user-modification
usage
abstract
structural
auxiliary
must
may
applies
aux
not
oc
form
- all_attributes ( )
- all_ditcontentrules ( )
- all_ditstructurerules ( )
- all_matchingrules ( )
- all_matchingruleuses ( )
- all_nameforms ( )
- all_objectclasses ( )
- all_syntaxes ( )
- Returns a list of all the requested types in the
schema.
- attribute ( NAME )
- ditcontentrule ( NAME )
- ditstructurerule ( NAME )
- matchingrule ( NAME )
- matchingruleuse ( NAME )
- nameform ( NAME )
- objectclass ( NAME )
- syntax ( NAME )
- Returns a reference to a hash, or "undef" if the
schema item does not exist. "NAME" can be a name or an OID.
$attr_href = $schema->attribute( "attrname" );
- dump ( )
- Dump the raw schema information to standard out.
- dump ( FILENAME )
- Dump the raw schema information to a file.
$result = $schema->dump ( "./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 when parsing the
schema.
- may ( OBJECTCLASS )
- Given an argument which is the name or oid of a known
object class, returns a list of HASHes describing the attributes which are
optional in the class.
@may = $schema->may ( $oc );
# First optional attr has the name '$may[0]->{name}'
- must ( OBJECTCLASS )
- Given an argument which is the name or oid of a known
object class, returns a list of HASHes describing 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
object 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 ( NAME )
- Given an argument which is the name or oid of a known
objectclass, returns the list of names of the immediate superclasses.
- matchingrule_for_attribute ( NAME, RULE )
- Given an attribute name and a matching rule
("equality", "substr", etc), return the actual rule
taking into account attribute supertypes.
SEE ALSO¶
Net::LDAP, Net::LDAP::RFC
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@perl.org>.
COPYRIGHT¶
Copyright (c) 1998-2004 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.