From 82e5f1852765c022f02cf69f3c516e4470d07c3f Mon Sep 17 00:00:00 2001 From: Mark Craig <mark.craig@forgerock.com> Date: Fri, 19 Oct 2012 08:26:41 +0000 Subject: [PATCH] CR-773 Fix for OPENDJ-621: No documentation for schema definition extensions --- opendj3/src/main/docbkx/admin-guide/chap-schema.xml | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 104 insertions(+), 1 deletions(-) diff --git a/opendj3/src/main/docbkx/admin-guide/chap-schema.xml b/opendj3/src/main/docbkx/admin-guide/chap-schema.xml index dab9c70..069d0b6 100644 --- a/opendj3/src/main/docbkx/admin-guide/chap-schema.xml +++ b/opendj3/src/main/docbkx/admin-guide/chap-schema.xml @@ -20,7 +20,7 @@ ! ! CCPL HEADER END ! - ! Copyright 2011 ForgeRock AS + ! Copyright 2011-2012 ForgeRock AS ! --> <chapter xml:id='chap-schema' @@ -219,6 +219,109 @@ dn: uid=bjensen,ou=People,dc=example,dc=com myCustomAttribute: Testing 1, 2, 3... </screen> + + <para>In addition to supporting the standard schema definitions that are + described in <link xlink:href="http://tools.ietf.org/html/rfc4512#section-4.1" + >RFC 4512, section 4.1</link>, OpenDJ also supports the following extensions + that you can use when adding your own definitions.</para> + + <variablelist xml:id="general-schema-definition-extensions"> + <title>Extensions for All Schema Definitions</title> + + <indexterm> + <primary>Schema</primary> + <secondary>Schema definition extensions</secondary> + </indexterm> + + <varlistentry> + <term><literal>X-ORIGIN</literal></term> + <listitem> + <para>Used to specify the origin of a schema element. Examples include + <literal>X-ORIGIN 'RFC 4519'</literal>, <literal>X-ORIGIN + 'draft-ietf-ldup-subentry'</literal>, and <literal>X-ORIGIN + 'OpenDJ Directory Server'</literal>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>X-SCHEMA-FILE</literal></term> + <listitem> + <para>Used to specify the relative path to the schema file containing the + schema element such as <literal>X-SCHEMA-FILE '00-core.ldif'</literal>. + Schema definitions are located by default in + <filename>/path/to/OpenDJ/config/schema/*.ldif</filename> files.</para> + </listitem> + </varlistentry> + </variablelist> + + <variablelist xml:id="attr-syntax-schema-definition-extensions"> + <title>Extensions for Attribute Syntax Descriptions</title> + + <indexterm> + <primary>Schema</primary> + <secondary>Schema definition extensions</secondary> + </indexterm> + + <varlistentry> + <term><literal>X-ENUM</literal></term> + <listitem> + <para>Used to define a syntax that is an enumeration of values. The + following attribute syntax description defines a syntax allowing three + possible attribute values for example.</para> + <programlisting language="ldif" + >ldapSyntaxes: ( 1.3.6.1.4.1.26027.1.3.6 DESC 'Collective Conflict Behavior' + X-ENUM ( 'real-overrides-virtual' 'virtual-overrides-real' + 'merge-real-and-virtual' ) )</programlisting> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>X-PATTERN</literal></term> + <listitem> + <para>used to define a syntax based on a regular expression pattern, where + valid regular expressions are those defined for <link xlink:show="new" + xlink:href="http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html" + ><literal>java.util.regex.Pattern</literal></link>. The following attribute + syntax description defines a simple, lenient SIP phone URI syntax + check.</para> + <programlisting language="ldif" + >ldapSyntaxes: ( simple-sip-uri-syntax-oid DESC 'Lenient SIP URI Syntax' + X-PATTERN '^sip:[a-zA-Z0-9.]+@[a-zA-Z0-9.]+(:[0-9]+)?$' )</programlisting> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>X-SUBST</literal></term> + <listitem> + <para>Used as a fallback to substitute a defined syntax for one that + OpenDJ does not implement. The following example substitutes Directory + String syntax, which has OID 1.3.6.1.4.1.1466.115.121.1.15, for a syntax + that OpenDJ does not implement.</para> + <programlisting language="ldif" + >ldapSyntaxes: ( non-implemented-syntax-oid DESC 'Not Implemented in OpenDJ' + X-SUBST '1.3.6.1.4.1.1466.115.121.1.15' )</programlisting> + </listitem> + </varlistentry> + </variablelist> + + <variablelist xml:id="attr-type-schema-definition-extensions"> + <title>Extension for Attribute Type Descriptions</title> + + <indexterm> + <primary>Schema</primary> + <secondary>Schema definition extensions</secondary> + </indexterm> + + <varlistentry> + <term><literal>X-APPROX</literal></term> + <listitem> + <para><literal>X-APPROX</literal> is used to specify the approximate + matching rule to use for a given attribute type when not using the default, + which is the <link xlink:href="http://aspell.net/metaphone/" + xlink:show="new">double metaphone approximate match</link>.</para> + </listitem> + </varlistentry> + </variablelist> </section> <section xml:id="schema-legacy-support"> -- Gitblit v1.10.0