bind9/xml/statistics-schema.xml
2006-12-22 01:59:44 +00:00

192 lines
5.3 KiB
XML

<!--
- Copyright (C) 2006 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: statistics-schema.xml,v 1.5 2006/12/22 01:59:44 marka Exp $ -->
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<!-- default namespace = "http://isc.org/isc/1.0/statistics/1.0/" -->
<start>
<ref name="isc"/>
</start>
<define name="isc">
<element name="isc">
<attribute name="version">
<data type="string"/>
</attribute>
<ref name="statistics"/>
</element>
</define>
<define name="statistics">
<element name="statistics">
<attribute name="version">
<data type="string"/>
</attribute>
<oneOrMore>
<ref name="node"/>
</oneOrMore>
</element>
</define>
<define name="node">
<element name="node">
<interleave>
<attribute name="name">
<data type="string"/>
</attribute>
<attribute name="id">
<data type="integer"/>
</attribute>
<zeroOrMore>
<attribute name="description">
<data type="string"/>
</attribute>
</zeroOrMore>
</interleave>
<oneOrMore>
<choice>
<ref name="node"/>
<ref name="statistic"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="statistic">
<zeroOrMore>
<choice>
<ref name="stat-ui32"/>
<ref name="stat-i32"/>
<ref name="stat-ui64"/>
<ref name="stat-i64"/>
<ref name="stat-string"/>
</choice>
</zeroOrMore>
</define>
<define name="stat-ui32">
<element name="statistic">
<interleave>
<attribute name="name">
<data type="string"/>
</attribute>
<attribute name="id">
<data type="int"/>
</attribute>
<zeroOrMore>
<attribute name="description">
<data type="string"/>
</attribute>
</zeroOrMore>
<attribute name="type">
<data type="string">
<param name="pattern">uint32</param>
</data>
</attribute>
</interleave>
<data type="unsignedInt"/>
</element>
</define>
<define name="stat-i32">
<element name="statistic">
<interleave>
<attribute name="name">
<data type="string"/>
</attribute>
<attribute name="id">
<data type="int"/>
</attribute>
<zeroOrMore>
<attribute name="description">
<data type="string"/>
</attribute>
</zeroOrMore>
<attribute name="type">
<data type="string">
<param name="pattern">int32</param>
</data>
</attribute>
</interleave>
<data type="int"/>
</element>
</define>
<define name="stat-ui64">
<element name="statistic">
<interleave>
<attribute name="name">
<data type="string"/>
</attribute>
<attribute name="id">
<data type="int"/>
</attribute>
<zeroOrMore>
<attribute name="description">
<data type="string"/>
</attribute>
</zeroOrMore>
<attribute name="type">
<data type="string">
<param name="pattern">uint64</param>
</data>
</attribute>
</interleave>
<data type="unsignedLong"/>
</element>
</define>
<define name="stat-i64">
<element name="statistic">
<interleave>
<attribute name="name">
<data type="string"/>
</attribute>
<attribute name="id">
<data type="int"/>
</attribute>
<zeroOrMore>
<attribute name="description">
<data type="string"/>
</attribute>
</zeroOrMore>
<attribute name="type">
<data type="string">
<param name="pattern">int64</param>
</data>
</attribute>
</interleave>
<data type="long"/>
</element>
</define>
<define name="stat-string">
<element name="statistic">
<interleave>
<attribute name="name">
<data type="string"/>
</attribute>
<attribute name="id">
<data type="int"/>
</attribute>
<zeroOrMore>
<attribute name="description">
<data type="string"/>
</attribute>
</zeroOrMore>
<attribute name="type">
<data type="string">
<param name="pattern">string</param>
</data>
</attribute>
</interleave>
<data type="string"/>
</element>
</define>
</grammar>