New attribute types do not require server code extensions if the provided matching rules and attribute syntaxes are used in the definitions. Administrators can create new attributes using the Schema Editor, which stores the definition in a file in the <server-root>/config/schema directory. See Extending the Directory Server Schema for more information.

The formal specification for attribute types is provided in RFC 4512, section 4.1.2 as follows:
AttributeTypeDescription = "(" wsp; Left parentheses followed by a white space
numericoid                        ; Required numeric object identifier
[ sp "NAME" sp qdescrs ]          ; Short name descriptor as alias for the OID
[ sp "DESC" sp qdstring ]         ; Optional descriptive string
[ sp "OBSOLETE" ]                 ; Determines if the element is active
[ sp "SUP" sp oid ]               ; Specifies the supertype
[ sp "EQUALITY" sp oid ]          ; Specifies the equality matching rule
[ sp "ORDERING" sp oid ]          ; Specifies ordering matching rule
[ sp "SUBSTR" sp oid ]            ; Specifies substrings matching rule
[ sp "SYNTAX" sp oidlen ]         ; Numeric attribute syntax with minimum upper bound 
                                  ;  length expressed in {num}
[ sp "SINGLE-VALUE" ]             ; Specifies if the attribute is single valued in 
                                  ;  the entry
[ sp "COLLECTIVE" ]               ; Specifies if it is a collective attribute
[ sp "NO-USER-MODIFICATION" ]     ; Not modifiable by external clients
[ sp "USAGE" sp usage ]           ; Application usage
extensions wsp ")"                ; Extensions followed by a white space and ")"

usage = "userApplications" /      ; Stores user data
  "directoryOperation" /          ; Stores internal server data
  "distributedOperation" /        ; Stores operational data that must be synchronized 
                                  ; across servers
  "dSAOperation"                  ; Stores operational data specific to a server and 
                                  ; should not be synchronized across servers
The following extensions are specific to the PingDirectory Server and are not defined in RFC 4512:
extensions = / 
"X-ORIGIN" /             ; Specifies where the attribute type is defined
"X-SCHEMA-FILE" /        ; Specifies which schema file contains the definition
"X-APPROX" /             ; Specifies the approximate matching rule
"X-ALLOWED-VALUE" /      ; Explicitly specifies the set of allowed values 
"X-VALUE-REGEX" /        ; Specifies the set of regular expressions to compare against 
                         ;  attribute values to determine acceptance
"X-MIN-VALUE-LENGTH" /   ; Specifies the minimum character length for attribute values
"X-MAX-VALUE-LENGTH" /   ; Specifies the maximum character length for attribute values
"X-MIN-INT-VALUE" /      ; Specifies the minimum integer value for the attribute
"X-MAX-INT-VALUE" /      ; Specifies the maximum integer value for the attribute
"X-MIN-VALUE-COUNT" /    ; Specifies the minimum number of allowable values for the 
                         ;  attribute
"X-MAX-VALUE-COUNT" /    ; Specifies the maximum number of allowable values for the 
                         ;  attribute
"X-READ-ONLY"            ; True or False. Specifies if the file that contains the
                         ;  schema element is marked as read-only in the server 
                         ;  configuration.