Skip to Content.
Sympa Menu

perfsonar-dev - nmwg: r231 - trunk/nmwg/doc/nm-schema-base

Subject: perfsonar development work

List archive

nmwg: r231 - trunk/nmwg/doc/nm-schema-base


Chronological Thread 
  • From:
  • To: ,
  • Subject: nmwg: r231 - trunk/nmwg/doc/nm-schema-base
  • Date: Mon, 7 May 2007 09:28:54 -0400

Author: zurawski
Date: 2007-05-07 09:28:53 -0400 (Mon, 07 May 2007)
New Revision: 231

Added:
trunk/nmwg/doc/nm-schema-base/lines.pl
Modified:
trunk/nmwg/doc/nm-schema-base/make.sh
trunk/nmwg/doc/nm-schema-base/nm-schema-base.fo
trunk/nmwg/doc/nm-schema-base/nm-schema-base.html
trunk/nmwg/doc/nm-schema-base/nm-schema-base.pdf
trunk/nmwg/doc/nm-schema-base/post.pl
Log:
Updated a post processing step to color the schema files.

-jason



Added: trunk/nmwg/doc/nm-schema-base/lines.pl


Property changes on: trunk/nmwg/doc/nm-schema-base/lines.pl
___________________________________________________________________
Name: svn:executable
+ *

Modified: trunk/nmwg/doc/nm-schema-base/make.sh
===================================================================
--- trunk/nmwg/doc/nm-schema-base/make.sh 2007-05-07 13:12:03 UTC (rev
230)
+++ trunk/nmwg/doc/nm-schema-base/make.sh 2007-05-07 13:28:53 UTC (rev
231)
@@ -16,6 +16,12 @@

$JAVA -jar $SAXON -novw -w0 tmp.$INSTANCE.xml $STYLESHEET1 > $INSTANCE.html

+./lines.pl $INSTANCE.html > $INSTANCE-2.html
+
+./post.pl $INSTANCE-2.html > $INSTANCE.html
+
+rm -f $INSTANCE-2.html
+
$JAVA -jar $SAXON -novw -w0 tmp.$INSTANCE.xml $STYLESHEET2 > $INSTANCE.fo

cd $FOPDIR

Modified: trunk/nmwg/doc/nm-schema-base/nm-schema-base.fo
===================================================================
--- trunk/nmwg/doc/nm-schema-base/nm-schema-base.fo 2007-05-07 13:12:03
UTC (rev 230)
+++ trunk/nmwg/doc/nm-schema-base/nm-schema-base.fo 2007-05-07 13:28:53
UTC (rev 231)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><fo:root
xmlns:fo="http://www.w3.org/1999/XSL/Format"; font-family="serif"
font-size="10pt"><meta-info
xmlns="http://www.renderx.com/XSL/Extensions";><meta-field name="title"
value="&#xA;&#x9;An Extensible Schema for Network Measurement and Performance
Data&#xA; "/><meta-field name="author"
value="Swany"/></meta-info><fo:layout-master-set><fo:simple-page-master
master-name="first-page" margin-left="1in" margin-right="1in"
page-height="11in" page-width="8.5in"><fo:region-body margin-bottom="1in"
margin-top="1in"/><fo:region-after extent="1cm"
region-name="footer"/></fo:simple-page-master><fo:simple-page-master
master-name="other-pages" margin-left="1in" margin-right="1in"
page-height="11in" page-width="8.5in"><fo:region-body margin-bottom="1in"
margin-top="1in"/><fo:region-before extent="1cm"
region-name="header"/><fo:region-after extent="1cm"
region-name="footer"/></fo:simple-page-master><fo:simple-page-master
master-name="other-pages-dc"
margin-left="1in" margin-right="1in" page-height="11in"
page-width="8.5in"><fo:region-body margin-bottom="1in" margin-top="1in"
column-count="2"/><fo:region-before extent="1cm"
region-name="header"/><fo:region-after extent="1cm"
region-name="footer"/></fo:simple-page-master><fo:page-sequence-master
master-name="sequence"><fo:single-page-master-reference
master-reference="first-page"/><fo:repeatable-page-master-reference
master-reference="other-pages"/></fo:page-sequence-master></fo:layout-master-set><fo:bookmark-tree><fo:bookmark
internal-destination="rfc.status"><fo:bookmark-title>Status of this
Memo</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.copyrightnotice"><fo:bookmark-title>Copyright
Notice</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.1"><fo:bookmark-title>1
Introduction</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.1.1"><fo:bookmark-title>1.1
Goals</fo:bookmark-title></fo:bookmark></fo
:bookmark><fo:bookmark internal-destination="rfc.section.2">!
<fo:book
mark-title>2 Design Philosophy</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.3"><fo:bookmark-title>3 Basic
Elements</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.3.1"><fo:bookmark-title>3.1
Metadata</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.3.1.1"><fo:bookmark-title>3.1.1
Subject</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.3.1.2"><fo:bookmark-title>3.1.2 Event
Type</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.3.1.3"><fo:bookmark-title>3.1.3
Parameters</fo:bookmark-title></fo:bookmark></fo:bookmark><fo:bookmark
internal-destination="rfc.section.3.2"><fo:bookmark-title>3.2
Data</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.3.2.1"><fo:bookmark-title>3.2.1
Datum</fo:bookmark-title></fo:bookmark></fo:bookmark><fo:bookmark
internal-destination="rfc.section.3.3"><fo:bookmark-title>3.3 Container
Elements</fo:bookmark-
title></fo:bookmark></fo:bookmark><fo:bookmark
internal-destination="rfc.section.4"><fo:bookmark-title>4 XML
Namespaces</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.5"><fo:bookmark-title>5 Extending the
Schema</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.6"><fo:bookmark-title>6
Versioning</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.7"><fo:bookmark-title>7 Metadata
Chaining</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.8"><fo:bookmark-title>8 Operation
Metadata</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.9"><fo:bookmark-title>9 Base
Schema</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.10"><fo:bookmark-title>10 Time
Schema</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.11"><fo:bookmark-title>11 Topology
Schema</fo:bookmark-title></fo:book
mark><fo:bookmark internal-destination="rfc.section.12"><fo:!
bookmark
-title>12 Examples</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.12.1"><fo:bookmark-title>12.1 Schema for
ping</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.12.2"><fo:bookmark-title>12.2 Instance
document for ping</fo:bookmark-title></fo:bookmark></fo:bookmark><fo:bookmark
internal-destination="rfc.section.13"><fo:bookmark-title>13 Security
Concerns</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.14"><fo:bookmark-title>14
Appendices</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.14.1"><fo:bookmark-title>14.1
Acknowledgements</fo:bookmark-title></fo:bookmark></fo:bookmark><fo:bookmark
internal-destination="rfc.references"><fo:bookmark-title>15
References</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.authors"><fo:bookmark-title>Author's
Address</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.ipr"><fo:bookmark-title>Intellectu
al Property and Copyright
Statements</fo:bookmark-title></fo:bookmark></fo:bookmark-tree><fo:page-sequence
master-reference="sequence" language="en"><fo:static-content
flow-name="header"><fo:table width="100%" text-align="center"
space-before=".2cm" table-layout="fixed"><fo:table-column
column-width="proportional-column-width(6)"/><fo:table-column
column-width="proportional-column-width(70)"/><fo:table-column
column-width="proportional-column-width(6)"/><fo:table-body><fo:table-row><fo:table-cell><fo:block
text-align="start">GFD </fo:block></fo:table-cell><fo:table-cell
text-align="center"><fo:block>
+<?xml version="1.0" encoding="UTF-8"?><fo:root
xmlns:fo="http://www.w3.org/1999/XSL/Format"; font-family="serif"
font-size="10pt"><meta-info
xmlns="http://www.renderx.com/XSL/Extensions";><meta-field name="title"
value="&#xA;&#x9;An Extensible Schema for Network Measurement and Performance
Data&#xA; "/><meta-field name="author"
value="Swany"/></meta-info><fo:layout-master-set><fo:simple-page-master
master-name="first-page" margin-left="1in" margin-right="1in"
page-height="11in" page-width="8.5in"><fo:region-body margin-bottom="1in"
margin-top="1in"/><fo:region-after extent="1cm"
region-name="footer"/></fo:simple-page-master><fo:simple-page-master
master-name="other-pages" margin-left="1in" margin-right="1in"
page-height="11in" page-width="8.5in"><fo:region-body margin-bottom="1in"
margin-top="1in"/><fo:region-before extent="1cm"
region-name="header"/><fo:region-after extent="1cm"
region-name="footer"/></fo:simple-page-master><fo:simple-page-master
master-name="other-pages-dc"
margin-left="1in" margin-right="1in" page-height="11in"
page-width="8.5in"><fo:region-body margin-bottom="1in" margin-top="1in"
column-count="2"/><fo:region-before extent="1cm"
region-name="header"/><fo:region-after extent="1cm"
region-name="footer"/></fo:simple-page-master><fo:page-sequence-master
master-name="sequence"><fo:single-page-master-reference
master-reference="first-page"/><fo:repeatable-page-master-reference
master-reference="other-pages"/></fo:page-sequence-master></fo:layout-master-set><fo:bookmark-tree><fo:bookmark
internal-destination="rfc.status"><fo:bookmark-title>Status of this
Memo</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.copyrightnotice"><fo:bookmark-title>Copyright
Notice</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.1"><fo:bookmark-title>1
Introduction</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.1.1"><fo:bookmark-title>1.1
Goals</fo:bookmark-title></fo:bookmark></fo
:bookmark><fo:bookmark internal-destination="rfc.section.2">!
<fo:book
mark-title>2 Design Philosophy</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.3"><fo:bookmark-title>3 Basic
Elements</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.3.1"><fo:bookmark-title>3.1
Metadata</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.3.1.1"><fo:bookmark-title>3.1.1
Subject</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.3.1.2"><fo:bookmark-title>3.1.2 Event
Type</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.3.1.3"><fo:bookmark-title>3.1.3
Parameters</fo:bookmark-title></fo:bookmark></fo:bookmark><fo:bookmark
internal-destination="rfc.section.3.2"><fo:bookmark-title>3.2
Data</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.3.2.1"><fo:bookmark-title>3.2.1
Datum</fo:bookmark-title></fo:bookmark></fo:bookmark><fo:bookmark
internal-destination="rfc.section.3.3"><fo:bookmark-title>3.3 Container
Elements</fo:bookmark-
title></fo:bookmark></fo:bookmark><fo:bookmark
internal-destination="rfc.section.4"><fo:bookmark-title>4 XML
Namespaces</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.5"><fo:bookmark-title>5 Extending the
Schema</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.6"><fo:bookmark-title>6
Versioning</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.7"><fo:bookmark-title>7 Metadata
Chaining</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.8"><fo:bookmark-title>8 Operation
Metadata</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.9"><fo:bookmark-title>9 Base
Schema</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.10"><fo:bookmark-title>10 Time
Schema</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.11"><fo:bookmark-title>11 Topology
Schema</fo:bookmark-title></fo:book
mark><fo:bookmark internal-destination="rfc.section.12"><fo:!
bookmark
-title>12 Examples</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.12.1"><fo:bookmark-title>12.1 Schema for
ping</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.12.2"><fo:bookmark-title>12.2 Instance
document for ping</fo:bookmark-title></fo:bookmark></fo:bookmark><fo:bookmark
internal-destination="rfc.section.13"><fo:bookmark-title>13 Security
Concerns</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.section.14"><fo:bookmark-title>14
Appendices</fo:bookmark-title><fo:bookmark
internal-destination="rfc.section.14.1"><fo:bookmark-title>14.1
Acknowledgements</fo:bookmark-title></fo:bookmark></fo:bookmark><fo:bookmark
internal-destination="rfc.references"><fo:bookmark-title>15
References</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.authors"><fo:bookmark-title>Author's
Address</fo:bookmark-title></fo:bookmark><fo:bookmark
internal-destination="rfc.ipr"><fo:bookmark-title>Intellectu
al Property and Copyright
Statements</fo:bookmark-title></fo:bookmark></fo:bookmark-tree><fo:page-sequence
master-reference="sequence" language="en"><fo:static-content
flow-name="header"><fo:table width="100%" text-align="center"
space-before=".2cm" table-layout="fixed"><fo:table-column
column-width="proportional-column-width(6)"/><fo:table-column
column-width="proportional-column-width(70)"/><fo:table-column
column-width="proportional-column-width(6)"/><fo:table-body><fo:table-row><fo:table-cell><fo:block
text-align="start">RFC </fo:block></fo:table-cell><fo:table-cell
text-align="center"><fo:block>
An Extensible Schema for Network Measurement and Performance Data
</fo:block></fo:table-cell><fo:table-cell text-align="end"><fo:block>May
2007</fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:static-content><fo:static-content
flow-name="footer"><fo:table text-align="center" width="100%"
table-layout="fixed"><fo:table-column
column-width="proportional-column-width(7.5)"/><fo:table-column
column-width="proportional-column-width(13)"/><fo:table-column
column-width="proportional-column-width(7.5)"/><fo:table-body><fo:table-row><fo:table-cell><fo:block
text-align="start">Swany</fo:block></fo:table-cell><fo:table-cell><fo:block
text-align="center">Informational</fo:block></fo:table-cell><fo:table-cell><fo:block
text-align="end">[Page
<fo:page-number/>]</fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:static-content><fo:flow
flow-name="xsl-region-body"><fo:table width="100%"
table-layout="fixed"><fo:table-column
column-width="proportional-column-width(1)"/><fo:table-column
column-width="proportio

nal-column-width(1)"/><fo:table-body><fo:table-row><fo:table-cell><fo:block>Network
Measurement Working Group</fo:block></fo:table-cell><fo:table-cell><fo:block
text-align="right">M Swany,
Editor</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:block/></fo:table-cell><fo:table-cell><fo:block

text-align="right">UDel</fo:block></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:block>Intended
status: Informational</fo:block></fo:table-cell><fo:table-cell><fo:block
text-align="right">May
2007</fo:block></fo:table-cell></fo:table-row></fo:table-body></fo:table><fo:block
text-align="center" font-weight="bold" font-size="18pt" space-before="3em"
space-after="3em">
An Extensible Schema for Network Measurement and Performance Data
@@ -180,10 +180,11 @@
</fo:block><fo:block font-weight="bold" font-size="14pt"
keep-with-next="always" space-after="7pt" page-break-before="always"
id="rfc.section.9">9.  Base Schema</fo:block><fo:block space-before=".5em"
space-after=".5em" start-indent="2em">
<fo:block font-family="monospace" font-size="9pt"
background-color="#dddddd" white-space-treatment="preserve"
linefeed-treatment="preserve" white-space-collapse="false">#
##############################################################
#
-# File: nmbase.rnc - Main schema definition
-# Version: $Id: nmbase.rnc 225 2007-05-02 18:16:45Z zurawski $
-# Purpose: This is the main schema file, it defines the
-# general structure of an NMWG message or store
+# File: nmbase.rnc - Main schema definition
+# Version: $Id: nmbase.rnc 225 2007-05-02 18:16:45Z zurawski $
+# Purpose: This is the main relax schema file, it defines
+# the general makeup of an NMWG structured message.
+# Reference: http://books.xmlschemata.org/relaxng/page2.html
#
# ##############################################################

@@ -201,8 +202,8 @@
include "filter.rnc"

# ##############################################################
-# Every NMWG document should begin with either a 'store' or
-# 'message' element
+# Every suitable NMWG document should begin with either a
+# 'store' or 'message' element, in the appropriate namespace.
# Patterns are defined for the content of each element.
#
# Example (using message):
@@ -212,11 +213,11 @@
# type="REQUIRED_TYPE"
# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
#
-# &lt;!-- OPTIONAL PARAMETERS --&gt;
+# &lt;!-- TBD OPTIONAL PARAMETERS --&gt;
#
-# &lt;!-- OPTIONAL (MULTIPLE) METADATA --&gt;
+# &lt;!-- TBD OPTIONAL (MULTIPLE) METADATA --&gt;
#
-# &lt;!-- OPTIONAL (MULTIPLE) DATA --&gt;
+# &lt;!-- TBD OPTIONAL (MULTIPLE) DATA --&gt;
#
# &lt;/nmwg:message&gt;
#
@@ -255,10 +256,13 @@


# ##############################################################
-# Metadata is the information that describes data. This
-# information doesn't change over time
+# Metadata is the 'data' that describes physical measurements.
+# Metadata can be a physical address or a geographical location;
+# any form of static, re-usable designation. It is important to
+# note that the subject namespace and parameters namespace MUST
+# match (or the parameters can be a generic NMWG) or bad things
+# will occur.
#
-#
# Example:
#
# &lt;nmwg:metadata id="REQUIRED_ID"
@@ -488,15 +492,12 @@
}

# ##############################################################
-# CommonTime is used as a shortcut that is able to 'factor out'
-# a frequently occurring time range that a group of datum (or
-# other) elements might share, thus reducing the verbosity of the
-# XML representation. CommonTime is similar to the other NMWG time
+# CommonTime is used as a shortcut that is able to 'factor out'
+# a frequently occurring time range that a bunch of datum (or
+# other) elements might share, thus reducing complexity of XML
+# representation. CommonTime is similar to the other NMWG time
# stamps (from nmtime.rnc) in its potential time representations.
#
-# It is unfortunate that it needs to be in this file and not
-# nmtime.rnc, but as it occurs outside the datum, it is here.
-#
# Example:
#
# &lt;nmwg:commonTime type="REQUIRED_TYPE" value="OPTIONAL_VALUE"
@@ -504,13 +505,11 @@
# inclusive="OPTIONAL_INCLUSIVE_FLAG"
# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
#
-# &lt;!-- TBD OPTIONAL START TIME ELEMENT (USE END TIME OR
-# DURATION) --&gt;
+# &lt;!-- TBD OPTIONAL START TIME ELEMENT (USE END TIME OR DURATION) --&gt;
#
# &lt;!-- TBD OPTIONAL END TIME ELEMENT (ONLY WITH START TIME) --&gt;
#
-# &lt;!-- TBD OPTIONAL TIME VALUE ELEMENT (USE IF NO VALUE
-# ATTRIBUTE) --&gt;
+# &lt;!-- TBD OPTIONAL TIME VALUE ELEMENT (USE IF NO VALUE ATTRIBUTE)
--&gt;
#
# &lt;!-- TBD OPTIONAL (MULTIPLE) DATUM ELEMENTS --&gt;
#
@@ -624,10 +623,12 @@

<fo:block font-family="monospace" font-size="9pt"
background-color="#dddddd" white-space-treatment="preserve"
linefeed-treatment="preserve" white-space-collapse="false">#
##############################################################
#
-# File: nmtime.rnc - NMWG Time definitions
-# Version: $Id: nmtime.rnc 225 2007-05-02 18:16:45Z zurawski $
-# Purpose: This describes a set of time formats for
-# representing measurements.
+# File: nmtime.rnc - NMWG Time definitions
+# Version: $Id: nmtime.rnc 225 2007-05-02 18:16:45Z zurawski $
+# Purpose: This describes a general time format for
+# representing measurements. It is far from complete,
+# and may be best represented by other methods.
+# Reference: http://books.xmlschemata.org/relaxng/page2.html
#
# ##############################################################

@@ -708,9 +709,13 @@

<fo:block font-family="monospace" font-size="9pt"
background-color="#dddddd" white-space-treatment="preserve"
linefeed-treatment="preserve" white-space-collapse="false">#
##############################################################
#
-# File: nmtopo.rnc - Schema to describe topological
+# File: nmtopo.rnc - Schema to describe topological
+# features to be used in subject
# elements.
-# Version: $Id: nmtopo.rnc 209 2007-02-15 17:20:25Z zurawski $
+# Version: $Id: nmtopo.rnc 209 2007-02-15 17:20:25Z zurawski $
+# Purpose: This file lays out some major network topologies
+# used in measurement.
+# Reference: http://books.xmlschemata.org/relaxng/page2.html
#
# ##############################################################

@@ -856,8 +861,10 @@
# File: ping.rnc - Specialized schema for the ping
# tool
# Version: $Id: ping.rnc 205 2007-02-05 17:33:00Z zurawski $
-# Purpose: Defines elements to be used in the representation
-# of ping measurements.
+# Purpose: Describes specific elements to be used in the
+# representation and handling of ping
+# measurements.
+# Reference: http://books.xmlschemata.org/relaxng/page2.html
#
# ##############################################################

@@ -883,7 +890,31 @@


# ##############################################################
-# Metadata
+# Metadata is the 'data' that describes physical measurements.
+# Metadata can be something such as a physical address, or
+# a geographical location; any form of static, re-usable
+# designation. It is important to note that the subject
+# namespace and parameters namespace MUST match (or the parameters
+# can be a generic NMWG) or bad things will occur.
+#
+# Example:
+#
+# &lt;nmwg:metadata id="REQUIRED_ID"
+# metadataIdRef="OPTIONAL_REFERENCE_ID"
+# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
+#
+# &lt;!-- TBD OPTIONAL SUBJECT --&gt;
+#
+# &lt;!-- TBD OPTIONAL PARAMETERS --&gt;
+#
+# &lt;!-- TBD OPTIONAL EVENTTYPE --&gt;
+#
+# &lt;!-- TBD OPTIONAL KEY --&gt;
+#
+# &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE --&gt;
+#
+# &lt;/nmwg:metadata&gt;
+#
# ##############################################################

PingMetadata =
@@ -1047,7 +1078,30 @@


# ##############################################################
-# CommonTime
+# CommonTime is used a a shortcut able to 'factor out' a frequently
+# occurring time range that a bunch of datum (or other) elements
+# might share, thus reducing complexity of XML representation.
+# CommonTime is similar to the other NMWG time stamps (from
+# nmtime.rnc) in its potential time representations.
+#
+# Example:
+#
+# &lt;nmwg:commonTime type="REQUIRED_TYPE" value="OPTIONAL_VALUE"
+# duration="OPTIONAL_DURATION"
+# inclusive="OPTIONAL_INCLUSIVE_FLAG"
+# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
+#
+# &lt;!-- TBD OPTIONAL START TIME ELEMENT (USE END TIME OR DURATION) --&gt;
+#
+# &lt;!-- TBD OPTIONAL END TIME ELEMENT (ONLY WITH START TIME) --&gt;
+#
+# &lt;!-- TBD OPTIONAL TIME VALUE ELEMENT (USE IF NO VALUE ATTRIBUTE)
--&gt;
+#
+# &lt;!-- TBD OPTIONAL (MULTIPLE) DATUM ELEMENTS --&gt;
+#
+# &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE --&gt;
+# &lt;/nmwg:commonTime&gt;
+#
# ##############################################################

PingCommonTime =
@@ -1195,4 +1249,4 @@
other proprietary rights, which may cover technology that
may be required to practice this recommendation. Please
address the information to the OGF Executive Director.
- </fo:block></fo:flow></fo:page-sequence></fo:root>
+ </fo:block></fo:flow></fo:page-sequence></fo:root>
\ No newline at end of file

Modified: trunk/nmwg/doc/nm-schema-base/nm-schema-base.html
===================================================================
--- trunk/nmwg/doc/nm-schema-base/nm-schema-base.html 2007-05-07 13:12:03
UTC (rev 230)
+++ trunk/nmwg/doc/nm-schema-base/nm-schema-base.html 2007-05-07 13:28:53
UTC (rev 231)
@@ -1,8 +1,12 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<html lang="en"><head><meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"><title>
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>
An Extensible Schema for Network Measurement and Performance Data
- </title><style type="text/css" title="Xml2Rfc (sans serif)">
+ </title>
+<style type="text/css" title="Xml2Rfc (sans serif)">
a {
text-decoration: none;
}
@@ -293,62 +297,186 @@
content: normal;
}
}
-</style><link rel="Author" href="#rfc.authors"><link rel="Copyright"
href="#rfc.copyright"><link rel="Chapter" title="1 Introduction"
href="#rfc.section.1"><link rel="Chapter" title="2 Design Philosophy"
href="#rfc.section.2"><link rel="Chapter" title="3 Basic Elements"
href="#rfc.section.3"><link rel="Chapter" title="4 XML Namespaces"
href="#rfc.section.4"><link rel="Chapter" title="5 Extending the Schema"
href="#rfc.section.5"><link rel="Chapter" title="6 Versioning"
href="#rfc.section.6"><link rel="Chapter" title="7 Metadata Chaining"
href="#rfc.section.7"><link rel="Chapter" title="8 Operation Metadata"
href="#rfc.section.8"><link rel="Chapter" title="9 Base Schema"
href="#rfc.section.9"><link rel="Chapter" title="10 Time Schema"
href="#rfc.section.10"><link rel="Chapter" title="11 Topology Schema"
href="#rfc.section.11"><link rel="Chapter" title="12 Examples"
href="#rfc.section.12"><link rel="Chapter" title="13 Security Concerns"
href="#rfc.section.13"><link rel="Chapte
r" title="14 Appendices" href="#rfc.section.14"><link rel="Chapter"
href="#rfc.section.15" title="15 References"><meta name="generator"
content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.291,
2006/10/29 09:03:19, XSLT vendor: SAXON 8.8 from Saxonica
http://www.saxonica.com/";><link rel="schema.DC"
href="http://purl.org/dc/elements/1.1/";><meta name="DC.Creator"
content="Swany, M"><meta name="DC.Date.Issued" scheme="ISO8601"
content="2007-05"></head><body><table summary="header information"
class="header" border="0" cellpadding="1" cellspacing="1"><tr><td
class="front left">Network Measurement Working Group</td><td class="front
right">M Swany, Editor</td></tr><tr><td class="front left"></td><td
class="front right">UDel</td></tr><tr><td class="front left">Intended status:
Informational</td><td class="front right">May 2007</td></tr></table><p
class="title">An Extensible Schema for Network Measurement and Performance
Data</p><h1><a id="rfc.status" href="#rfc.status
">Status of this Memo</a></h1><p>This memo provides informat!
ion for
the Grid community. It does not specify any standards or technical
recommendations. Distribution is unlimited.</p><h1><a
id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright
Notice</a></h1><p>Copyright � The Open Grid Forum (2007). All Rights
Reserved.</p><hr class="noprint"><h1 id="rfc.section.1" class="np"><a
href="#rfc.section.1">1.</a>&nbsp;<a id="intro"
href="#intro">Introduction</a></h1><p id="rfc.section.1.p.1">This document
presents an extensible encoding standard for network measurement and
performance data. Uniform encoding of this class of information is a key
problem for federated network management, and multi-domain dynamic
provisioning of network circuits, as well as in advanced distributed
computing environments, such as Grid computing.</p><p
id="rfc.section.1.p.2">This work is born of the need for a common mechanism
for the exchange of network measurement and performance data. In the case of
research-oriented networks, parties often want to exchange
network performance data with neighbors for debugging purposes. In general,
however, there is no single system that is in use. In the Grid community, the
need to exchange network metrics of various sorts is often highlighted. In
short it is highly desirable to have an extensible schema for network
performance information that gives a common, general framework for
representation and exchange.</p><p id="rfc.section.1.p.3">This document
builds on previous versions of the network measurement schemata. This
document describes Version 2 of the Grid Forum's Network Measurement Working
Group (NM-WG) schema.</p><h2 id="rfc.section.1.1"><a
href="#rfc.section.1.1">1.1</a>&nbsp;Goals</h2><p
id="rfc.section.1.1.p.1">The goal is to define a neutral representation for
network measurements that can be easily extended to support new types of
data. This representation should identify forms of network performance data
as well as to create standardized mechanism to both describe and publish the
se metrics.</p><hr class="noprint"><h1 id="rfc.section.2" cl!
ass="np"
><a href="#rfc.section.2">2.</a>&nbsp;Design Philosophy</h1><p
>id="rfc.section.2.p.1">One of the high-level goals of this representation is
>to "normalize" the data representation by removing as much redundancy as
>possible. The basic schema design is based on the observation that network
>measurement data can be divided into two major classes. The first class is
>the Metadata, which describes the type of measurement data, the entity or
>entities being measured and the particular parameters of the measurement.
>The second class is the data itself, which is, at its simplest, a timestamp
>and a value, or vector of values. This division of Metadata and Data is
>present throughout the system. This structure is present both in the
>"Messages" sent between various data elements and in data "Stores" --
>persistent storage of XML documents representing system state.</p><hr
>class="noprint"><h1 id="rfc.section.3" class="np"><a
>href="#rfc.section.3">3.</a>&nbsp;Basic Elements</h1><p id="rfc.secti
on.3.p.1">This schema defines the basic elements that can be used to
represent performance data. The first distinction is between the "Metadata",
the relatively static information regarding the data, and the "Data" itself,
which generally changes over time. The key idea is that, for repeated
measurements, which is a common case for performance data in networks and
Grids, the Metadata need not be repeated with each measurement, saving space
and effort.</p><p id="rfc.section.3.p.2">Each top-level element in this
schema has an Identifier attribute called "Id". There are many cases in which
one element needs to refer to another. For these cases an Id Reference is
used. Note that we have not used the XML Schema ID and IDREF types, although
they seem to be appropriate. The reason is that for an IDREF, the
corresponding ID must appear in the same document. We envision remote Id
references (with e.g., a generic URL or a WS-Addressing EPR) and thus find
this limitation overly restric
tive. (Note that another possibility is the use of a simple !
element
to resolve the local ID and point to remote Metadata.)</p><h2
id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a>&nbsp;Metadata</h2><p
id="rfc.section.3.1.p.1">The Metadata must describe the Data unambiguously.
To accomplish this, the Metadata must include three key things:</p><dl
class="empty"><dd>"Subject" -- The Subject identifies the entity being
measured. This could include the network path between a pair of hosts, an
interface on a router, or a specific location on the network from which flow
or packet data is captured.</dd><dd>"EventType" -- The EventType identifies
exactly what sort of measurement Event occurred.</dd><dd>"Parameters" -- The
Parameters describe the details of the measurement.</dd></dl><h3
id="rfc.section.3.1.1"><a
href="#rfc.section.3.1.1">3.1.1</a>&nbsp;Subject</h3><p
id="rfc.section.3.1.1.p.1">The "Subject" identifies the measured entity. For
networks, this may represent a path between two hosts or an interface on a
network device.</p><h3 id="rfc
.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a>&nbsp;Event
Type</h3><p id="rfc.section.3.1.2.p.1">The "Event Type" is the canonical name
of the aspect of the subject being measured, or the actual event (i.e.
"characteristic") being reported.</p><h3 id="rfc.section.3.1.3"><a
href="#rfc.section.3.1.3">3.1.3</a>&nbsp;Parameters</h3><p
id="rfc.section.3.1.3.p.1">The "Parameters" describe the exact way in which a
particular measurement was gathered. These can include parameters to active
measurement tools. Essentially, anything needed to determine which
measurements are fungible should be included here. Parameters take the form
of name, value pairs. The value of a parameter can itself be a complex XML
element.</p><h2 id="rfc.section.3.2"><a
href="#rfc.section.3.2">3.2</a>&nbsp;Data</h2><p id="rfc.section.3.2.p.1">The
"Data" element has an Identifier (Id) and an Identifier Reference
(metadataIdRef) that refers to the "Metadata" that describes it. It contains
some number of
"Datum" elements.</p><h3 id="rfc.section.3.2.1"><a href="#rf!
c.sectio
n.3.2.1">3.2.1</a>&nbsp;Datum</h3><p id="rfc.section.3.2.1.p.1">The "Datum"
elements hold the timestamp and value of the measurement or value of the
event. For many network measurement data sources, this can be a time-series
of timestamp, value pairs. For other measurement types, the result value may
be a vector.</p><h2 id="rfc.section.3.3"><a
href="#rfc.section.3.3">3.3</a>&nbsp;Container Elements</h2><p
id="rfc.section.3.3.p.1">The above-named elements are currently contained in
two types of outer elements, "Message" and "Store". They have exactly the
same structure, i.e. containing "Metadata" and "Data" elements. Each may have
an attribute called "Type" to indicate its type. Each may also contain one
"Parameters" element to indicate Message- or Store-level parameters and
options. This allows for a great deal of customization.</p><hr
class="noprint"><h1 id="rfc.section.4" class="np"><a
href="#rfc.section.4">4.</a>&nbsp;XML Namespaces</h1><p
id="rfc.section.4.p.1">A key face
t in this schema is the observation that the above elements can be used to
describe any network measurement, but the exact content of the each will vary
with the measurement type. We have adopted XML namespaces to allow reuse of
these same basic element names, but to vary the contents of the basic
elements for each different type of data.</p><p id="rfc.section.4.p.2">In
this way, some superficial examination of the structure of a message or
information store can take place without looking at the details of the
contents. Some processing functionality should be able to consume new data
types with no modification.</p><p id="rfc.section.4.p.3">We envision there
being two major classes of namespace URIs. The first is a canonical name
based on the Hierarchy of Network Measurements from this working group.
(cite). The second is based on an organization's domain name and allows for
autonomous extension in much the same way as the Enterprise branch of the OID
space (cite) allows. Fin
ally, as this specification doesn't address the embedding of!
this sc
hema into other systems, we note that the relevant parts of the namespace can
be appended to another namespace if one is already in use.</p><hr
class="noprint"><h1 id="rfc.section.5" class="np"><a
href="#rfc.section.5">5.</a>&nbsp;Extending the Schema</h1><p
id="rfc.section.5.p.1">The namespace-based approach described above provides
extensibility by defining new basic elements in a tool- or
characteristic-specific namespace. An example of this is presented in the
Ping example later.</p><p id="rfc.section.5.p.2">This needs some textual
description.</p><hr class="noprint"><h1 id="rfc.section.6" class="np"><a
href="#rfc.section.6">6.</a>&nbsp;Versioning</h1><p
id="rfc.section.6.p.1">While the working group has made every effort to
completely describe a few measurement types, we are well aware that tools,
and ideas about how to represent them, may change. For this reason, each of
the schema areas must have a version number.</p><p id="rfc.section.6.p.2">To
accomplish this, each o
f the URIs that comprise the namespaces end in a version number. TBD,
conforming to recent GFD on namespaces.</p><hr class="noprint"><h1
id="rfc.section.7" class="np"><a href="#rfc.section.7">7.</a>&nbsp;Metadata
Chaining</h1><p id="rfc.section.7.p.1">While a complete Metadata block can be
used to unambiguously describe a data block, it is often desirable to combine
multiple, partial Metadata blocks together. The main reason for this is reuse
of information. Using the "metadataIdRef" attribute of a Metadata block
allows us to form a "chain" of Metadata blocks. This means that not all
Metadata blocks will have an associated eventType. At the end of the chain,
however, there MUST be an event type.</p><hr class="noprint"><h1
id="rfc.section.8" class="np"><a href="#rfc.section.8">8.</a>&nbsp;Operation
Metadata</h1><p id="rfc.section.8.p.1">In addition to describing sets of raw
data, Metadata blocks can also be used to describe transformation operations
performed on a set of data
. Thus, a list of Metadata blocks, including origin and tran!
sformati
ons, can be used to unambiguously describe the provenance of any network
data. This can also be used in cases where the transformation is "internal"
and the original data is not available. This can be thought of as describing
set operations on the original set as it passes through a list of operators.
</p><p id="rfc.section.8.p.2">One example of this is the selection of a
subset of data from a a set, based on time or value. A "select" metadata
block can be used to describe this filtering operation independent of the
source. Formally, we can think of this as as an operation on one set that
produces another set. This metadata block must unambiguously defining that
set operation.</p><p id="rfc.section.8.p.3">This relationship between
Metadata blocks is expressed by having the Subject metadataIdRef refer to
another Metadata, which denotes having it be input to an operation.</p><hr
class="noprint"><h1 id="rfc.section.9" class="np"><a
href="#rfc.section.9">9.</a>&nbsp;Base Schema</
h1><p id="rfc.section.9.p.1"> <pre>
-# ##############################################################
-#
-# File: nmbase.rnc - Main schema definition
-# Version: $Id: nmbase.rnc 225 2007-05-02 18:16:45Z zurawski $
-# Purpose: This is the main schema file, it defines the
-# general structure of an NMWG message or store
-#
-# ##############################################################
+</style>
+<link rel="Author" href="#rfc.authors">
+<link rel="Copyright" href="#rfc.copyright">
+<link rel="Chapter" title="1 Introduction" href="#rfc.section.1">
+<link rel="Chapter" title="2 Design Philosophy" href="#rfc.section.2">
+<link rel="Chapter" title="3 Basic Elements" href="#rfc.section.3">
+<link rel="Chapter" title="4 XML Namespaces" href="#rfc.section.4">
+<link rel="Chapter" title="5 Extending the Schema" href="#rfc.section.5">
+<link rel="Chapter" title="6 Versioning" href="#rfc.section.6">
+<link rel="Chapter" title="7 Metadata Chaining" href="#rfc.section.7">
+<link rel="Chapter" title="8 Operation Metadata" href="#rfc.section.8">
+<link rel="Chapter" title="9 Base Schema" href="#rfc.section.9">
+<link rel="Chapter" title="10 Time Schema" href="#rfc.section.10">
+<link rel="Chapter" title="11 Topology Schema" href="#rfc.section.11">
+<link rel="Chapter" title="12 Examples" href="#rfc.section.12">
+<link rel="Chapter" title="13 Security Concerns" href="#rfc.section.13">
+<link rel="Chapter" title="14 Appendices" href="#rfc.section.14">
+<link rel="Chapter" href="#rfc.section.15" title="15 References">
+<meta name="generator"
content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.291,
2006/10/29 09:03:19, XSLT vendor: SAXON 8.8 from Saxonica
http://www.saxonica.com/";>
+<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/";>
+<meta name="DC.Creator" content="Swany, M">
+<meta name="DC.Date.Issued" scheme="ISO8601" content="2007-05">
+</head>
+<body>
+<table summary="header information" class="header" border="0"
cellpadding="1" cellspacing="1">
+<tr>
+<td class="front left">Network Measurement Working Group</td>
+<td class="front right">M Swany, Editor</td>
+</tr>
+<tr>
+<td class="front left">
+</td>
+<td class="front right">UDel</td>
+</tr>
+<tr>
+<td class="front left">Intended status: Informational</td>
+<td class="front right">May 2007</td>
+</tr>
+</table>
+<p class="title">An Extensible Schema for Network Measurement and
Performance Data</p>
+<h1>
+<a id="rfc.status" href="#rfc.status">Status of this Memo</a>
+</h1>
+<p>This memo provides information for the Grid community. It does not
specify any standards or technical recommendations. Distribution is
unlimited.</p>
+<h1>
+<a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a>
+</h1>
+<p>Copyright � The Open Grid Forum (2007). All Rights Reserved.</p>
+<hr class="noprint">
+<h1 id="rfc.section.1" class="np">
+<a href="#rfc.section.1">1.</a>&nbsp;<a id="intro"
href="#intro">Introduction</a>
+</h1>
+<p id="rfc.section.1.p.1">This document presents an extensible encoding
standard for network measurement and performance data. Uniform encoding of
this class of information is a key problem for federated network management,
and multi-domain dynamic provisioning of network circuits, as well as in
advanced distributed computing environments, such as Grid computing.</p>
+<p id="rfc.section.1.p.2">This work is born of the need for a common
mechanism for the exchange of network measurement and performance data. In
the case of research-oriented networks, parties often want to exchange
network performance data with neighbors for debugging purposes. In general,
however, there is no single system that is in use. In the Grid community, the
need to exchange network metrics of various sorts is often highlighted. In
short it is highly desirable to have an extensible schema for network
performance information that gives a common, general framework for
representation and exchange.</p>
+<p id="rfc.section.1.p.3">This document builds on previous versions of the
network measurement schemata. This document describes Version 2 of the Grid
Forum's Network Measurement Working Group (NM-WG) schema.</p>
+<h2 id="rfc.section.1.1">
+<a href="#rfc.section.1.1">1.1</a>&nbsp;Goals</h2>
+<p id="rfc.section.1.1.p.1">The goal is to define a neutral representation
for network measurements that can be easily extended to support new types of
data. This representation should identify forms of network performance data
as well as to create standardized mechanism to both describe and publish
these metrics.</p>
+<hr class="noprint">
+<h1 id="rfc.section.2" class="np">
+<a href="#rfc.section.2">2.</a>&nbsp;Design Philosophy</h1>
+<p id="rfc.section.2.p.1">One of the high-level goals of this representation
is to "normalize" the data representation by removing as much redundancy as
possible. The basic schema design is based on the observation that network
measurement data can be divided into two major classes. The first class is
the Metadata, which describes the type of measurement data, the entity or
entities being measured and the particular parameters of the measurement. The
second class is the data itself, which is, at its simplest, a timestamp and a
value, or vector of values. This division of Metadata and Data is present
throughout the system. This structure is present both in the "Messages" sent
between various data elements and in data "Stores" -- persistent storage of
XML documents representing system state.</p>
+<hr class="noprint">
+<h1 id="rfc.section.3" class="np">
+<a href="#rfc.section.3">3.</a>&nbsp;Basic Elements</h1>
+<p id="rfc.section.3.p.1">This schema defines the basic elements that can be
used to represent performance data. The first distinction is between the
"Metadata", the relatively static information regarding the data, and the
"Data" itself, which generally changes over time. The key idea is that, for
repeated measurements, which is a common case for performance data in
networks and Grids, the Metadata need not be repeated with each measurement,
saving space and effort.</p>
+<p id="rfc.section.3.p.2">Each top-level element in this schema has an
Identifier attribute called "Id". There are many cases in which one element
needs to refer to another. For these cases an Id Reference is used. Note that
we have not used the XML Schema ID and IDREF types, although they seem to be
appropriate. The reason is that for an IDREF, the corresponding ID must
appear in the same document. We envision remote Id references (with e.g., a
generic URL or a WS-Addressing EPR) and thus find this limitation overly
restrictive. (Note that another possibility is the use of a simple element to
resolve the local ID and point to remote Metadata.)</p>
+<h2 id="rfc.section.3.1">
+<a href="#rfc.section.3.1">3.1</a>&nbsp;Metadata</h2>
+<p id="rfc.section.3.1.p.1">The Metadata must describe the Data
unambiguously. To accomplish this, the Metadata must include three key
things:</p>
+<dl class="empty">
+<dd>"Subject" -- The Subject identifies the entity being measured. This
could include the network path between a pair of hosts, an interface on a
router, or a specific location on the network from which flow or packet data
is captured.</dd>
+<dd>"EventType" -- The EventType identifies exactly what sort of measurement
Event occurred.</dd>
+<dd>"Parameters" -- The Parameters describe the details of the
measurement.</dd>
+</dl>
+<h3 id="rfc.section.3.1.1">
+<a href="#rfc.section.3.1.1">3.1.1</a>&nbsp;Subject</h3>
+<p id="rfc.section.3.1.1.p.1">The "Subject" identifies the measured entity.
For networks, this may represent a path between two hosts or an interface on
a network device.</p>
+<h3 id="rfc.section.3.1.2">
+<a href="#rfc.section.3.1.2">3.1.2</a>&nbsp;Event Type</h3>
+<p id="rfc.section.3.1.2.p.1">The "Event Type" is the canonical name of the
aspect of the subject being measured, or the actual event (i.e.
"characteristic") being reported.</p>
+<h3 id="rfc.section.3.1.3">
+<a href="#rfc.section.3.1.3">3.1.3</a>&nbsp;Parameters</h3>
+<p id="rfc.section.3.1.3.p.1">The "Parameters" describe the exact way in
which a particular measurement was gathered. These can include parameters to
active measurement tools. Essentially, anything needed to determine which
measurements are fungible should be included here. Parameters take the form
of name, value pairs. The value of a parameter can itself be a complex XML
element.</p>
+<h2 id="rfc.section.3.2">
+<a href="#rfc.section.3.2">3.2</a>&nbsp;Data</h2>
+<p id="rfc.section.3.2.p.1">The "Data" element has an Identifier (Id) and an
Identifier Reference (metadataIdRef) that refers to the "Metadata" that
describes it. It contains some number of "Datum" elements.</p>
+<h3 id="rfc.section.3.2.1">
+<a href="#rfc.section.3.2.1">3.2.1</a>&nbsp;Datum</h3>
+<p id="rfc.section.3.2.1.p.1">The "Datum" elements hold the timestamp and
value of the measurement or value of the event. For many network measurement
data sources, this can be a time-series of timestamp, value pairs. For other
measurement types, the result value may be a vector.</p>
+<h2 id="rfc.section.3.3">
+<a href="#rfc.section.3.3">3.3</a>&nbsp;Container Elements</h2>
+<p id="rfc.section.3.3.p.1">The above-named elements are currently contained
in two types of outer elements, "Message" and "Store". They have exactly the
same structure, i.e. containing "Metadata" and "Data" elements. Each may have
an attribute called "Type" to indicate its type. Each may also contain one
"Parameters" element to indicate Message- or Store-level parameters and
options. This allows for a great deal of customization.</p>
+<hr class="noprint">
+<h1 id="rfc.section.4" class="np">
+<a href="#rfc.section.4">4.</a>&nbsp;XML Namespaces</h1>
+<p id="rfc.section.4.p.1">A key facet in this schema is the observation that
the above elements can be used to describe any network measurement, but the
exact content of the each will vary with the measurement type. We have
adopted XML namespaces to allow reuse of these same basic element names, but
to vary the contents of the basic elements for each different type of
data.</p>
+<p id="rfc.section.4.p.2">In this way, some superficial examination of the
structure of a message or information store can take place without looking at
the details of the contents. Some processing functionality should be able to
consume new data types with no modification.</p>
+<p id="rfc.section.4.p.3">We envision there being two major classes of
namespace URIs. The first is a canonical name based on the Hierarchy of
Network Measurements from this working group. (cite). The second is based on
an organization's domain name and allows for autonomous extension in much the
same way as the Enterprise branch of the OID space (cite) allows. Finally, as
this specification doesn't address the embedding of this schema into other
systems, we note that the relevant parts of the namespace can be appended to
another namespace if one is already in use.</p>
+<hr class="noprint">
+<h1 id="rfc.section.5" class="np">
+<a href="#rfc.section.5">5.</a>&nbsp;Extending the Schema</h1>
+<p id="rfc.section.5.p.1">The namespace-based approach described above
provides extensibility by defining new basic elements in a tool- or
characteristic-specific namespace. An example of this is presented in the
Ping example later.</p>
+<p id="rfc.section.5.p.2">This needs some textual description.</p>
+<hr class="noprint">
+<h1 id="rfc.section.6" class="np">
+<a href="#rfc.section.6">6.</a>&nbsp;Versioning</h1>
+<p id="rfc.section.6.p.1">While the working group has made every effort to
completely describe a few measurement types, we are well aware that tools,
and ideas about how to represent them, may change. For this reason, each of
the schema areas must have a version number.</p>
+<p id="rfc.section.6.p.2">To accomplish this, each of the URIs that comprise
the namespaces end in a version number. TBD, conforming to recent GFD on
namespaces.</p>
+<hr class="noprint">
+<h1 id="rfc.section.7" class="np">
+<a href="#rfc.section.7">7.</a>&nbsp;Metadata Chaining</h1>
+<p id="rfc.section.7.p.1">While a complete Metadata block can be used to
unambiguously describe a data block, it is often desirable to combine
multiple, partial Metadata blocks together. The main reason for this is reuse
of information. Using the "metadataIdRef" attribute of a Metadata block
allows us to form a "chain" of Metadata blocks. This means that not all
Metadata blocks will have an associated eventType. At the end of the chain,
however, there MUST be an event type.</p>
+<hr class="noprint">
+<h1 id="rfc.section.8" class="np">
+<a href="#rfc.section.8">8.</a>&nbsp;Operation Metadata</h1>
+<p id="rfc.section.8.p.1">In addition to describing sets of raw data,
Metadata blocks can also be used to describe transformation operations
performed on a set of data. Thus, a list of Metadata blocks, including origin
and transformations, can be used to unambiguously describe the provenance of
any network data. This can also be used in cases where the transformation is
"internal" and the original data is not available. This can be thought of as
describing set operations on the original set as it passes through a list of
operators. </p>
+<p id="rfc.section.8.p.2">One example of this is the selection of a subset
of data from a a set, based on time or value. A "select" metadata block can
be used to describe this filtering operation independent of the source.
Formally, we can think of this as as an operation on one set that produces
another set. This metadata block must unambiguously defining that set
operation.</p>
+<p id="rfc.section.8.p.3">This relationship between Metadata blocks is
expressed by having the Subject metadataIdRef refer to another Metadata,
which denotes having it be input to an operation.</p>
+<hr class="noprint">
+<h1 id="rfc.section.9" class="np">
+<a href="#rfc.section.9">9.</a>&nbsp;Base Schema</h1>
+<p id="rfc.section.9.p.1">
+<pre>
+<font color=red>#
##############################################################</font>
+<font color=red># </font>
+<font color=red># File: nmbase.rnc - Main schema definition</font>
+<font color=red># Version: $Id: nmbase.rnc 225 2007-05-02 18:16:45Z
zurawski $</font>
+<font color=red># Purpose: This is the main relax schema file, it
defines </font>
+<font color=red># the general makeup of an NMWG structured
message.</font>
+<font color=red># Reference:
http://books.xmlschemata.org/relaxng/page2.html</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>


-# ##############################################################
-# Namespace definitions
-# ##############################################################
-namespace nmwg = "http://ggf.org/ns/nmwg/base/2.0/";
+<font color=red>#
##############################################################</font>
+<font color=red># Namespace definitions</font>
+<font color=red>#
##############################################################</font>
+<font color=orange>namespace nmwg = "http://ggf.org/ns/nmwg/base/2.0/";</font>


-# ##############################################################
-# Include additional functionality from other files
-# ##############################################################
-include "nmtime.rnc"
-include "filter.rnc"
+<font color=red>#
##############################################################</font>
+<font color=red># Include additional functionality from other files</font>
+<font color=red>#
##############################################################</font>
+<font color=green>include</font> "nmtime.rnc"
+<font color=green>include</font> "filter.rnc"

-# ##############################################################
-# Every NMWG document should begin with either a 'store' or
-# 'message' element
-# Patterns are defined for the content of each element.
-#
-# Example (using message):
-#
-# &lt;nmwg:message id="OPTIONAL_ID"
-# messageIdRef="OPTIONAL_REFERENCE_ID"
-# type="REQUIRED_TYPE"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- OPTIONAL PARAMETERS --&gt;
-#
-# &lt;!-- OPTIONAL (MULTIPLE) METADATA --&gt;
-#
-# &lt;!-- OPTIONAL (MULTIPLE) DATA --&gt;
-#
-# &lt;/nmwg:message&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Every suitable NMWG document should begin with either a
</font>
+<font color=red># 'store' or 'message' element, in the appropriate
namespace.</font>
+<font color=red># Patterns are defined for the content of each
element.</font>
+<font color=red># </font>
+<font color=red># Example (using message):</font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:message id="OPTIONAL_ID" </font>
+<font color=red># messageIdRef="OPTIONAL_REFERENCE_ID"</font>
+<font color=red># type="REQUIRED_TYPE"</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL PARAMETERS --&gt;</font>
+<font color=red>#</font>
+<font color=red># &lt;!-- TBD OPTIONAL (MULTIPLE) METADATA --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL (MULTIPLE) DATA --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwg:message&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-start =
+<font color=orange>start =</font>
(
- element nmwg:message {
+ <font color=green>element</font> <font
color=blue>nmwg:message</font> {
MessageContent
} |
- element nmwg:store {
+ <font color=green>element</font> <font
color=blue>nmwg:store</font> {
StoreContent
}
)

-MessageContent =
+<font color=orange>MessageContent =</font>
Identifier? &amp;
MessageIdentifierRef? &amp;
Type &amp;
@@ -359,7 +487,7 @@
)+


-StoreContent =
+<font color=orange>StoreContent = </font>
Identifier? &amp;
MessageIdentifierRef? &amp;
Type &amp;
@@ -370,33 +498,36 @@
)+


-# ##############################################################
-# Metadata is the information that describes data. This
-# information doesn't change over time
-#
-#
-# Example:
-#
-# &lt;nmwg:metadata id="REQUIRED_ID"
-# metadataIdRef="OPTIONAL_REFERENCE_ID"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- TBD OPTIONAL SUBJECT --&gt;
-#
-# &lt;!-- TBD OPTIONAL PARAMETERS --&gt;
-#
-# &lt;!-- TBD OPTIONAL EVENTTYPE --&gt;
-#
-# &lt;!-- TBD OPTIONAL KEY --&gt;
-#
-# &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE --&gt;
-#
-# &lt;/nmwg:metadata&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Metadata is the 'data' that describes physical
measurements.</font>
+<font color=red># Metadata can be a physical address or a geographical
location;</font>
+<font color=red># any form of static, re-usable designation. It is important
to</font>
+<font color=red># note that the subject namespace and parameters namespace
MUST</font>
+<font color=red># match (or the parameters can be a generic NMWG) or bad
things</font>
+<font color=red># will occur.</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:metadata id="REQUIRED_ID" </font>
+<font color=red># metadataIdRef="OPTIONAL_REFERENCE_ID"</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL SUBJECT --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL PARAMETERS --&gt;</font>
+<font color=red>#</font>
+<font color=red># &lt;!-- TBD OPTIONAL EVENTTYPE --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL KEY --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE
--&gt; </font>
+<font color=red>#</font>
+<font color=red># &lt;/nmwg:metadata&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-Metadata =
- element nmwg:metadata {
+<font color=orange>Metadata = </font>
+ <font color=green>element</font> <font
color=blue>nmwg:metadata</font> {
(
Identifier &amp;
MetadataIdentifierRef? &amp;
@@ -405,11 +536,11 @@
anyElement*
}

-MetadataBlock =
+<font color=orange>MetadataBlock =</font>
Subject? &amp;
Parameters?

-MetadataContent =
+<font color=orange>MetadataContent = </font>
(
MetadataBlock |
FilterMetadataBlock
@@ -418,31 +549,31 @@
Key?


-# ##############################################################
-# Subject identifies an endPoint (or points), perhaps the name of
-# a service or some other form of physical location. For the
-# purpose of the general case, we make no assumptions on potential
-# elements and allow all elements, in any namespace. Verification
-# can be handled in subsequent schema files.
-#
-# Example:
-#
-# &lt;nmwg:subject id="REQUIRED_ID"
-# metadataIdRef="OPTIONAL_REFERENCE_ID"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- ANY ELEMENT IN ANY NAMESPACE --&gt;
-#
-# &lt;/nmwg:subject&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Subject identifies an endPoint (or points), perhaps the
name of</font>
+<font color=red># a service or some other form of physical location. For
the</font>
+<font color=red># purpose of the general case, we make no assumptions on
potential</font>
+<font color=red># elements and allow all elements, in any namespace.
Verification</font>
+<font color=red># can be handled in subsequent schema files. </font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:subject id="REQUIRED_ID" </font>
+<font color=red># metadataIdRef="OPTIONAL_REFERENCE_ID"</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- ANY ELEMENT IN ANY NAMESPACE --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwg:subject&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-Subject =
- element nmwg:subject {
+<font color=orange>Subject = </font>
+ <font color=green>element</font> <font
color=blue>nmwg:subject</font> {
SubjectContent
}

-SubjectContent =
+<font color=orange>SubjectContent = </font>
(
Identifier &amp;
MetadataIdentifierRef?
@@ -450,50 +581,50 @@
anyElement*


-# ##############################################################
-# Parameters and Parameter elements can be used in a number of
-# ways in: 1) the message to signify items such as time stamp
-# or authorization or 2) metadata or data to specify filters or
-# special cases for the information. A 'parameters' block
-# has an id and encloses one to many 'parameter' elements.
-# These elements have a required 'name', and may contain
-# an attribute, element, or text value (only one please;
-# software using this should consider complex elements, then
-# text, and finally the value attribute; exceptions should
-# be thrown on duplicates).
-#
-# Example:
-#
-# &lt;nmwg:parameters id="REQUIRED_ID"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;nmwg:parameter name="REQUIRED_NAME" value="OPTIONAL_VALUE"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- ANY TEXT, OR ANY ELEMENT ANY NAMESPACE (IF YOU DID NOT
-# USE THE VALUE ATTRIBUTE) --&gt;
-#
-# &lt;/nmwg:parameter&gt;
-#
-# &lt;!-- MORE PARAMETERS --&gt;
-#
-# &lt;/nmwg:parameters&gt;
-#
-# The namespaces can of course be different.
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Parameters and Parameter elements can be used in a number
of</font>
+<font color=red># ways in: 1) the message to signify items such as time
stamp</font>
+<font color=red># or authorization or 2) metadata or data to specify filters
or</font>
+<font color=red># special cases for the information. A 'parameters'
block</font>
+<font color=red># has an id and encloses one to many 'parameter'
elements.</font>
+<font color=red># These elements have a required 'name', and may
contain</font>
+<font color=red># an attribute, element, or text value (only one
please;</font>
+<font color=red># software using this should consider complex elements,
then</font>
+<font color=red># text, and finally the value attribute; exceptions
should</font>
+<font color=red># be thrown on duplicates).</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:parameters id="REQUIRED_ID" </font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:parameter name="REQUIRED_NAME"
value="OPTIONAL_VALUE"</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- ANY TEXT, OR ANY ELEMENT ANY NAMESPACE (IF YOU
DID NOT </font>
+<font color=red># USE THE VALUE ATTRIBUTE) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwg:parameter&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- MORE PARAMETERS --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwg:parameters&gt;</font>
+<font color=red># </font>
+<font color=red># The namespaces can of course be different.</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-Parameters =
- element nmwg:parameters {
+<font color=orange>Parameters = </font>
+ <font color=green>element</font> <font
color=blue>nmwg:parameters</font> {
ParametersContent
}

-ParametersContent =
+<font color=orange>ParametersContent = </font>
Identifier &amp;
Parameter+

-Parameter =
- element nmwg:parameter {
+<font color=orange>Parameter = </font>
+ <font color=green>element</font> <font
color=blue>nmwg:parameter</font> {
attribute name { xsd:string } &amp;
(
attribute value { xsd:string } |
@@ -505,43 +636,43 @@
}


-# ##############################################################
-# Event type is a simple text element used to describe the
-# characteristic or event of the data.
-#
-# Example:
-#
-# &lt;nmwg:eventType xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- TEXT --&gt;
-#
-# &lt;/nmwg:eventType&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Event type is a simple text element used to describe
the</font>
+<font color=red># characteristic or event of the data.</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:eventType
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TEXT --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwg:eventType&gt;</font>
+<font color=red># </font>
+<font color=red>#
############################################################## </font>

-EventType =
- element nmwg:eventType { xsd:string }
+<font color=orange>EventType =</font>
+ <font color=green>element</font> <font
color=blue>nmwg:eventType</font> { xsd:string }


-# ##############################################################
-# The key is used to return a 'pointer' or otherwise special piece
-# of identifying information in response to a request. For now,
-# this information is enclosed only within a parameters block.
-# The optional ID can be used to track past searches.
-#
-# Example:
-#
-# &lt;nmwg:key id="OPTIONAL_ID"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- OPTIONAL PARAMETERS --&gt;
-#
-# &lt;/nmwg:key&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># The key is used to return a 'pointer' or otherwise special
piece</font>
+<font color=red># of identifying information in response to a request. For
now, </font>
+<font color=red># this information is enclosed only within a parameters
block.</font>
+<font color=red># The optional ID can be used to track past searches.</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:key id="OPTIONAL_ID" </font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OPTIONAL PARAMETERS --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwg:key&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-Key =
- element nmwg:key {
+<font color=orange>Key = </font>
+ <font color=green>element</font> <font color=blue>nmwg:key</font> {
Identifier? &amp;
(
Parameters |
@@ -550,43 +681,43 @@
}


-# ##############################################################
-# The data block is complex and has the potential to contain
-# many things. The data block can be used to return a metadata
-# block from a request, commonTime or datum elements, keys,
-# or something that we have perhaps not defined as of yet.
-#
-# Example:
-#
-# &lt;nmwg:data id="REQUIRED_ID"
-# metadataIdRef="OPTIONAL_REFERENCE_ID"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- OPTIONAL (MULTIPLE) METADATA --&gt;
-#
-# &lt;!-- OR --&gt;
-#
-# &lt;!-- TBD OPTIONAL (MULTIPLE) COMMON TIME ELEMENTS AND
-# OPTIONAL (MULTIPLE) DATUM ELEMENTS--&gt;
-#
-# &lt;!-- OR --&gt;
-#
-# &lt;!-- TBD OPTIONAL (MULTIPLE) DATUM ELEMENTS --&gt;
-#
-# &lt;!-- OR --&gt;
-#
-# &lt;!-- OPTIONAL (MULTIPLE) KEY ELEMENTS --&gt;
-#
-# &lt;!-- OR --&gt;
-#
-# &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE --&gt;
-#
-# &lt;/nmwg:data&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># The data block is complex and has the potential to
contain</font>
+<font color=red># many things. The data block can be used to return a
metadata</font>
+<font color=red># block from a request, commonTime or datum elements,
keys,</font>
+<font color=red># or something that we have perhaps not defined as of yet.
</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:data id="REQUIRED_ID" </font>
+<font color=red># metadataIdRef="OPTIONAL_REFERENCE_ID" </font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OPTIONAL (MULTIPLE) METADATA --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OR --&gt;</font>
+<font color=red>#</font>
+<font color=red># &lt;!-- TBD OPTIONAL (MULTIPLE) COMMON TIME ELEMENTS AND
</font>
+<font color=red># OPTIONAL (MULTIPLE) DATUM ELEMENTS--&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OR --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL (MULTIPLE) DATUM ELEMENTS
--&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OR --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OPTIONAL (MULTIPLE) KEY ELEMENTS --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OR --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE
--&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwg:data&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-Data =
- element nmwg:data {
+<font color=orange>Data =</font>
+ <font color=green>element</font> <font color=blue>nmwg:data</font> {
(
Identifier &amp;
MetadataIdentifierRef? &amp;
@@ -603,40 +734,35 @@
anyElement*
}

-# ##############################################################
-# CommonTime is used as a shortcut that is able to 'factor out'
-# a frequently occurring time range that a group of datum (or
-# other) elements might share, thus reducing the verbosity of the
-# XML representation. CommonTime is similar to the other NMWG time
-# stamps (from nmtime.rnc) in its potential time representations.
-#
-# It is unfortunate that it needs to be in this file and not
-# nmtime.rnc, but as it occurs outside the datum, it is here.
-#
-# Example:
-#
-# &lt;nmwg:commonTime type="REQUIRED_TYPE" value="OPTIONAL_VALUE"
-# duration="OPTIONAL_DURATION"
-# inclusive="OPTIONAL_INCLUSIVE_FLAG"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- TBD OPTIONAL START TIME ELEMENT (USE END TIME OR
-# DURATION) --&gt;
-#
-# &lt;!-- TBD OPTIONAL END TIME ELEMENT (ONLY WITH START TIME) --&gt;
-#
-# &lt;!-- TBD OPTIONAL TIME VALUE ELEMENT (USE IF NO VALUE
-# ATTRIBUTE) --&gt;
-#
-# &lt;!-- TBD OPTIONAL (MULTIPLE) DATUM ELEMENTS --&gt;
-#
-# &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE --&gt;
-# &lt;/nmwg:commonTime&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># CommonTime is used as a shortcut that is able to 'factor
out' </font>
+<font color=red># a frequently occurring time range that a bunch of datum
(or </font>
+<font color=red># other) elements might share, thus reducing complexity of
XML </font>
+<font color=red># representation. CommonTime is similar to the other NMWG
time </font>
+<font color=red># stamps (from nmtime.rnc) in its potential time
representations.</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:commonTime type="REQUIRED_TYPE"
value="OPTIONAL_VALUE"</font>
+<font color=red># duration="OPTIONAL_DURATION" </font>
+<font color=red># inclusive="OPTIONAL_INCLUSIVE_FLAG"</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL START TIME ELEMENT (USE END TIME OR
DURATION) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL END TIME ELEMENT (ONLY WITH START
TIME) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL TIME VALUE ELEMENT (USE IF NO VALUE
ATTRIBUTE) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL (MULTIPLE) DATUM ELEMENTS
--&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE
--&gt;</font>
+<font color=red># &lt;/nmwg:commonTime&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-commonTime =
- element nmwg:commonTime {
+<font color=orange>commonTime = </font>
+ <font color=green>element</font> <font
color=blue>nmwg:commonTime</font> {
(
Type &amp;
(
@@ -655,60 +781,60 @@
}


-# ##############################################################
-# The datum is meant to be generic in this case because specific
-# namespace declarations should be used to better define what
-# format that datum should have.
-#
-# Example:
-#
-# &lt;nmwg:datum ANY_ATTRIBUTE
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- ANY ELEMENT IN ANY NAMESPACE OR ANY TEXT --&gt;
-#
-# &lt;/nmwg:datum&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># The datum is meant to be generic in this case because
specific</font>
+<font color=red># namespace declarations should be used to better define
what</font>
+<font color=red># format that datum should have.</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:datum ANY_ATTRIBUTE</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- ANY ELEMENT IN ANY NAMESPACE OR ANY TEXT
--&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwg:datum&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-Datum =
- element nmwg:datum {
+<font color=orange>Datum =</font>
+ <font color=green>element</font> <font color=blue>nmwg:datum</font>
{
anyThing
}


-# ##############################################################
-# Common elements are defined as named patterns as they are re-
-# used several times.
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Common elements are defined as named patterns as they are
re- </font>
+<font color=red># used several times.</font>
+<font color=red>#
##############################################################</font>

-Identifier =
+<font color=orange>Identifier =</font>
attribute id { xsd:string }

-MetadataIdentifierRef =
+<font color=orange>MetadataIdentifierRef =</font>
attribute metadataIdRef { xsd:string }

-MessageIdentifierRef =
+<font color=orange>MessageIdentifierRef =</font>
attribute messageIdRef { xsd:string }

-Type =
+<font color=orange>Type = </font>
attribute type { xsd:string }


-# ##############################################################
-# This sequence allows any element, attribute, or text (regardless
-# of name or namespace) into the document when invoked.
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># This sequence allows any element, attribute, or text
(regardless </font>
+<font color=red># of name or namespace) into the document when
invoked.</font>
+<font color=red>#
##############################################################</font>

-anyElement =
- element * {
+<font color=orange>anyElement = </font>
+ <font color=green>element</font> <font color=blue>*</font> {
anyThing
}

-anyAttribute =
+<font color=orange>anyAttribute = </font>
attribute * { text }

-anyThing =
+<font color=orange>anyThing = </font>
(
anyElement |
anyAttribute |
@@ -716,71 +842,79 @@
)*


-# ##############################################################
-# This sequence allows any element, attribute, or text (only in the
-# NMWG namespace) into the document when invoked.
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># This sequence allows any element, attribute, or text (only
in the </font>
+<font color=red># NMWG namespace) into the document when invoked.</font>
+<font color=red>#
##############################################################</font>

-anyNMWGElement =
- element nmwg:* {
+<font color=orange>anyNMWGElement = </font>
+ <font color=green>element</font> <font color=blue>nmwg:*</font> {
anyNMWGThing
}

-anyNMWGAttribute =
+<font color=orange>anyNMWGAttribute = </font>
attribute * { text }

-anyNMWGThing =
+<font color=orange>anyNMWGThing = </font>
(
anyNMWGElement |
anyNMWGAttribute |
text
)*
- </pre> </p><hr class="noprint"><h1 id="rfc.section.10"
class="np"><a href="#rfc.section.10">10.</a>&nbsp;Time Schema</h1><p
id="rfc.section.10.p.1"> <pre>
-# ##############################################################
-#
-# File: nmtime.rnc - NMWG Time definitions
-# Version: $Id: nmtime.rnc 225 2007-05-02 18:16:45Z zurawski $
-# Purpose: This describes a set of time formats for
-# representing measurements.
-#
-# ##############################################################
+ </pre>
+</p>
+<hr class="noprint">
+<h1 id="rfc.section.10" class="np">
+<a href="#rfc.section.10">10.</a>&nbsp;Time Schema</h1>
+<p id="rfc.section.10.p.1">
+<pre>
+<font color=red>#
##############################################################</font>
+<font color=red># </font>
+<font color=red># File: nmtime.rnc - NMWG Time definitions</font>
+<font color=red># Version: $Id: nmtime.rnc 225 2007-05-02 18:16:45Z
zurawski $</font>
+<font color=red># Purpose: This describes a general time format for
</font>
+<font color=red># representing measurements. It is far from
complete, </font>
+<font color=red># and may be best represented by other
methods.</font>
+<font color=red># Reference:
http://books.xmlschemata.org/relaxng/page2.html</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>


-# ##############################################################
-# Namespace definitions
-# ##############################################################
-namespace nmtm = "http://ggf.org/ns/nmwg/time/2.0/";
+<font color=red>#
##############################################################</font>
+<font color=red># Namespace definitions</font>
+<font color=red>#
##############################################################</font>
+<font color=orange>namespace nmtm = "http://ggf.org/ns/nmwg/time/2.0/";</font>


-# ##############################################################
-# Regular time is attached to a specific datum instance; it is
-# essentially the same as before, but cannot have anything
-# 'inside' of it. The type can be simple, like UNIX, or it
-# could be something like timeRange or timeInterval. If this is
-# the case, we would then see the two extra time designators for
-# the start and end (or duration)
-#
-# Example:
-#
-# &lt;nmtm:time type="REQUIRED_TYPE" value="OPTIONAL_VALUE"
-# duration="OPTIONAL_DURATION"
-# inclusive="OPTIONAL_INCLUSIVE_FLAG"
-# xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/"&gt;
-#
-# &lt;!-- TBD OPTIONAL START TIME ELEMENT (USE END TIME OR
-# DURATION) --&gt;
-#
-# &lt;!-- TBD OPTIONAL END TIME ELEMENT (ONLY WITH START TIME) --&gt;
-#
-# &lt;!-- TBD OPTIONAL TIME VALUE ELEMENT (USE IF NO VALUE
-# ATTRIBUTE) --&gt;
-#
-# &lt;/nmtm:time&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Regular time is attached to a specific datum instance; it
is</font>
+<font color=red># essentially the same as before, but cannot have
anything</font>
+<font color=red># 'inside' of it. The type can be simple, like UNIX, or
it</font>
+<font color=red># could be something like timeRange or timeInterval. If this
is</font>
+<font color=red># the case, we would then see the two extra time designators
for</font>
+<font color=red># the start and end (or duration)</font>
+<font color=red># </font>
+<font color=red># Example:</font>
+<font color=red># </font>
+<font color=red># &lt;nmtm:time type="REQUIRED_TYPE"
value="OPTIONAL_VALUE"</font>
+<font color=red># duration="OPTIONAL_DURATION" </font>
+<font color=red># inclusive="OPTIONAL_INCLUSIVE_FLAG"</font>
+<font color=red>#
xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL START TIME ELEMENT (USE END TIME OR
</font>
+<font color=red># DURATION) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL END TIME ELEMENT (ONLY WITH START
TIME) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL TIME VALUE ELEMENT (USE IF NO VALUE
</font>
+<font color=red># ATTRIBUTE) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmtm:time&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-Time =
- element nmtm:time {
+<font color=orange>Time = </font>
+ <font color=green>element</font> <font color=blue>nmtm:time</font> {
attribute type { xsd:string } &amp;
(
TimeStamp |
@@ -794,95 +928,105 @@
)
}

-TimeStamp =
+<font color=orange>TimeStamp = </font>
(
attribute value { xsd:string } |
- element nmtm:value { xsd:string }
+ <font color=green>element</font> <font
color=blue>nmtm:value</font> { xsd:string }
)

-Duration =
+<font color=orange>Duration =</font>
attribute duration { xsd:string }

-TimeContent =
+<font color=orange>TimeContent = </font>
attribute type { text } &amp;
attribute inclusive { text }? &amp;
TimeStamp

-StartTime =
- element nmtm:start {
+<font color=orange>StartTime = </font>
+ <font color=green>element</font> <font color=blue>nmtm:start</font>
{
TimeContent
}

-EndTime =
- element nmtm:end {
+<font color=orange>EndTime = </font>
+ <font color=green>element</font> <font color=blue>nmtm:end</font> {
TimeContent
}
- </pre> </p><hr class="noprint"><h1 id="rfc.section.11"
class="np"><a href="#rfc.section.11">11.</a>&nbsp;Topology Schema</h1><p
id="rfc.section.11.p.1"> <pre>
-# ##############################################################
-#
-# File: nmtopo.rnc - Schema to describe topological
-# elements.
-# Version: $Id: nmtopo.rnc 209 2007-02-15 17:20:25Z zurawski $
-#
-# ##############################################################
+ </pre>
+</p>
+<hr class="noprint">
+<h1 id="rfc.section.11" class="np">
+<a href="#rfc.section.11">11.</a>&nbsp;Topology Schema</h1>
+<p id="rfc.section.11.p.1">
+<pre>
+<font color=red>#
##############################################################</font>
+<font color=red># </font>
+<font color=red># File: nmtopo.rnc - Schema to describe topological
</font>
+<font color=red># features to be used in subject
</font>
+<font color=red># elements.</font>
+<font color=red># Version: $Id: nmtopo.rnc 209 2007-02-15 17:20:25Z
zurawski $</font>
+<font color=red># Purpose: This file lays out some major network
topologies</font>
+<font color=red># used in measurement. </font>
+<font color=red># Reference:
http://books.xmlschemata.org/relaxng/page2.html</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>


-# ##############################################################
-# Namespace definitions
-# ##############################################################
-namespace nmwgtopo = "http://ggf.org/ns/nmwg/topology/2.0/";
+<font color=red>#
##############################################################</font>
+<font color=red># Namespace definitions</font>
+<font color=red>#
##############################################################</font>
+<font color=orange>namespace nmwgtopo =
"http://ggf.org/ns/nmwg/topology/2.0/";</font>


-# ##############################################################
-# Covers the basic point to point measurement situation. The two
-# points are a source and destination; may contain information
-# such as hostname or ip address, and port number when applicable.
-#
-# Example:
-#
-# &lt;nmwgtopo:endPointPair
-# xmlns:nmwgtopo="http://ggf.org/ns/nmwg/topology/2.0/"&gt;
-#
-# &lt;nmwgtopo:src type="REQUIRED_TYPE" value="REQUIRED_VALUE"
-# port="OPTIONAL_PORT"/&gt;
-#
-# &lt;nmwgtopo:dst type="REQUIRED_TYPE" value="REQUIRED_VALUE"
-# port="OPTIONAL_PORT"/&gt;
-#
-# &lt;/nmwgtopo:endPointPair&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Covers the basic point to point measurement situation.
The two </font>
+<font color=red># points are a source and destination; may contain
information </font>
+<font color=red># such as hostname or ip address, and port number when
applicable.</font>
+<font color=red># </font>
+<font color=red># Example:</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:endPointPair </font>
+<font color=red>#
xmlns:nmwgtopo="http://ggf.org/ns/nmwg/topology/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:src type="REQUIRED_TYPE"
value="REQUIRED_VALUE" </font>
+<font color=red># port="OPTIONAL_PORT"/&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:dst type="REQUIRED_TYPE"
value="REQUIRED_VALUE" </font>
+<font color=red># port="OPTIONAL_PORT"/&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwgtopo:endPointPair&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-EndpointPair =
- element nmwgtopo:endPointPair {
+<font color=orange>EndpointPair = </font>
+ <font color=green>element</font> <font
color=blue>nmwgtopo:endPointPair</font> {
EndpointPairContent
}

-EndpointPairContent =
- element nmwgtopo:src {
+<font color=orange>EndpointPairContent =</font>
+ <font color=green>element</font> <font
color=blue>nmwgtopo:src</font> {
EndpointContent
} &amp;
- element nmwgtopo:dst {
+ <font color=green>element</font> <font
color=blue>nmwgtopo:dst</font> {
EndpointContent
}


-# ##############################################################
-# Similar to above, from one point only.
-#
-# Example:
-#
-# &lt;nmwgtopo:endPoint type="REQUIRED_TYPE" value="REQUIRED_VALUE"
-# port="OPTIONAL_PORT"/&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Similar to above, from one point only.</font>
+<font color=red># </font>
+<font color=red># Example:</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:endPoint type="REQUIRED_TYPE"
value="REQUIRED_VALUE" </font>
+<font color=red># port="OPTIONAL_PORT"/&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-Endpoint =
- element nmwgtopo:endPoint {
+<font color=orange>Endpoint = </font>
+ <font color=green>element</font> <font
color=blue>nmwgtopo:endPoint</font> {
EndpointContent
}

-EndpointContent =
+<font color=orange>EndpointContent = </font>
(
attribute value { xsd:string } |
text
@@ -891,125 +1035,160 @@
attribute port { xsd:string }?


-# ##############################################################
-# When looking at network utilization numbers (from a router or
-# related software) there is a different set of applicable
-# information
-#
-# Example:
-#
-# &lt;nmwgtopo:interface
xmlns:nmwgtopo="http://ggf.org/ns/nmwg/topology/2.0/"&gt;
-#
-# &lt;nmwgtopo:ipAddress type='REQUIRED_TYPE'&gt; TEXT
&lt;/nmwgtopo:ipAddress&gt;
-#
-# &lt;nmwgtopo:hostName&gt; TEXT &lt;/nmwgtopo:hostName&gt;
-#
-# &lt;nmwgtopo:ifName&gt; TEXT &lt;/nmwgtopo:ifName&gt;
-#
-# &lt;nmwgtopo:ifDescription&gt; TEXT &lt;/nmwgtopo:ifDescription&gt;
-#
-# &lt;nmwgtopo:ifAddress type='REQUIRED_TYPE'&gt; TEXT
&lt;/nmwgtopo:ifAddress&gt;
-#
-# &lt;nmwgtopo:ifHostName&gt; TEXT &lt;/nmwgtopo:ifHostName&gt;
-#
-# &lt;nmwgtopo:ifIndex&gt; TEXT &lt;/nmwgtopo:ifIndex&gt;
-#
-# &lt;nmwgtopo:type&gt; TEXT &lt;/nmwgtopo:type&gt;
-#
-# &lt;nmwgtopo:direction&gt; TEXT &lt;/nmwgtopo:direction&gt;
-#
-# &lt;nmwgtopo:authRealm&gt; TEXT &lt;/nmwgtopo:authRealm&gt;
-#
-# &lt;nmwgtopo:classOfService&gt; TEXT &lt;/nmwgtopo:classOfService&gt;
-#
-# &lt;nmwgtopo:capacity&gt; TEXT &lt;/nmwgtopo:capacity&gt;
-#
-# &lt;/nmwgtopo:interface&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># When looking at network utilization numbers (from a router
or </font>
+<font color=red># related software) there is a different set of applicable
</font>
+<font color=red># information</font>
+<font color=red># </font>
+<font color=red># Example:</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:interface
xmlns:nmwgtopo="http://ggf.org/ns/nmwg/topology/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:ipAddress type='REQUIRED_TYPE'&gt; TEXT
&lt;/nmwgtopo:ipAddress&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:hostName&gt; TEXT
&lt;/nmwgtopo:hostName&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:ifName&gt; TEXT
&lt;/nmwgtopo:ifName&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:ifDescription&gt; TEXT
&lt;/nmwgtopo:ifDescription&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:ifAddress type='REQUIRED_TYPE'&gt; TEXT
&lt;/nmwgtopo:ifAddress&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:ifHostName&gt; TEXT
&lt;/nmwgtopo:ifHostName&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:ifIndex&gt; TEXT
&lt;/nmwgtopo:ifIndex&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:type&gt; TEXT &lt;/nmwgtopo:type&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:direction&gt; TEXT
&lt;/nmwgtopo:direction&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:authRealm&gt; TEXT
&lt;/nmwgtopo:authRealm&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:classOfService&gt; TEXT
&lt;/nmwgtopo:classOfService&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:capacity&gt; TEXT
&lt;/nmwgtopo:capacity&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwgtopo:interface&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-Interface =
- element nmwgtopo:interface {
+<font color=orange>Interface = </font>
+ <font color=green>element</font> <font
color=blue>nmwgtopo:interface</font> {
InterfaceContent
}

-InterfaceContent =
- element nmwgtopo:ipAddress {
+<font color=orange>InterfaceContent = </font>
+ <font color=green>element</font> <font
color=blue>nmwgtopo:ipAddress</font> {
Address
}? &amp;
- element nmwgtopo:hostName { xsd:string }? &amp;
- element nmwgtopo:ifName { xsd:string }? &amp;
- element nmwgtopo:ifDescription { xsd:string }? &amp;
- element nmwgtopo:ifAddress {
+ <font color=green>element</font> <font
color=blue>nmwgtopo:hostName</font> { xsd:string }? &amp;
+ <font color=green>element</font> <font
color=blue>nmwgtopo:ifName</font> { xsd:string }? &amp;
+ <font color=green>element</font> <font
color=blue>nmwgtopo:ifDescription</font> { xsd:string }? &amp;
+ <font color=green>element</font> <font
color=blue>nmwgtopo:ifAddress</font> {
Address
}? &amp;
- element nmwgtopo:ifHostName { xsd:string }? &amp;
- element nmwgtopo:ifIndex { xsd:string }? &amp;
- element nmwgtopo:type { xsd:string }? &amp;
- element nmwgtopo:direction { xsd:string }? &amp;
- element nmwgtopo:authRealm { xsd:string }? &amp;
- element nmwgtopo:classOfService { xsd:string }? &amp;
- element nmwgtopo:capacity { xsd:string }?
+ <font color=green>element</font> <font
color=blue>nmwgtopo:ifHostName</font> { xsd:string }? &amp;
+ <font color=green>element</font> <font
color=blue>nmwgtopo:ifIndex</font> { xsd:string }? &amp;
+ <font color=green>element</font> <font
color=blue>nmwgtopo:type</font> { xsd:string }? &amp;
+ <font color=green>element</font> <font
color=blue>nmwgtopo:direction</font> { xsd:string }? &amp;
+ <font color=green>element</font> <font
color=blue>nmwgtopo:authRealm</font> { xsd:string }? &amp;
+ <font color=green>element</font> <font
color=blue>nmwgtopo:classOfService</font> { xsd:string }? &amp;
+ <font color=green>element</font> <font
color=blue>nmwgtopo:capacity</font> { xsd:string }?

-Address =
+<font color=orange>Address = </font>
(
attribute value { xsd:string } |
text
) &amp;
attribute type { xsd:string }

- </pre> </p><hr class="noprint"><h1 id="rfc.section.12"
class="np"><a href="#rfc.section.12">12.</a>&nbsp;Examples</h1><p
id="rfc.section.12.p.1">This section includes examples of network
measurements rendered in our schema. These examples are not intended to be
normative, although at this time of this writing, they are in use.</p><h2
id="rfc.section.12.1"><a href="#rfc.section.12.1">12.1</a>&nbsp;Schema for
ping</h2><p id="rfc.section.12.1.p.1"> <pre>
+ </pre>
+</p>
+<hr class="noprint">
+<h1 id="rfc.section.12" class="np">
+<a href="#rfc.section.12">12.</a>&nbsp;Examples</h1>
+<p id="rfc.section.12.p.1">This section includes examples of network
measurements rendered in our schema. These examples are not intended to be
normative, although at this time of this writing, they are in use.</p>
+<h2 id="rfc.section.12.1">
+<a href="#rfc.section.12.1">12.1</a>&nbsp;Schema for ping</h2>
+<p id="rfc.section.12.1.p.1">
+<pre>

-# ##############################################################
-#
-# File: ping.rnc - Specialized schema for the ping
-# tool
-# Version: $Id: ping.rnc 205 2007-02-05 17:33:00Z zurawski $
-# Purpose: Defines elements to be used in the representation
-# of ping measurements.
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># </font>
+<font color=red># File: ping.rnc - Specialized schema for the ping
</font>
+<font color=red># tool</font>
+<font color=red># Version: $Id: ping.rnc 205 2007-02-05 17:33:00Z
zurawski $</font>
+<font color=red># Purpose: Describes specific elements to be used in
the</font>
+<font color=red># representation and handling of ping</font>
+<font color=red># measurements.</font>
+<font color=red># Reference:
http://books.xmlschemata.org/relaxng/page2.html</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>


-# ##############################################################
-# Namespace definitions
-# ##############################################################
-namespace nmwg = "http://ggf.org/ns/nmwg/base/2.0/";
-namespace ping = "http://ggf.org/ns/nmwg/tools/ping/2.0/";
-namespace nmwgr = "http://ggf.org/ns/nmwg/result/2.0/";
+<font color=red>#
##############################################################</font>
+<font color=red># Namespace definitions</font>
+<font color=red>#
##############################################################</font>
+<font color=orange>namespace nmwg = "http://ggf.org/ns/nmwg/base/2.0/";</font>
+<font color=orange>namespace ping =
"http://ggf.org/ns/nmwg/tools/ping/2.0/";</font>
+<font color=orange>namespace nmwgr =
"http://ggf.org/ns/nmwg/result/2.0/";</font>


-# ##############################################################
-# Include additional functionality from other files
-# ##############################################################
-include "nmtopo.rnc"
-include "nmtopo_ver3.rnc"
-include "result.rnc"
-include "nmbase.rnc" {
- Metadata |= PingMetadata
- Data |= PingData
+<font color=red>#
##############################################################</font>
+<font color=red># Include additional functionality from other files</font>
+<font color=red>#
##############################################################</font>
+<font color=green>include</font> "nmtopo.rnc"
+<font color=green>include</font> "nmtopo_ver3.rnc"
+<font color=green>include</font> "result.rnc"
+<font color=green>include</font> "nmbase.rnc" {
+<font color=orange> Metadata |= PingMetadata</font>
+<font color=orange> Data |= PingData </font>
}


-# ##############################################################
-# Metadata
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Metadata is the 'data' that describes physical
measurements. </font>
+<font color=red># Metadata can be something such as a physical address, or
</font>
+<font color=red># a geographical location; any form of static, re-usable
</font>
+<font color=red># designation. It is important to note that the
subject</font>
+<font color=red># namespace and parameters namespace MUST match (or the
parameters</font>
+<font color=red># can be a generic NMWG) or bad things will occur.</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:metadata id="REQUIRED_ID" </font>
+<font color=red># metadataIdRef="OPTIONAL_REFERENCE_ID"</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL SUBJECT --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL PARAMETERS --&gt;</font>
+<font color=red>#</font>
+<font color=red># &lt;!-- TBD OPTIONAL EVENTTYPE --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL KEY --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE
--&gt; </font>
+<font color=red>#</font>
+<font color=red># &lt;/nmwg:metadata&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-PingMetadata =
- element nmwg:metadata {
+<font color=orange>PingMetadata = </font>
+ <font color=green>element</font> <font
color=blue>nmwg:metadata</font> {
Identifier &amp;
MetadataIdentifierRef? &amp;
PingMetadataContent
}

-PingMetadataBlock =
+<font color=orange>PingMetadataBlock = </font>
PingSubject? &amp;
(
PingParameters |
Parameters
)?

-PingMetadataContent =
+<font color=orange>PingMetadataContent = </font>
(
PingMetadataBlock |
FilterMetadataBlock
@@ -1018,32 +1197,32 @@
Key?


-# ##############################################################
-# Redefined ping subject allows only an endPointPair, and the
-# two id attributes.
-#
-# Example:
-#
-# &lt;ping:subject id="REQUIRED_ID"
-# metadataIdRef="OPTIONAL_REFERENCE_ID"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/tools/ping/2.0/"&gt;
-#
-# &lt;nmwgtopo:endPointPair
xmlns:nmwgtopo="http://ggf.org/ns/nmwg/topology/2.0/"&gt;
-#
-# &lt;nmwgtopo:src type="REQUIRED_TYPE" value="REQUIRED_VALUE"
-# port="OPTIONAL_PORT"/&gt;
-#
-# &lt;nmwgtopo:dst type="REQUIRED_TYPE" value="REQUIRED_VALUE"
-# port="OPTIONAL_PORT"/&gt;
-#
-# &lt;/nmwgtopo:endPointPair&gt;
-#
-# &lt;/ping:subject&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># Redefined ping subject allows only an endPointPair, and
the</font>
+<font color=red># two id attributes. </font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;ping:subject id="REQUIRED_ID" </font>
+<font color=red># metadataIdRef="OPTIONAL_REFERENCE_ID"</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/tools/ping/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:endPointPair
xmlns:nmwgtopo="http://ggf.org/ns/nmwg/topology/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:src type="REQUIRED_TYPE"
value="REQUIRED_VALUE" </font>
+<font color=red># port="OPTIONAL_PORT"/&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwgtopo:dst type="REQUIRED_TYPE"
value="REQUIRED_VALUE" </font>
+<font color=red># port="OPTIONAL_PORT"/&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwgtopo:endPointPair&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/ping:subject&gt;</font>
+<font color=red>#</font>
+<font color=red>#
##############################################################</font>

-PingSubject =
- element ping:subject {
+<font color=orange>PingSubject =</font>
+ <font color=green>element</font> <font
color=blue>ping:subject</font> {
Identifier &amp;
MetadataIdentifierRef? &amp;
(
@@ -1053,37 +1232,37 @@
}


-# ##############################################################
-# This is simply the regular method of doing parameters with an
-# enumeration to limit what 'names' are accepted and an outer
-# ping: namespace for the parameters.
-#
-# Example:
-#
-# &lt;ping:parameters id="REQUIRED_ID"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/tools/ping/2.0/"&gt;
-#
-# &lt;nmwg:parameter name="REQUIRED_ENUM_NAME" value="OPTIONAL_VALUE"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- ANY TEXT, (IF YOU DID NOT USE THE VALUE ATTRIBUTE) --&gt;
-#
-# &lt;/nmwg:parameter&gt;
-#
-# &lt;!-- MORE PARAMETERS --&gt;
-#
-# &lt;/ping:parameters&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># This is simply the regular method of doing parameters with
an</font>
+<font color=red># enumeration to limit what 'names' are accepted and an
outer</font>
+<font color=red># ping: namespace for the parameters.</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;ping:parameters id="REQUIRED_ID" </font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/tools/ping/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:parameter name="REQUIRED_ENUM_NAME"
value="OPTIONAL_VALUE"</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- ANY TEXT, (IF YOU DID NOT USE THE VALUE
ATTRIBUTE) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwg:parameter&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- MORE PARAMETERS --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/ping:parameters&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-PingParameters =
- element ping:parameters {
+<font color=orange>PingParameters =</font>
+ <font color=green>element</font> <font
color=blue>ping:parameters</font> {
Identifier &amp;
PingParameter+
}

-PingParameter =
- element nmwg:parameter {
+<font color=orange>PingParameter = </font>
+ <font color=green>element</font> <font
color=blue>nmwg:parameter</font> {
attribute name { "count" | "interval" | "deadline" |
"packetSize" | "ttl" | "arguments" |
"valueUnits" | "numBytes" |
@@ -1095,43 +1274,43 @@
}


-# ##############################################################
-# The data block is complex, and has the potential to contain
-# many things. The data block can be used to return a metadata
-# block from a request, commonTime or datum elements, keys,
-# or something that we have perhaps not defined as of yet.
-#
-# Example:
-#
-# &lt;nmwg:data id="REQUIRED_ID"
-# metadataIdRef="OPTIONAL_REFERENCE_ID"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;
-#
-# &lt;!-- OPTIONAL (MULTIPLE) METADATA --&gt;
-#
-# &lt;!-- OR --&gt;
-#
-# &lt;!-- TBD OPTIONAL (MULTIPLE) COMMON TIME ELEMENTS AND
-# OPTIONAL (MULTIPLE) DATUM ELEMENTS--&gt;
-#
-# &lt;!-- OR --&gt;
-#
-# &lt;!-- TBD OPTIONAL (MULTIPLE) DATUM ELEMENTS --&gt;
-#
-# &lt;!-- OR --&gt;
-#
-# &lt;!-- OPTIONAL (MULTIPLE) KEY ELEMENTS --&gt;
-#
-# &lt;!-- OR --&gt;
-#
-# &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE --&gt;
-#
-# &lt;/nmwg:data&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># The data block is complex, and has the potential to
contain</font>
+<font color=red># many things. The data block can be used to return a
metadata</font>
+<font color=red># block from a request, commonTime or datum elements, keys,
</font>
+<font color=red># or something that we have perhaps not defined as of yet.
</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:data id="REQUIRED_ID" </font>
+<font color=red># metadataIdRef="OPTIONAL_REFERENCE_ID" </font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OPTIONAL (MULTIPLE) METADATA --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OR --&gt;</font>
+<font color=red>#</font>
+<font color=red># &lt;!-- TBD OPTIONAL (MULTIPLE) COMMON TIME ELEMENTS AND
</font>
+<font color=red># OPTIONAL (MULTIPLE) DATUM ELEMENTS--&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OR --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL (MULTIPLE) DATUM ELEMENTS
--&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OR --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OPTIONAL (MULTIPLE) KEY ELEMENTS --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- OR --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE
--&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/nmwg:data&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-PingData =
- element nmwg:data {
+<font color=orange>PingData =</font>
+ <font color=green>element</font> <font color=blue>nmwg:data</font> {
Identifier &amp;
MetadataIdentifierRef? &amp;
(
@@ -1155,12 +1334,35 @@
}


-# ##############################################################
-# CommonTime
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># CommonTime is used a a shortcut able to 'factor out' a
frequently</font>
+<font color=red># occurring time range that a bunch of datum (or other)
elements</font>
+<font color=red># might share, thus reducing complexity of XML
representation. </font>
+<font color=red># CommonTime is similar to the other NMWG time stamps (from
</font>
+<font color=red># nmtime.rnc) in its potential time representations.</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;nmwg:commonTime type="REQUIRED_TYPE"
value="OPTIONAL_VALUE"</font>
+<font color=red># duration="OPTIONAL_DURATION" </font>
+<font color=red># inclusive="OPTIONAL_INCLUSIVE_FLAG"</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL START TIME ELEMENT (USE END TIME OR
DURATION) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL END TIME ELEMENT (ONLY WITH START
TIME) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL TIME VALUE ELEMENT (USE IF NO VALUE
ATTRIBUTE) --&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TBD OPTIONAL (MULTIPLE) DATUM ELEMENTS
--&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- ANY OPTIONAL (MULTIPLE) ELEMENT IN ANY NAMESPACE
--&gt;</font>
+<font color=red># &lt;/nmwg:commonTime&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-PingCommonTime =
- element nmwg:commonTime {
+<font color=orange>PingCommonTime = </font>
+ <font color=green>element</font> <font
color=blue>nmwg:commonTime</font> {
Type &amp;
(
TimeStamp |
@@ -1179,30 +1381,30 @@
}


-# ##############################################################
-# These are the basic elements we would expect to see in the
-# specific ping datum.
-#
-# Example:
-#
-# &lt;ping:datum value="REQUIRED_VALUE"
-# valueUnits="OPTIONAL_VALUE_UNITS"
-# numBytes="OPTIONAL_NUM_BYTES"
-# numBytesUnits="OPTIONAL_NUM_BYTES_UNITS"
-# seqNum="OPTIONAL_SEQ_NUM"
-# ttl="OPTIONAL_TTL"
-# timeType="OPTIONAL_TIME_TYPE"
-# timeValue="OPTIONAL_TIME_VALUE"
-# xmlns:nmwg="http://ggf.org/ns/nmwg/tools/ping/2.0/"&gt;
-#
-# &lt;!-- TIME ELEMENT (IF ATTRIBUTES NOT USED) --&gt;
-#
-# &lt;/ping:datum&gt;
-#
-# ##############################################################
+<font color=red>#
##############################################################</font>
+<font color=red># These are the basic elements we would expect to see in the
</font>
+<font color=red># specific ping datum.</font>
+<font color=red>#</font>
+<font color=red># Example: </font>
+<font color=red># </font>
+<font color=red># &lt;ping:datum value="REQUIRED_VALUE"</font>
+<font color=red># valueUnits="OPTIONAL_VALUE_UNITS"</font>
+<font color=red># numBytes="OPTIONAL_NUM_BYTES"</font>
+<font color=red>#
numBytesUnits="OPTIONAL_NUM_BYTES_UNITS"</font>
+<font color=red># seqNum="OPTIONAL_SEQ_NUM"</font>
+<font color=red># ttl="OPTIONAL_TTL"</font>
+<font color=red># timeType="OPTIONAL_TIME_TYPE"</font>
+<font color=red># timeValue="OPTIONAL_TIME_VALUE"</font>
+<font color=red>#
xmlns:nmwg="http://ggf.org/ns/nmwg/tools/ping/2.0/"&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;!-- TIME ELEMENT (IF ATTRIBUTES NOT USED)
--&gt;</font>
+<font color=red># </font>
+<font color=red># &lt;/ping:datum&gt;</font>
+<font color=red># </font>
+<font color=red>#
##############################################################</font>

-PingDatum =
- element ping:datum {
+<font color=orange>PingDatum =</font>
+ <font color=green>element</font> <font color=blue>ping:datum</font>
{
attribute value { xsd:float } &amp;
attribute valueUnits { xsd:string }? &amp;
attribute numBytes { xsd:int }? &amp;
@@ -1218,15 +1420,68 @@
)?
}

- </pre> </p><h2 id="rfc.section.12.2"><a
href="#rfc.section.12.2">12.2</a>&nbsp;Instance document for ping</h2><p
id="rfc.section.12.2.p.1"> <pre>



- </pre> </p><hr class="noprint"><h1 id="rfc.section.13"
class="np"><a href="#rfc.section.13">13.</a>&nbsp;Security Concerns</h1><p
id="rfc.section.13.p.1">There are important security concerns associated with
the generation and distribution of network measurement information. For
example, ISPs frequently consider network configuration and performance
information to be proprietary. Furthermore, observing traffic, and, in
particular, collecting packet headers, is frequently considered a violation
of the presumption of privacy on the network. Systems that collect the
measurements described here are sometimes regarded as invasive, and, indeed,
poorly designed or configured monitoring tools can consume a disproportionate
amount of network bandwidth. Port blocking, protocol blocking, and traffic
shaping can impact many measurement tools. Tools, such as traceroute, that
send UDP probes to increasing port numbers can appear to be port scans and
raise security alerts.</p><p id="rfc
.section.13.p.2">We do not address those concerns in this document, but
implementers are encouraged to consider the security implications of
generating and distributing measurement information. While distribution of
end-to-end application-level measurements is generally accepted, measurements
that identify individual users or consume noticeable amounts of resources
should be taken carefully, and the distribution of information to other sites
that cannot be obtained readily by other users at those sites should be
considered carefully.</p><hr class="noprint"><h1 id="rfc.section.14"
class="np"><a href="#rfc.section.14">14.</a>&nbsp;Appendices</h1><h2
id="rfc.section.14.1"><a
href="#rfc.section.14.1">14.1</a>&nbsp;Acknowledgements</h2><p
id="rfc.section.14.1.p.1">We gratefully acknowledge the contributions of:
Jeff Boote, Eric Boyd, Mark Leese, Dan Gunter, Richard Hughes-Jones and Jason
Zurawski and (who else??) the other members of the Network Measurements
Working Group.</p><h1
class="np" id="rfc.references"><a href="#rfc.section.15">15!
.</a> Re
ferences</h1><table summary="References" border="0" cellpadding="2"><tr><td
class="topnowrap"><b id="tridentcom">[1]</b></td><td class="top">Zurawski,
J., Swany, M., and D. Gunter, &#8220;A Scalable Framework for Representation
and Exchange of
+ </pre>
+</p>
+<h2 id="rfc.section.12.2">
+<a href="#rfc.section.12.2">12.2</a>&nbsp;Instance document for ping</h2>
+<p id="rfc.section.12.2.p.1">
+<pre>



+ </pre>
+</p>
+<hr class="noprint">
+<h1 id="rfc.section.13" class="np">
+<a href="#rfc.section.13">13.</a>&nbsp;Security Concerns</h1>
+<p id="rfc.section.13.p.1">There are important security concerns associated
with the generation and distribution of network measurement information. For
example, ISPs frequently consider network configuration and performance
information to be proprietary. Furthermore, observing traffic, and, in
particular, collecting packet headers, is frequently considered a violation
of the presumption of privacy on the network. Systems that collect the
measurements described here are sometimes regarded as invasive, and, indeed,
poorly designed or configured monitoring tools can consume a disproportionate
amount of network bandwidth. Port blocking, protocol blocking, and traffic
shaping can impact many measurement tools. Tools, such as traceroute, that
send UDP probes to increasing port numbers can appear to be port scans and
raise security alerts.</p>
+<p id="rfc.section.13.p.2">We do not address those concerns in this
document, but implementers are encouraged to consider the security
implications of generating and distributing measurement information. While
distribution of end-to-end application-level measurements is generally
accepted, measurements that identify individual users or consume noticeable
amounts of resources should be taken carefully, and the distribution of
information to other sites that cannot be obtained readily by other users at
those sites should be considered carefully.</p>
+<hr class="noprint">
+<h1 id="rfc.section.14" class="np">
+<a href="#rfc.section.14">14.</a>&nbsp;Appendices</h1>
+<h2 id="rfc.section.14.1">
+<a href="#rfc.section.14.1">14.1</a>&nbsp;Acknowledgements</h2>
+<p id="rfc.section.14.1.p.1">We gratefully acknowledge the contributions of:
Jeff Boote, Eric Boyd, Mark Leese, Dan Gunter, Richard Hughes-Jones and Jason
Zurawski and (who else??) the other members of the Network Measurements
Working Group.</p>
+<h1 class="np" id="rfc.references">
+<a href="#rfc.section.15">15.</a> References</h1>
+<table summary="References" border="0" cellpadding="2">
+<tr>
+<td class="topnowrap">
+<b id="tridentcom">[1]</b>
+</td>
+<td class="top">Zurawski, J., Swany, M., and D. Gunter, &#8220;A Scalable
Framework for Representation and Exchange of
Network Measurements&#8221;, In Proceedings of 2nd
International IEEE/Create-Net
Conference on Testbeds and Research Infrastructures for the
Development of Networks and Communities (Tridentcom
- 2006).</td></tr></table><hr class="noprint"><h1 id="rfc.authors"
class="np">Author's Address</h1><address class="vcard"><span
class="vcardline"><span class="fn">D. Martin Swany</span>
+ 2006).</td>
+</tr>
+</table>
+<hr class="noprint">
+<h1 id="rfc.authors" class="np">Author's Address</h1>
+<address class="vcard">
+<span class="vcardline">
+<span class="fn">D. Martin Swany</span>
(Editor)
- <span class="n hidden"><span class="family-name">Swany</span><span
class="given-name">D. Martin</span></span></span><span class="org vcardline">
+ <span class="n hidden">
+<span class="family-name">Swany</span>
+<span class="given-name">D. Martin</span>
+</span>
+</span>
+<span class="org vcardline">
University of Delaware
Department of Computer and Information Sciences
Newark, DE 19716
- </span></address><h1><a id="rfc.copyright" href="#rfc.copyright">Full
Copyright Statement</a></h1><p>Copyright � The Open Grid Forum (2007). All
Rights Reserved.</p><p>This document and translations of it may be copied and
furnished to others, and derivative works that comment on or otherwise
explain it or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are included on
all such copies and derivative works. However, this document itself may not
be modified in any way, such as by removing the copyright notice or
references to the OGF or other organizations, except as needed for the
purpose of developing Grid Recommendations in which case the procedures for
copyrights defined in the OGF Document process must be followed, or as
required to translate it into languages other than English.</p><p>The limited
permissions granted above
are perpetual and will not be revoked by the OGF or its successors or
assignees.</p><p>This document and the information contained herein is
provided on an &#8220;As Is&#8221; basis and the OGF disclaims all
warranties, express or implied, including but not limited to any warranty
that the use of the information herein will not infringe any rights or any
implied warranties of merchantability or fitness for a particular
purpose.</p><hr class="noprint"><h1 class="np"><a id="rfc.ipr"
href="#rfc.ipr">Intellectual Property</a></h1><p>The OGF takes no position
regarding the validity or scope of any intellectual property or other rights
that might be claimed to pertain to the implementation or use of the
technology described in this document or the extent to which any license
under such rights might or might not be available; neither does it represent
that it has made any effort to identify any such rights. Copies of claims of
rights made available for publication and any assurance
s of licenses to be made available, or the result of an atte!
mpt made
to obtain a general license or permission for the use of such proprietary
rights by implementers or users of this specification can be obtained from
the OGF Secretariat.</p><p>The OGF invites any interested party to bring to
its attention any copyrights, patents or patent applications, or other
proprietary rights, which may cover technology that may be required to
practice this recommendation. Please address the information to the OGF
Executive Director.</p></body></html>
\ No newline at end of file
+ </span>
+</address>
+<h1>
+<a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a>
+</h1>
+<p>Copyright � The Open Grid Forum (2007). All Rights Reserved.</p>
+<p>This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it or
assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind, provided
that the above copyright notice and this paragraph are included on all such
copies and derivative works. However, this document itself may not be
modified in any way, such as by removing the copyright notice or references
to the OGF or other organizations, except as needed for the purpose of
developing Grid Recommendations in which case the procedures for copyrights
defined in the OGF Document process must be followed, or as required to
translate it into languages other than English.</p>
+<p>The limited permissions granted above are perpetual and will not be
revoked by the OGF or its successors or assignees.</p>
+<p>This document and the information contained herein is provided on an
&#8220;As Is&#8221; basis and the OGF disclaims all warranties, express or
implied, including but not limited to any warranty that the use of the
information herein will not infringe any rights or any implied warranties of
merchantability or fitness for a particular purpose.</p>
+<hr class="noprint">
+<h1 class="np">
+<a id="rfc.ipr" href="#rfc.ipr">Intellectual Property</a>
+</h1>
+<p>The OGF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain to the
implementation or use of the technology described in this document or the
extent to which any license under such rights might or might not be
available; neither does it represent that it has made any effort to identify
any such rights. Copies of claims of rights made available for publication
and any assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of such
proprietary rights by implementers or users of this specification can be
obtained from the OGF Secretariat.</p>
+<p>The OGF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary rights,
which may cover technology that may be required to practice this
recommendation. Please address the information to the OGF Executive
Director.</p>
+</body>
+</html

Modified: trunk/nmwg/doc/nm-schema-base/nm-schema-base.pdf
===================================================================
(Binary files differ)

Modified: trunk/nmwg/doc/nm-schema-base/post.pl
===================================================================
--- trunk/nmwg/doc/nm-schema-base/post.pl 2007-05-07 13:12:03 UTC (rev
230)
+++ trunk/nmwg/doc/nm-schema-base/post.pl 2007-05-07 13:28:53 UTC (rev
231)
@@ -48,51 +48,51 @@
my $found = 0;
my $keyword = "";
foreach my $k (@keywords) {
- foreach my $t (@tokens) {
- if($k eq $t) {
- $found = 1;
- $keyword = $k;
- last;
- }
+ foreach my $t (@tokens) {
+ if($k eq $t) {
+ $found = 1;
+ $keyword = $k;
+ last;
+ }
}
}

if($found) {
- # we found a token, print it and see if we
- # need to highlight the next word
- print $prefix , "<font color=green>" , $tokens[0] , "</font> ";
+ # we found a token, print it and see if we
+ # need to highlight the next word
+ print $prefix , "<font color=green>" , $tokens[0] , "</font> ";


- if($#tokens > 1) {
+ if($#tokens > 1) {
my $found2 = 0;
foreach my $k (@keywords_next) {
- if($k eq $keyword) {
- $found2 = 1;
- last;
- }
+ if($k eq $keyword) {
+ $found2 = 1;
+ last;
+ }
}

- if($found2) {
+ if($found2) {

- # we can highlight the next word
- print "<font color=blue>" , $tokens[1] , "</font> ";
+ # we can highlight the next word
+ print "<font color=blue>" , $tokens[1] , "</font> ";

for(my $x = 2; $x <= $#tokens; $x++) {
- print $tokens[$x] , " ";
- }
- }
- else {
+ print $tokens[$x] , " ";
+ }
+ }
+ else {
for(my $x = 1; $x <= $#tokens; $x++) {
- print $tokens[$x] , " ";
- }
- }
+ print $tokens[$x] , " ";
+ }
+ }

- }
- else {
+ }
+ else {
for(my $x = 1; $x <= $#tokens; $x++) {
- print $tokens[$x] , " ";
- }
- }
+ print $tokens[$x] , " ";
+ }
+ }

- print "\n";
+ print "\n";
}
else {
print $_ , "\n";
@@ -100,6 +100,6 @@
}
}
else {
- print $_;
+ print $_ , "\n";
}
}



  • nmwg: r231 - trunk/nmwg/doc/nm-schema-base, svnlog, 05/07/2007

Archive powered by MHonArc 2.6.16.

Top of Page