root/trunk/doc/modipy-config.dtd

Revision 98, 2.4 KB (checked in by daedalus, 3 years ago)

* Fixed bug in namespace setup for iterated changes in provisioner.py
* Reset all svn:keywords for appropriate files.
* Removed TODO as this is in trac at  http://modipy.seafelt.com

  • Property svn:keywords set to Author Id Revision Date
Line 
1<?xml version="1.0" encoding="UTF-8" ?>
2<!-- $Id$ -->
3<!-- Document Type Definition for ModiPy <config/> -->
4
5<!--
6    This DTD is not complete, because it doesn't include the
7    ZAPI DTD as a child element of <zapicommand/>. This means
8    that if you attempt to validate your configuration against
9    this DTD using something like xmllint, any custom elements
10    of your own (such as extra device settings) and the contents
11    of the <zapicommand/> element will fail validation.
12
13    This is annoying, but I haven't figured out a good way of
14    making the DTD syntax allow for third party enhancements in
15    a neat way.
16
17    So, this DTD is here for reference of the core configuration
18    syntax, rather than for computerised verification.
19
20    If you've got any ideas about how I should fix this, let me
21    know via email to justin@eigenmagic.com.
22-->
23
24<!ELEMENT config (device* | provisioner* |
25          change* | changetemplate* | iterator*)* >
26
27  <!ELEMENT device ANY>
28    <!ATTLIST device name ID #REQUIRED>
29    <!ELEMENT ipaddress (#PCDATA) >
30    <!ELEMENT fqdn (#PCDATA) >
31
32  <!ELEMENT provisioner ANY>
33    <!ATTLIST provisioner name ID #REQUIRED
34              module CDATA #REQUIRED
35              type CDATA #REQUIRED>
36
37    <!ELEMENT command_timeout (#PCDATA)>
38
39  <!ELEMENT change (target?, preimpl?, impl?, postimpl?,
40            prebackout?, backout?, postbackout?)>
41
42    <!ATTLIST change name ID #REQUIRED
43              module CDATA #IMPLIED
44              type CDATA #IMPLIED
45              changetemplate IDREF #IMPLIED
46              iterator IDREF #IMPLIED>
47    <!ELEMENT target EMPTY>
48      <!ATTLIST target name IDREF #REQUIRED>
49
50  <!ELEMENT changetemplate (preimpl?, impl?, postimpl?,
51            prebackout?, backout?, postbackout?) >
52
53  <!ELEMENT preimpl (condition*, command*, zapicommand*)*>
54  <!ELEMENT impl (condition*, command*, zapicommand*)*>
55  <!ELEMENT postimpl (condition*, command*, zapicommand*)*>
56  <!ELEMENT prebackout (condition*, command*, zapicommand*)*>
57  <!ELEMENT backout (condition*, command*, zapicommand*)*>
58  <!ELEMENT postbackout (condition*, command*, zapicommand*)*>
59
60  <!ELEMENT condition (#PCDATA)> 
61  <!ELEMENT command ANY>
62  <!ELEMENT zapicommand ANY>
63
64  <!ELEMENT iterator ( dict* )>
65    <!ATTLIST iterator name ID #REQUIRED
66                       type CDATA #IMPLIED
67                       file CDATA #IMPLIED
68                       api CDATA #IMPLIED
69                       sql CDATA #IMPLIED>
70
71    <!ELEMENT dict (entry*)>
72
73      <!ELEMENT entry (#PCDATA)>
74        <!ATTLIST entry name CDATA #REQUIRED>
75     
Note: See TracBrowser for help on using the browser.