summaryrefslogtreecommitdiff
path: root/ACE/ACEXML/apps/svcconf/svcconf.dtd
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ACEXML/apps/svcconf/svcconf.dtd')
-rw-r--r--ACE/ACEXML/apps/svcconf/svcconf.dtd60
1 files changed, 60 insertions, 0 deletions
diff --git a/ACE/ACEXML/apps/svcconf/svcconf.dtd b/ACE/ACEXML/apps/svcconf/svcconf.dtd
new file mode 100644
index 00000000000..b9e6cc41c8e
--- /dev/null
+++ b/ACE/ACEXML/apps/svcconf/svcconf.dtd
@@ -0,0 +1,60 @@
+<!-- $Id$ -->
+<!-- Document Type Definition for XML ACE Service Config files -->
+
+<!-- An ACE_Svc_Conf document contains zero or more entries -->
+<!-- The entries are processed in the order they appear -->
+<!-- in the ACE_Svc_Conf file. -->
+<!ELEMENT ACE_Svc_Conf (dynamic|static|suspend|resume|remove|stream|streamdef)*>
+
+<!-- Streams are separate into two elements. One defines how -->
+<!-- the stream should be constructed and the other defines -->
+<!-- what to do with it. The identity of a stream is defined -->
+<!-- in the first dynamic/static element. -->
+<!ELEMENT streamdef ((dynamic|static),module)>
+<!-- @@ Do we ever need to suspend/resume/remove modules when -->
+<!-- constructing a stream? Should we leave only dynamic -->
+<!-- and static here? -->
+<!ELEMENT module (dynamic|static|suspend|resume|remove)+>
+
+<!-- A 'stream' element controls the stream object -->
+<!-- @@ Likewise, we are reusing the 'module' element here. -->
+<!-- Do we ever need to insert new modules into a stream? -->
+<!-- Nanbor: I guess we can do that. -->
+<!ELEMENT stream (module)>
+<!ATTLIST stream id IDREF #REQUIRED>
+
+<!-- A 'dynamic' entry. -->
+<!-- @@ The kind of attributes the corresponding initializer -->
+<!-- should take seems to be determined by the 'type' -->
+<!-- attribute. Should we further partition the dynamic -->
+<!-- element definition into several elements? E.g. into -->
+<!-- dyn_service_object/dyn_module/dyn_stream? -->
+<!-- Nanbor: Will that be too confusing? -->
+<!ELEMENT dynamic (initializer)>
+<!ATTLIST dynamic id ID #REQUIRED
+ status (active|inactive) "active"
+ type (module|service_object|stream) #REQUIRED>
+
+<!-- Initializing function for dynamic entry. -->
+<!ELEMENT initializer EMPTY>
+<!ATTLIST initializer init CDATA #REQUIRED
+ path CDATA #IMPLIED
+ params CDATA #IMPLIED>
+
+<!-- A 'static' entry takes an ID attribute and an optional -->
+<!-- parameter lists. -->
+<!ELEMENT static EMPTY>
+<!ATTLIST static id ID #REQUIRED
+ params CDATA #IMPLIED>
+
+<!-- A 'suspend' entry takes an ID attribute. -->
+<!ELEMENT suspend EMPTY>
+<!ATTLIST suspend id IDREF #REQUIRED>
+
+<!-- A 'resume' entry takes an ID attribute. -->
+<!ELEMENT resume EMPTY>
+<!ATTLIST resume id IDREF #REQUIRED>
+
+<!-- A 'remove' entry takes an ID attribute. -->
+<!ELEMENT remove EMPTY>
+<!ATTLIST remove id IDREF #REQUIRED>