Code

added dtd and new companion
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Sun, 13 Apr 2008 08:14:46 +0000 (08:14 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Sun, 13 Apr 2008 08:14:46 +0000 (08:14 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2@1325 a5681a0c-68f1-0310-ab6d-d61299d08faa

website/rrdtool.dtd [new file with mode: 0644]
website/rrdworld/index.wml
website/rrdworld/pyrrd.xml [new file with mode: 0644]

diff --git a/website/rrdtool.dtd b/website/rrdtool.dtd
new file mode 100644 (file)
index 0000000..2526a53
--- /dev/null
@@ -0,0 +1,115 @@
+<!--
+  - Document type definition for RRDTool
+  -
+  - This document type definition describes the current XML style used by
+  - RRDTool when dumping RRD files. It was reverse engineered by reading
+  - rrd_dump.c and should cover all the tags it uses. Use this DTD if you want
+  - the libxml2 based restore utility to catch invalid definitions and
+  - ordering of elements early on, i. e. within the XML library.
+  -
+  - This DTD is in some ways more strict than the actual restore utility: It
+  - enforces the exact ordering of tags even if the restore utility doesn't
+  - mind.
+  -
+  - Author:
+  -   Florian Forster <octo at verplant.org>
+  -->
+
+<!--
+  - The <param> tag
+  -
+  - The <param> tag inside a DS definition depends on the type of DS that is
+  - defined. While this DTD cannot check if the type defined matches with the
+  - tags present here, we can at least check that the tags aren't mixed
+  - wildly.
+  -->
+<!ELEMENT delta_neg (#PCDATA)>
+<!ELEMENT delta_pos (#PCDATA)>
+<!ELEMENT dependent_rra_idx (#PCDATA)>
+<!ELEMENT failure_threshold (#PCDATA)>
+<!ELEMENT hw_alpha (#PCDATA)>
+<!ELEMENT hw_beta (#PCDATA)>
+<!ELEMENT seasonal_gamma (#PCDATA)>
+<!ELEMENT seasonal_smooth_idx (#PCDATA)>
+<!ELEMENT smoothing_window (#PCDATA)>
+<!ELEMENT window_len (#PCDATA)>
+<!ELEMENT xff (#PCDATA)>
+
+<!ENTITY % param.hwpredict "(hw_alpha, hw_beta, dependent_rra_idx)">
+<!ENTITY % param.seasonal "(seasonal_gamma, seasonal_smooth_idx, smoothing_window?, dependent_rra_idx)">
+<!ENTITY % param.failures "(delta_pos, delta_neg, window_len, failure_threshold)">
+<!ENTITY % param.devpredict "(dependent_rra_idx)">
+<!ENTITY % param.avg_min_max "(xff)">
+
+<!ELEMENT params (%param.hwpredict; | %param.seasonal; | %param.failures; | %param.devpredict; | %param.avg_min_max;)>
+
+<!--
+  - The <ds> tag within a <cdp_prep> block.
+  -
+  - There are two <ds> tags: One for defining the data source itself and one
+  - describing it further in a <cdp_prep> area. The tags allowed within the
+  - <ds> tag in the <cdp_prep> area depend on the type of the DS, but we
+  - cannot verify that in the DTD. We check that the combination of tags makes
+  - some sense, though.
+  -->
+<!ELEMENT history (#PCDATA)>
+<!ELEMENT init_flag (#PCDATA)>
+<!ELEMENT intercept (#PCDATA)>
+<!ELEMENT last_intercept (#PCDATA)>
+<!ELEMENT last_nan_count (#PCDATA)>
+<!ELEMENT last_seasonal (#PCDATA)>
+<!ELEMENT last_slope (#PCDATA)>
+<!ELEMENT nan_count (#PCDATA)>
+<!ELEMENT primary_value (#PCDATA)>
+<!ELEMENT seasonal (#PCDATA)>
+<!ELEMENT secondary_value (#PCDATA)>
+<!ELEMENT slope (#PCDATA)>
+<!ELEMENT unknown_datapoints (#PCDATA)>
+<!ELEMENT value (#PCDATA)>
+
+<!ENTITY % ds.cdp.hwpredict "(intercept, last_intercept, slope, last_slope, nan_count, last_nan_count)">
+<!ENTITY % ds.cdp.seasonal "(seasonal, last_seasonal, init_flag)">
+<!ENTITY % ds.cdp.failures "(history)">
+<!ENTITY % ds.cdp.avg_min_max "(value, unknown_datapoints)">
+<!ENTITY % ds.cdp "(primary_value, secondary_value, (%ds.cdp.hwpredict; | %ds.cdp.seasonal; | %ds.cdp.failures; | %ds.cdp.avg_min_max;)?)">
+
+<!--
+  - The <ds> tag in the root <rrd> tag.
+  -
+  - This <ds> tag is different than the one above in that is defines a data
+  - source rather than it's parameters within an RRA. Yet, there is an little
+  - exception for CDEF data sources..
+  -->
+<!ELEMENT cdef (#PCDATA)>
+<!ELEMENT last_ds (#PCDATA)>
+<!ELEMENT max (#PCDATA)>
+<!ELEMENT minimal_heartbeat (#PCDATA)>
+<!ELEMENT min (#PCDATA)>
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT type (#PCDATA)>
+<!ELEMENT unknown_sec (#PCDATA)>
+
+<!ENTITY % ds.decl.normal "(minimal_heartbeat,min,max)">
+<!ENTITY % ds.decl.cdef "(cdef)">
+<!ENTITY % ds.decl "(name, type, (%ds.decl.normal; | %ds.decl.cdef;), last_ds, value, unknown_sec)">
+
+<!ELEMENT ds (%ds.decl; | %ds.cdp;)>
+
+<!-- The <ds> tag in <cdp_prep> differs from the one in <rrd>, but we cannot
+     check this in the DTD :/ -->
+<!ELEMENT cdp_prep (ds+)>
+
+<!-- The actual data.. -->
+<!ELEMENT v (#PCDATA)>
+<!ELEMENT row (v+)>
+<!ELEMENT database (row+)>
+
+<!ELEMENT cf (#PCDATA)>
+<!ELEMENT pdp_per_row (#PCDATA)>
+
+<!ELEMENT rra (cf,pdp_per_row,params,cdp_prep,database)>
+
+<!ELEMENT lastupdate (#PCDATA)>
+<!ELEMENT step (#PCDATA)>
+<!ELEMENT version (#PCDATA)>
+<!ELEMENT rrd (version,step,lastupdate,ds+,rra+)>
index 347dd126e64d0439d04ac8fcffc0391ef5d90d2f..467c4e8cabc0f53d63367118be68fcda2b279fda 100644 (file)
@@ -18,6 +18,7 @@ add-ons to big applications or even replacements for rrdtool itself.</p>
 #include "rrd4j.xml"
 #include "toolsmith.xml"
 #include "rrdcreator.xml"
+#include "pyrrd.xml"
 
 <h2>Free Applications</h2>
 
diff --git a/website/rrdworld/pyrrd.xml b/website/rrdworld/pyrrd.xml
new file mode 100644 (file)
index 0000000..4110fd1
--- /dev/null
@@ -0,0 +1,10 @@
+<rrdworld type="library">
+
+       <name>PyRRD</name>
+     <author>Duncan McGreggor</author>
+<description>A Pure Python OO Wrapper for RRDTool</description>
+   <homepage>http://code.google.com/p/pyrrd/</homepage>
+       <year>2004</year><month>8</month>
+    <license>BSD</license>
+
+</rrdworld>