From 45359adc09ac1d9e48206c549e667ed6965c7cd3 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Mon, 28 May 2007 15:31:13 +0000
Subject: [PATCH] Fix the following issues:

---
 opends/resource/admin/admin.xsd |   80 ++++++++++++++++++++++++++++++---------
 1 files changed, 61 insertions(+), 19 deletions(-)

diff --git a/opends/resource/admin/admin.xsd b/opends/resource/admin/admin.xsd
index a2c9104..281d00a 100644
--- a/opends/resource/admin/admin.xsd
+++ b/opends/resource/admin/admin.xsd
@@ -308,8 +308,23 @@
       <xsd:annotation>
         <xsd:documentation>
           Indicates whether or not this property is read-only. By
-          default, properties are modifiable. Read-only monitoring
-          information is a good use-case for read-only properties.
+          default, properties are not read-only. Read-only properties
+          can only be initialized during construction of the associated
+          managed object and cannot be modified once the managed object
+          has been created.
+        </xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+    <xsd:attribute name="monitoring" type="xsd:boolean" use="optional"
+      default="false">
+      <xsd:annotation>
+        <xsd:documentation>
+          Indicates whether or not this property is read-only and
+          generated automatically by the server as monitoring
+          information. By default, properties are not for monitoring.
+          Monitoring properties are always read-only because their
+          values are generated by the server. During construction of a
+          managed object their values are undefined.
         </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
@@ -746,6 +761,25 @@
                     </xsd:restriction>
                   </xsd:simpleType>
                 </xsd:attribute>
+                <xsd:attribute name="managed-object-name"
+                  type="tns:name-type" use="required">
+                  <xsd:annotation>
+                    <xsd:documentation>
+                      The type of managed object providing the default
+                      values.
+                    </xsd:documentation>
+                  </xsd:annotation>
+                </xsd:attribute>
+                <xsd:attribute name="managed-object-package"
+                  type="tns:package-type" use="optional">
+                  <xsd:annotation>
+                    <xsd:documentation>
+                      The package containing the managed object
+                      definition if it is not the same as this managed
+                      object's package.
+                    </xsd:documentation>
+                  </xsd:annotation>
+                </xsd:attribute>
                 <xsd:attribute name="property-name" type="tns:name-type"
                   use="required">
                   <xsd:annotation>
@@ -765,16 +799,15 @@
                 </xsd:documentation>
               </xsd:annotation>
               <xsd:complexType>
-                <xsd:sequence>
-                  <xsd:element name="path">
-                    <xsd:annotation>
-                      <xsd:documentation>
-                        TODO: not sure what form this will take.
-                      </xsd:documentation>
-                    </xsd:annotation>
-                    <xsd:complexType />
-                  </xsd:element>
-                </xsd:sequence>
+                <xsd:attribute name="path" type="tns:path-type"
+                  use="required">
+                  <xsd:annotation>
+                    <xsd:documentation>
+                      The location of the managed object containing the
+                      default values.
+                    </xsd:documentation>
+                  </xsd:annotation>
+                </xsd:attribute>
                 <xsd:attribute name="property-name" type="tns:name-type"
                   use="required">
                   <xsd:annotation>
@@ -1237,19 +1270,28 @@
     <xsd:annotation>
       <xsd:documentation>
         A managed object path which can be used to specify the location
-        of refererenced managed objects. A managed object path has a
+        of referenced managed objects. A managed object path has a
         similar syntax to unix file system paths, and comprises of zero
         or more path elements separated by a forward slash "/". The root
         configuration is referenced using the path "/". Subsequent path
-        elements name either a relation or its subordinate named managed
-        object (for one-to-many relations). For example, the path
-        "/connection-handlers/LDAP connection handler" references the
-        LDAP connection handler managed object referenced by the root
-        configuration's connection-handlers relation.
+        elements identify subordinate managed objects. Each path element
+        is comprised of the relation name, an optional definition name,
+        and the name of the managed object instance if the relation is
+        one-to-many. The path "/relation=connection-handler+name=my
+        handler" identifies a connection handler called "my handler"
+        where "my handler" can be any type of connection handler. If "my
+        handler" must be an LDAP connection handler then the type needs
+        to be specified in the path:
+        "/relation=connection-handler+type=ldap-connection-handler+name=my
+        handler". The global configuration is identified by the path
+        "/relation=global-configuration" (no name is required because
+        the relation is one-to-one).
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:string">
-      <xsd:pattern value="/([^/]+(/[^/]+)*)?"></xsd:pattern>
+      <xsd:pattern
+        value="/|(/relation=[^/+]+(\+type=[^/+]+)?(\+name=[^/]+)?)+">
+      </xsd:pattern>
     </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="profile-type">

--
Gitblit v1.10.0