Commit 7a7299fb authored by Naoki Kambe's avatar Naoki Kambe
Browse files

[trac521] Summary of changes

- add new BIND 10 module "b10-stats-httpd"
  + a standalone HTTP server for the statistics HTTP/XML interface
  + b10-stats-httpd responds statistics XML data to clients.
  + b10-stats-httpd request statistics data to b10-stats, and converts 
    python dict format to XML format.
  + It also responds XSD and XSL documents with XML data.

  + main of b10-stats-httpd
    stats_httpd.py.in
    run_b10-stats-httpd.sh.in

  + spec file related to b10-stats-httpd
    stats-httpd.spec.in

  + unittests for b10-stats-httpd
    b10-stats-httpd_test.py

  + documents related to b10-stats-httpd
    b10-stats-httpd.8      
    b10-stats-httpd.xml

  + XML/XSD/XSL template files which b10-stats-httpd reads
    stats-httpd-xml.tpl.in
    stats-httpd-xsd.tpl.in  
    stats-httpd-xsl.tpl.in

  + dummy python modules for testing b10-stats-httpd
    http.server
    select
    socket

  + b10-stats-httpd is added in:
    configure.ac
    bind10_test.py.in
    bind10.py.in

- change existent dummy modules for testing b10-stats and b10-stats-httpd
  + isc.cc.session
  + isc.config.ccsession

- change environment variable
  from: "B10_FROM_BUILD"
  to  : "B10_FROM_SOURCE"

- rename spec file
  from: src/bin/stats/stats.spec.pre.in
  to:   src/bin/stats/stats.spec.in

- remove unnecessary module "b10-stats_stub"
  stats_stub.py.in
  run_b10-stats_stub.sh.in
  b10-stats_stub_test.py

- add miscellaneous changes
  stats_test.in
  b10-stats_test.py

- add a proposed entry for this branch
  ChangeLog
parent 11889ab3
nnn. [func] naokikambe
Added the HTTP/XML interface(b10-stats-httpd) to the statistics feature
in BIND 10. b10-stats-httpd is a standalone HTTP server and it requests
statistics data to the stats daemon(b10-stats) and sends it to HTTP
clients in XML format. Items of the data collected via b10-stats-httpd
are almost equivalent to ones which are collected via bindctl. Since it
also can send XSL(Extensible Stylessheet Language) document and XSD(XML
Schema definition) document, XML document is human-friendly to view
through web browsers and its data types are strictly defined.
(Trac #547, git tbdtbdtbdtbdtbdtbdtbdtbdtbdtbdtbdtbdttbd)
197. [bug] zhang likun
Remove expired message and rrset entries when looking up them
in cache, touch or remove the rrset entry in cache properly
......
......@@ -637,6 +637,7 @@ AC_CONFIG_FILES([Makefile
src/bin/stats/tests/isc/config/Makefile
src/bin/stats/tests/isc/util/Makefile
src/bin/stats/tests/testdata/Makefile
src/bin/stats/tests/http/Makefile
src/bin/usermgr/Makefile
src/bin/tests/Makefile
src/lib/Makefile
......@@ -713,10 +714,14 @@ AC_OUTPUT([doc/version.ent
src/bin/zonemgr/tests/zonemgr_test
src/bin/zonemgr/run_b10-zonemgr.sh
src/bin/stats/stats.py
src/bin/stats/stats_stub.py
src/bin/stats/stats.spec.pre
src/bin/stats/stats_httpd.py
src/bin/stats/stats.spec
src/bin/stats/stats-httpd.spec
src/bin/stats/stats-httpd-xml.tpl
src/bin/stats/stats-httpd-xsd.tpl
src/bin/stats/stats-httpd-xsl.tpl
src/bin/stats/run_b10-stats.sh
src/bin/stats/run_b10-stats_stub.sh
src/bin/stats/run_b10-stats-httpd.sh
src/bin/stats/tests/stats_test
src/bin/bind10/bind10.py
src/bin/bind10/tests/bind10_test
......@@ -759,7 +764,7 @@ AC_OUTPUT([doc/version.ent
chmod +x src/bin/zonemgr/run_b10-zonemgr.sh
chmod +x src/bin/stats/tests/stats_test
chmod +x src/bin/stats/run_b10-stats.sh
chmod +x src/bin/stats/run_b10-stats_stub.sh
chmod +x src/bin/stats/run_b10-stats-httpd.sh
chmod +x src/bin/bind10/run_bind10.sh
chmod +x src/bin/cmdctl/tests/cmdctl_test
chmod +x src/bin/xfrin/tests/xfrin_test
......
......@@ -499,6 +499,9 @@ class BoB:
def start_stats(self, c_channel_env):
self.start_simple("b10-stats", c_channel_env)
def start_stats_httpd(self, c_channel_env):
self.start_simple("b10-stats-httpd", c_channel_env)
def start_cmdctl(self, c_channel_env):
# XXX: we hardcode port 8080
self.start_simple("b10-cmdctl", c_channel_env, 8080)
......@@ -543,6 +546,7 @@ class BoB:
# ... and finally start the remaining processes
self.start_stats(c_channel_env)
self.start_stats_httpd(c_channel_env)
self.start_cmdctl(c_channel_env)
def startup(self):
......@@ -592,6 +596,7 @@ class BoB:
self.cc_session.group_sendmsg(cmd, "Xfrin", "Xfrin")
self.cc_session.group_sendmsg(cmd, "Zonemgr", "Zonemgr")
self.cc_session.group_sendmsg(cmd, "Stats", "Stats")
self.cc_session.group_sendmsg(cmd, "StatsHttpd", "StatsHttpd")
def stop_process(self, process, recipient):
"""
......
......@@ -124,6 +124,7 @@ class StartStopCheckBob(BoB):
self.xfrin = False
self.zonemgr = False
self.stats = False
self.stats_httpd = False
self.cmdctl = False
self.c_channel_env = {}
......@@ -158,6 +159,9 @@ class StartStopCheckBob(BoB):
def start_stats(self, c_channel_env):
self.stats = True
def start_stats_httpd(self, c_channel_env):
self.stats_httpd = True
def start_cmdctl(self, c_channel_env):
self.cmdctl = True
......@@ -191,6 +195,9 @@ class StartStopCheckBob(BoB):
def stop_stats(self):
self.stats = False
def stop_stats_httpd(self):
self.stats_httpd = False
def stop_cmdctl(self):
self.cmdctl = False
......@@ -216,6 +223,7 @@ class TestStartStopProcessesBob(unittest.TestCase):
self.assertEqual(bob.xfrin, auth)
self.assertEqual(bob.zonemgr, auth)
self.assertEqual(bob.stats, core)
self.assertEqual(bob.stats_httpd, core)
self.assertEqual(bob.cmdctl, core)
def check_preconditions(self, bob):
......
......@@ -2,35 +2,36 @@ SUBDIRS = tests
pkglibexecdir = $(libexecdir)/@PACKAGE@
pkglibexec_SCRIPTS = b10-stats
noinst_SCRIPTS = b10-stats_stub
pkglibexec_SCRIPTS = b10-stats b10-stats-httpd
b10_statsdir = $(pkgdatadir)
b10_stats_DATA = stats.spec
b10_stats_DATA = stats.spec stats-httpd.spec
b10_stats_DATA += stats-httpd-xml.tpl stats-httpd-xsd.tpl stats-httpd-xsl.tpl
CLEANFILES = stats.spec b10-stats stats.pyc stats.pyo b10-stats_stub stats_stub.pyc stats_stub.pyo
CLEANFILES = b10-stats stats.pyc
CLEANFILES += b10-stats-httpd stats_httpd.pyc
man_MANS = b10-stats.8
EXTRA_DIST = $(man_MANS) b10-stats.xml
man_MANS = b10-stats.8 b10-stats-httpd.8
EXTRA_DIST = $(man_MANS) b10-stats.xml b10-stats-httpd.xml
EXTRA_DIST += stats.spec stats-httpd.spec
EXTRA_DIST += stats-httpd-xml.tpl stats-httpd-xsd.tpl stats-httpd-xsl.tpl
if ENABLE_MAN
b10-stats.8: b10-stats.xml
xsltproc --novalid --xinclude --nonet -o $@ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $(srcdir)/b10-stats.xml
endif
b10-stats-httpd.8: b10-stats-httpd.xml
xsltproc --novalid --xinclude --nonet -o $@ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $(srcdir)/b10-stats-httpd.xml
stats.spec: stats.spec.pre
$(SED) -e "s|@@LOCALSTATEDIR@@|$(localstatedir)|" stats.spec.pre >$@
endif
# this is done here since configure.ac AC_OUTPUT doesn't expand exec_prefix
b10-stats: stats.py
$(SED) -e "s|@@PYTHONPATH@@|@pyexecdir@|" \
-e "s|@@LOCALSTATEDIR@@|$(localstatedir)|" \
-e "s|.*#@@REMOVED@@$$||" stats.py >$@
chmod a+x $@
b10-stats_stub: stats_stub.py stats.py
$(SED) -e "s|@@PYTHONPATH@@|@pyexecdir@|" \
-e "s|@@LOCALSTATEDIR@@|$(localstatedir)|" stats_stub.py >$@
b10-stats-httpd: stats_httpd.py
$(SED) -e "s|@@PYTHONPATH@@|@pyexecdir@|" stats_httpd.py >$@
chmod a+x $@
'\" t
.\" Title: b10-stats-httpd
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: Mar 8, 2011
.\" Manual: BIND10
.\" Source: BIND10
.\" Language: English
.\"
.TH "B10\-STATS\-HTTPD" "8" "Mar 8, 2011" "BIND10" "BIND10"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
b10-stats-httpd \- BIND 10 HTTP server for HTTP/XML interface of statistics
.SH "SYNOPSIS"
.HP \w'\fBb10\-stats\-httpd\fR\ 'u
\fBb10\-stats\-httpd\fR [\fB\-v\fR]| [\fB\-\-verbose\fR]
.SH "DESCRIPTION"
.PP
\fBb10\-stats\-httpd\fR
is a stand\-alone HTTP server\&. It is intended for HTTP/XML interface for statistics module\&. This server process runs as a process separated from the process of the BIND 10 Stats daemon (\fBb10\-stats\fR)\&. The server is initially executed by the BIND 10 boss process (\fBbind10\fR) and finally exited by it\&. The server is intended to be requested by HTTP clients like web browsers and third\-party modules\&. When the server is requested, it requests BIND 10 statistics data to
\fBb10\-stats\fR, and
\fBb10\-stats\fR
sends the data to the server in Python dictionary format and the server converts it into XML format\&. The server sends it to the HTTP client\&. The server can send three types of document, which are XML (Extensible Markup Language), XSD(XML Schema definition) and XSL(Extensible Stylesheet Language)\&. The XML document is the statistics data of BIND 10, The XSD document is the data schema of it, and The XSL document is the style sheet to be showed for the web browsers\&. Please see the manual and the spec file of
\fBb10\-stats\fR
for more details about the items of BIND 10 statistics\&. The server uses CC session in communication with
\fBb10\-stats\fR\&. CC session is provided by
\fBb10\-msgq\fR
which is started by
\fBbind10\fR
in advance\&. The server is implemented by HTTP\-server libraries included in Python 3\&. The parameter of the server is a list of pairs of the listening address and the port number specified in the spec file of it\&. The server obtains the configuration from the config manager (\fBb10\-cfgmgr\fR) in runtime\&. Please see below for more details about this spec file and configuration of the server\&.
.SH "OPTIONS"
.PP
The arguments are as follows:
.PP
\fB\-v\fR, \fB\-\-verbose\fR
.RS 4
\fBb10\-stats\-httpd\fR
switches to verbose mode and sends verbose messages to STDOUT\&.
.RE
.SH "FILES"
.PP
/usr/local/share/bind10\-devel/stats\-httpd\&.spec
\(em the spec file of
\fBb10\-stats\-httpd\fR\&. This file contains configurable settings of
\fBb10\-stats\-httpd\fR\&. This setting can be configured in runtime via
bindctl(1)\&. Please see the manual of
bindctl(1)
about how to configure the settings\&.
.PP
/usr/local/share/bind10\-devel/stats\-httpd\-xml\&.tpl
\(em the template file of XML document\&.
.PP
/usr/local/share/bind10\-devel/stats\-httpd\-xsd\&.tpl
\(em the template file of XSD document\&.
.PP
/usr/local/share/bind10\-devel/stats\-httpd\-xsl\&.tpl
\(em the template file of XSL document\&.
.SH "CONFIGURATION AND COMMANDS"
.PP
The configurable setting in
stats\-httpd\&.spec
is:
.PP
\fIlisten_on\fR
.RS 4
a list of pairs of address and port for
\fBb10\-stats\-httpd\fR
to listen HTTP requests on\&. The pair is consist of the
\fIaddress\fR
string and
\fIport\fR
number\&. The default setting is the list of address 127\&.0\&.0\&.1 port 8000\&. If the server is started by the default setting being left, for example, the URL for XML document is http://127\&.0\&.0\&.1:8000/bind10/statistics/xml\&. And also IPv6 addresses can be configured and they works in the runtime environment for dual stack\&.
.RE
.PP
The configuration commands in
stats\-httpd\&.spec
are:
.PP
\fBstatus\fR
.RS 4
shows the status of
\fBb10\-stats\-httpd\fR
with its PID on the runtime machine\&.
.RE
.PP
\fBshutdown\fR
.RS 4
exits the
\fBb10\-stats\-httpd\fR
process\&. (Note that the BIND 10 boss process will restart this service\&.)
.RE
.SH "SEE ALSO"
.PP
\fBb10-stats\fR(8),
\fBb10-msgq\fR(8),
\fBb10-cfgmgr\fR(8),
\fBbind10\fR(8),
\fBbindctl\fR(1),
BIND 10 Guide\&.
.SH "HISTORY"
.PP
\fBb10\-stats\-httpd\fR
was designed and implemented by Naoki Kambe of JPRS in Mar 2011\&.
.SH "COPYRIGHT"
.br
Copyright \(co 2011 Internet Systems Consortium, Inc. ("ISC")
.br
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or 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.
-->
<refentry>
<refentryinfo>
<date>Mar 8, 2011</date>
</refentryinfo>
<refmeta>
<refentrytitle>b10-stats-httpd</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo>BIND10</refmiscinfo>
</refmeta>
<refnamediv>
<refname>b10-stats-httpd</refname>
<refpurpose>BIND 10 HTTP server for HTTP/XML interface of statistics</refpurpose>
</refnamediv>
<docinfo>
<copyright>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
<refsynopsisdiv>
<cmdsynopsis> <command>b10-stats-httpd</command>
<arg><option>-v</option></arg>|<arg><option>--verbose</option></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>
<command>b10-stats-httpd</command> is a standalone HTTP server. It is
intended for HTTP/XML interface for statistics module. This server
process runs as a process separated from the process of the BIND 10 Stats
daemon (<command>b10-stats</command>). The server is initially executed
by the BIND 10 boss process (<command>bind10</command>) and finally
exited by it. The server is intended to be requested by HTTP clients
like web browsers and third-party modules. When the server is requested,
it requests BIND 10 statistics data to <command>b10-stats</command>,
and <command>b10-stats</command> sends the data to the server in Python
dictionary format and the server converts it into XML format. The server
sends it to the HTTP client. The server can send three types of document,
which are XML (Extensible Markup Language), XSD(XML Schema definition)
and XSL(Extensible Stylesheet Language). The XML document is the
statistics data of BIND 10, The XSD document is the data schema of it,
and The XSL document is the style sheet to be showed for the web
browsers. Please see the manual and the spec file
of <command>b10-stats</command> for more details about the items of BIND
10 statistics. The server uses CC session in communication
with <command>b10-stats</command>. CC session is provided
by <command>b10-msgq</command> which is started
by <command>bind10</command> in advance. The server is implemented by
HTTP-server libraries included in Python 3. The parameter of the server
is a list of pairs of the listening address and the port number specified
in the spec file of it. The server obtains the configuration from the
config manager (<command>b10-cfgmgr</command>) in runtime. Please see
below for more details about this spec file and configuration of the
server.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<para>The arguments are as follows:</para>
<variablelist>
<varlistentry>
<term><option>-v</option>, <option>--verbose</option></term>
<listitem>
<para>
<command>b10-stats-httpd</command> switches to verbose mode and sends
verbose messages to STDOUT.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>FILES</title>
<para>
<filename>/usr/local/share/bind10-devel/stats-httpd.spec</filename>
&mdash; the spec file of <command>b10-stats-httpd</command>. This file
contains configurable settings
of <command>b10-stats-httpd</command>. This setting can be configured in
runtime via
<refentrytitle>bindctl</refentrytitle><manvolnum>1</manvolnum>. Please
see the manual
of <refentrytitle>bindctl</refentrytitle><manvolnum>1</manvolnum> about
how to configure the settings.
</para>
<para>
<filename>/usr/local/share/bind10-devel/stats-httpd-xml.tpl</filename>
&mdash; the template file of XML document.
</para>
<para>
<filename>/usr/local/share/bind10-devel/stats-httpd-xsd.tpl</filename>
&mdash; the template file of XSD document.
</para>
<para>
<filename>/usr/local/share/bind10-devel/stats-httpd-xsl.tpl</filename>
&mdash; the template file of XSL document.
</para>
</refsect1>
<refsect1>
<title>CONFIGURATION AND COMMANDS</title>
<para>
The configurable setting in
<filename>stats-httpd.spec</filename> is:
</para>
<variablelist>
<varlistentry>
<term><varname>listen_on</varname></term>
<listitem>
<para>
a list of pairs of address and port for
<command>b10-stats-httpd</command> to listen HTTP requests on. The
pair is consist of the <varname>address</varname> string
and <varname>port</varname> number. The default setting is the list
of address 127.0.0.1 port 8000. If the server is started by the
default setting being left, for example, the URL for XML document
is http://127.0.0.1:8000/bind10/statistics/xml. And also IPv6
addresses can be configured and they works in the runtime
environment for dual stack.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
The configuration commands in <filename>stats-httpd.spec</filename> are:
</para>
<variablelist>
<varlistentry>
<term><command>status</command></term>
<listitem>
<para>
shows the status of <command>b10-stats-httpd</command> with its
PID on the runtime machine.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>shutdown</command></term>
<listitem>
<para>
exits the <command>b10-stats-httpd</command> process. (Note that
the BIND 10 boss process will restart this service.)
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>b10-stats</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>b10-msgq</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>b10-cfgmgr</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>bind10</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>bindctl</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citetitle>BIND 10 Guide</citetitle>.
</para>
</refsect1>
<refsect1>
<title>HISTORY</title>
<para>
<command>b10-stats-httpd</command> was designed and implemented by Naoki
Kambe of JPRS in Mar 2011.
</para>
</refsect1>
</refentry><!--
- Local variables:
- mode: sgml
- End:
-->
#! /bin/sh
# Copyright (C) 2010 Internet Systems Consortium.
# Copyright (C) 2011 Internet Systems Consortium.
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
......@@ -21,13 +21,13 @@ export PYTHON_EXEC
PYTHONPATH=@abs_top_builddir@/src/lib/python
export PYTHONPATH
B10_FROM_BUILD=@abs_top_srcdir@
export B10_FROM_BUILD
BIND10_MSGQ_SOCKET_FILE=@abs_top_builddir@/msgq_socket
export BIND10_MSGQ_SOCKET_FILE
STATS_PATH=@abs_top_builddir@/src/bin/stats
B10_FROM_SOURCE=@abs_top_srcdir@/src/bin/stats
export B10_FROM_SOURCE
cd ${STATS_PATH}
exec ${PYTHON_EXEC} -O b10-stats_stub "$@"
exec ${PYTHON_EXEC} -O b10-stats-httpd "$@"
#! /bin/sh
# Copyright (C) 2010 Internet Systems Consortium.
# Copyright (C) 2010, 2011 Internet Systems Consortium.
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
......@@ -24,8 +24,8 @@ export PYTHONPATH
BIND10_MSGQ_SOCKET_FILE=@abs_top_builddir@/msgq_socket
export BIND10_MSGQ_SOCKET_FILE
B10_FROM_BUILD=@abs_top_builddir@
export B10_FROM_BUILD
B10_FROM_SOURCE=@abs_top_srcdir@/src/bin/stats
export B10_FROM_SOURCE
STATS_PATH=@abs_top_builddir@/src/bin/stats
......
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="$xsl_url_path"?>
<!--
- Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or 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.
-->
<stats:stats_data version="1.0"
xmlns:stats="$xsd_namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="$xsd_namespace $xsd_url_path">
$xml_string
</stats:stats_data>
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or 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.
-->
<schema targetNamespace="$xsd_namespace"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:stats="$xsd_namespace">
<annotation>
<documentation xml:lang="en">XML schema of the statistics
data in BIND 10</documentation>
</annotation>
<element name="stats_data">
<annotation>
<documentation>A set of statistics data</documentation>
</annotation>
<complexType>
$xsd_string
<attribute name="version" type="token" use="optional" default="1.0">
<annotation>
<documentation>Version number of syntax</documentation>
</annotation>
</attribute>
</complexType>
</element>
</schema>
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or 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.
-->
<xsl:stylesheet version="1.0"