<!-- Lustre Management DTD -->\r
\r
<!-- basic entities -->\r
-<!ENTITY % basic.content '#PCDATA'>\r
-<!ENTITY % id.content 'num | id | uuid'>\r
+<!ENTITY % tag.content '(#PCDATA)'>\r
+<!ENTITY % tag.id '(num) #CDATA #IMPLIED (name, uuid) #CDATA #REQUIRED'>\r
+<!ENTITY % tag.attr '(name, uuid) #CDATA #REQUIRED'>\r
\r
<!-- main elements -->\r
<!ELEMENT lustre (node | profile | mountpoint |\r
mds | obd | ost | osc | lov | router)*>\r
\r
<!ELEMENT profile (mountpoint_id, service_id)>\r
-<!ATTLIST profile id #CDATA #REQUIRED uuid #CDATA #REQUIRED>\r
-\r
+<!ATTLIST profile %tag.attr;>\r
<!ELEMENT mountpoint (path, fileset, mds_id, lov_id)>\r
-<!ATTLIST mountpoint id #CDATA #REQUIRED uuid #CDATA #REQUIRED>\r
-\r
+<!ATTLIST mountpoint %tag.attr;>\r
<!ELEMENT node (profile_id)>\r
-<!ATTLIST node id #CDATA #REQUIRED uuid #CDATA #REQUIRED>\r
-\r
-<!ELEMENT ldlm ()*>\r
-<!ATTLIST ldlm id #CDATA #REQUIRED uuid #CDATA #REQUIRED>\r
-\r
-<!ELEMENT mds (fstype | device | server_id | failover_id)*>\r
-<!ATTLIST mds id #CDATA #REQUIRED uuid #CDATA #REQUIRED>\r
+<!ATTLIST node %tag.attr;>\r
+<!ELEMENT ldlm>\r
+<!ATTLIST ldlm %tag.attr;>\r
\r
<!ELEMENT obd (fstype | device | autoformat)*>\r
-<!ATTLIST obd id #CDATA #REQUIRED uuid #CDATA #REQUIRED\r
- type (obdfilter | obdext2 | obdecho) 'obdfilter'>\r
-\r
-<!ELEMENT ost (server_id | failover_id)*>\r
-<!ATTLIST ost id #CDATA #REQUIRED uuid #CDATA #REQUIRED>\r
- \r
-<!ELEMENT osc (network)*>\r
-<!ATTLIST osc id #CDATA #REQUIRED uuid #CDATA #REQUIRED>\r
-\r
-<!ELEMENT mdc (network)*>\r
-<!ATTLIST mdc id #CDATA #REQUIRED uuid #CDATA #REQUIRED>\r
-\r
+<!ATTLIST obd %tag.attr; type (obdfilter | obdext2 | obdecho) 'obdfilter'>\r
+<!ELEMENT ost (network | server_id | failover_id)*>\r
+<!ATTLIST ost %tag.attr;>\r
+<!ELEMENT mds (network | fstype | device | server_id | failover_id)*>\r
+<!ATTLIST mds %tag.attr;>\r
+\r
+<!ELEMENT osc (service_id)>\r
+<!ATTLIST osc %tag.attr;>\r
+<!ELEMENT mdc (service_id)>\r
+<!ATTLIST mdc %tag.attr;>\r
<!ELEMENT lov (osc_id | obd_id | mdc_id)*>\r
-<!ATTLIST lov id #CDATA #REQUIRED uuid #CDATA #REQUIRED>\r
-\r
+<!ATTLIST lov %tag.attr;>\r
<!ELEMENT router (misc)*>\r
-<!ATTLIST router id #CDATA #REQUIRED uuid #CDATA #REQUIRED>\r
+<!ATTLIST router %tag.attr;>\r
\r
<!-- basic elements -->\r
-<!ELEMENT network (%basic.content;)*>\r
+<!ELEMENT network %tag.content;>\r
<!ATTLIST network type (tcp | elan | myrinet) 'tcp'>\r
\r
-<!ELEMENT fstype (%basic.content;)*>\r
-<!ELEMENT device (%basic.content;)*>\r
-<!ELEMENT server (%basic.content;)*>\r
-<!ELEMENT autoformat (%basic.content;)*>\r
-<!ELEMENT path (%basic.content;)*>\r
-<!ELEMENT fileset (%basic.content;)*>\r
-\r
-<!ELEMENT profile_id (%basic.content;)*>\r
-<!ATTLIST profile_id (%id.content;)* #CDATA #IMPLIED>\r
-<!ELEMENT ldlm_id (%basic.content;)*>\r
-<!ATTLIST ldlm_id (%id.content;)* #CDATA #IMPLIED>\r
-<!ELEMENT mds_id (%basic.content;)*>\r
-<!ATTLIST mds_id (%id.content;)* #CDATA #IMPLIED>\r
-<!ELEMENT obd_id (%basic.content;)*>\r
-<!ATTLIST obd_id (%id.content;)* #CDATA #IMPLIED>\r
-<!ELEMENT osc_id (%basic.content;)*>\r
-<!ATTLIST osc_id (%id.content;)* #CDATA #IMPLIED>\r
-<!ELEMENT lov_id (%basic.content;)*>\r
-<!ATTLIST lov_id (%id.content;)* #CDATA #IMPLIED>\r
-<!ELEMENT mdc_id (%basic.content;)*>\r
-<!ATTLIST mdc_id (%id.content;)* #CDATA #IMPLIED>\r
-<!ELEMENT mountpoint_id (%basic.content;)*>\r
-<!ATTLIST mountpoint_id (%id.content;)* #CDATA #IMPLIED>\r
-<!ELEMENT service_id (%basic.content;)*>\r
-<!ATTLIST service_id (%id.content;)* #CDATA #IMPLIED>\r
-<!ELEMENT server_id (%basic.content;)*>\r
-<!ATTLIST server_id (%id.content;)* #CDATA #IMPLIED>\r
-<!ELEMENT failover_id (%basic.content;)*>\r
-<!ATTLIST failover_id (%id.content;)* #CDATA #IMPLIED>\r
+<!ELEMENT fstype %tag.content;>\r
+<!ELEMENT device %tag.content;>\r
+<!ELEMENT server %tag.content;>\r
+<!ELEMENT autoformat %tag.content;>\r
+<!ELEMENT path %tag.content;>\r
+<!ELEMENT fileset %tag.content;>\r
+\r
+<!-- id tag elements -->\r
+<!ELEMENT profile_id %tag.content;>\r
+<!ATTLIST profile_id %tag.id;>\r
+<!ELEMENT obd_id %tag.content;>\r
+<!ATTLIST obd_id %tag.id;>\r
+<!ELEMENT mds_id %tag.content;>\r
+<!ATTLIST mds_id %tag.id;>\r
+<!ELEMENT osc_id %tag.content;>\r
+<!ATTLIST osc_id %tag.id;>\r
+<!ELEMENT lov_id %tag.content;>\r
+<!ATTLIST lov_id %tag.id;>\r
+<!ELEMENT mdc_id %tag.content;>\r
+<!ATTLIST mdc_id %tag.id;>\r
+<!ELEMENT mountpoint_id %tag.content;>\r
+<!ATTLIST mountpoint_id %tag.id;>\r
+<!ELEMENT service_id %tag.content;>\r
+<!ATTLIST service_id %tag.id;>\r
+<!ELEMENT server_id %tag.content;>\r
+<!ATTLIST server_id %tag.id;>\r
+<!ELEMENT failover_id %tag.content;>\r
+<!ATTLIST failover_id %tag.id;>\r
\r