{
    "content": [
        {
            "type": "text",
            "text": "# Net::LDAP::Schema (info)\n\n## NAME\n\nNet::LDAP::Schema - Load and manipulate an LDAP v3 Schema\n\n## SYNOPSIS\n\nuse Net::LDAP;\nuse Net::LDAP::Schema;\n#\n# Read schema from server\n#\n$ldap = Net::LDAP->new ( $server );\n$ldap->bind ( );\n$schema = $ldap->schema ( );\n#\n# Load from LDIF\n#\n$schema = Net::LDAP::Schema->new;\n$schema->parse ( \"schema.ldif\" ) or die $schema->error;\n\n## DESCRIPTION\n\n\"Net::LDAP::Schema\" provides a means to load an LDAP schema and query\nit for information regarding supported objectclasses, attributes and\nsyntaxes.\n\n## Sections\n\n- **Net::LDAP::Schema(3pm)User Contributed Perl DocumentatioNet::LDAP::Schema(3pm)**\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **METHODS**\n- **SEE ALSO**\n- **AUTHORS**\n- **COPYRIGHT**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Net::LDAP::Schema",
        "section": "",
        "mode": "info",
        "summary": "Net::LDAP::Schema - Load and manipulate an LDAP v3 Schema",
        "synopsis": "use Net::LDAP;\nuse Net::LDAP::Schema;\n#\n# Read schema from server\n#\n$ldap = Net::LDAP->new ( $server );\n$ldap->bind ( );\n$schema = $ldap->schema ( );\n#\n# Load from LDIF\n#\n$schema = Net::LDAP::Schema->new;\n$schema->parse ( \"schema.ldif\" ) or die $schema->error;",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "Net::LDAP::Schema(3pm)User Contributed Perl DocumentatioNet::LDAP::Schema(3pm)",
                "lines": 1,
                "subsections": []
            },
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 16,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 111,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "AUTHORS",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "COPYRIGHT",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "Net::LDAP::Schema(3pm)User Contributed Perl DocumentatioNet::LDAP::Schema(3pm)": {
                "content": "",
                "subsections": []
            },
            "NAME": {
                "content": "Net::LDAP::Schema - Load and manipulate an LDAP v3 Schema\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "use Net::LDAP;\nuse Net::LDAP::Schema;\n\n#\n# Read schema from server\n#\n$ldap = Net::LDAP->new ( $server );\n$ldap->bind ( );\n$schema = $ldap->schema ( );\n\n#\n# Load from LDIF\n#\n$schema = Net::LDAP::Schema->new;\n$schema->parse ( \"schema.ldif\" ) or die $schema->error;\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "\"Net::LDAP::Schema\" provides a means to load an LDAP schema and query\nit for information regarding supported objectclasses, attributes and\nsyntaxes.\n",
                "subsections": []
            },
            "METHODS": {
                "content": "Where a method is stated as taking the 'name or OID' of a schema item\n(which may be an object class, attribute or syntax) then a case-\ninsensitive name or raw OID (object identifier, in dotted numeric\nstring form, e.g. 2.5.4.0) may be supplied.\n\nEach returned item of schema (e.g. an attribute definition) is returned\nin a HASH. The keys in the returned HASH are lowercase versions of the\nkeys read from the server. Here's a partial list (not all HASHes define\nall keys) although note that RFC 4512 permits other keys as well:\n\nname\ndesc\nobsolete\nsup\nequality\nordering\nsubstr\nsyntax\nsingle-value\ncollective\nno-user-modification\nusage\nabstract\nstructural\nauxiliary\nmust\nmay\napplies\naux\nnot\noc\nform\n\nallattributes ( )\nallditcontentrules ( )\nallditstructurerules ( )\nallmatchingrules ( )\nallmatchingruleuses ( )\nallnameforms ( )\nallobjectclasses ( )\nallsyntaxes ( )\nReturns a list of all the requested types in the schema.\n\nattribute ( NAME )\nditcontentrule ( NAME )\nditstructurerule ( NAME )\nmatchingrule ( NAME )\nmatchingruleuse ( NAME )\nnameform ( NAME )\nobjectclass ( NAME )\nsyntax ( NAME )\nReturns a reference to a hash, or \"undef\" if the schema item does\nnot exist. \"NAME\" can be a name or an OID.\n\n$attrhref = $schema->attribute( \"attrname\" );\n\ndump ( )\nDump the raw schema information to standard out.\n\ndump ( FILENAME )\nDump the raw schema information to a file.\n\n$result = $schema->dump ( \"./schema.dump\" );\n\nIf no schema data is returned from directory server, the method\nwill return undefined.  Otherwise a value of 1 is always returned.\n\nerror ( )\nReturns the last error encountered when parsing the schema.\n\nmay ( OBJECTCLASS )\nGiven an argument which is the name or OID of a known object class,\nreturns a list of HASHes describing the attributes which are\noptional in the class.\n\n@may = $schema->may ( $oc );\n# First optional attr has the name '$may[0]->{name}'\n\nmust ( OBJECTCLASS )\nGiven an argument which is the name or OID of a known object class,\nreturns a list of HASHes describing the attributes which are\nmandatory in the class.\n\n@must = $schema->must ( $oc );\n\nparse ( MESG )\nparse ( ENTRY )\nparse ( FILENAME )\nTakes a single argument which can be any of, a message object\nreturned from an LDAP search, a \"Net::LDAP::Entry\" object or the\nname of a file containing an LDIF form of the schema.\n\nIf the argument is a message result from a search,\n\"Net::LDAP::Schema\" will parse the schema from the first entry\nreturned.\n\nReturns true on success and \"undef\" on error.\n\nsuperclass ( NAME )\nGiven an argument which is the name or OID of a known objectclass,\nreturns the list of names of the immediate superclasses.\n\nattributesyntax ( NAME )\nGiven an attribute name, return the actual syntax taking into\naccount attribute supertypes.\n\nmatchingruleforattribute ( NAME, RULE )\nGiven an attribute name and a matching rule (\"equality\", \"substr\",\netc), return the actual rule taking into account attribute\nsupertypes.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "Net::LDAP, Net::LDAP::RFC\n",
                "subsections": []
            },
            "AUTHORS": {
                "content": "Graham Barr <gbarr@pobox.com> John Berthels <jjb@nexor.co.uk>\n\nPlease report any bugs, or post any suggestions, to the perl-ldap\nmailing list <perl-ldap@perl.org>.\n",
                "subsections": []
            },
            "COPYRIGHT": {
                "content": "Copyright (c) 1998-2004 Graham Barr. All rights reserved. This program\nis free software; you can redistribute it and/or modify it under the\nsame terms as Perl itself.\n\nperl v5.32.0                      2021-01-03            Net::LDAP::Schema(3pm)",
                "subsections": []
            }
        }
    }
}