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. MMEETTHHOODDSS 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 syntaxsingle-value
collectiveno-user-modification
usage abstract structural auxiliary must may applies aux not oc form allattributes ( ) allditcontentrules ( ) allditstructurerules ( ) allmatchingrules ( ) allmatchingruleuses ( ) allnameforms ( ) allobjectclasses ( ) allsyntaxes ( ) 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 doesnot exist. "NAME" can be a name or an OID.
$attrhref = $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.SEE ALSO
Net::LDAP, Net::LDAP::RFC AUTHORS Graham BarrJohn Berthels Please report any bugs, or post any suggestions, to the perl-ldap
mailing list
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.perl v5.8.8 2005-04-25 Net::LDAP::Schema(3)