[Nmc-wg] [ogf nmc-ma svn commit] r1 - / examples schema util

svn at ogf.org svn at ogf.org
Tue Jan 12 07:43:19 CST 2010


Author: zurawski
Date: 2010-01-12 07:43:18 -0600 (Tue, 12 Jan 2010)
New Revision: 1

Added:
   Makefile
   citesort.sty
   datainfo.tex
   examples/
   examples/mdk_request1.xml
   examples/mdk_request2.xml
   examples/mdk_request3.xml
   examples/mdk_request4.xml
   examples/mdk_request5.xml
   examples/mdk_response1.xml
   examples/mdk_response2.xml
   examples/mdk_response3.xml
   examples/sd_request1.xml
   examples/sd_request2.xml
   examples/sd_request3.xml
   examples/sd_request4.xml
   examples/sd_request5.xml
   examples/sd_response1.xml
   examples/sd_response2.xml
   examples/sd_response3.xml
   fancyheadings.sty
   introduction.tex
   measurementarchivestore.tex
   metadatakey.tex
   nmc-ma.bib
   nmc-ma.pdf
   nmc-ma.tex
   resultcodes.tex
   schema/
   schema/metadatakey_request.rnc
   schema/metadatakey_response.rnc
   schema/setupdata_request.rnc
   schema/setupdata_response.rnc
   setupdata.tex
   util/
   util/inline.pl
Log:
First commit of NMC MA document.

-jason



Added: Makefile
===================================================================
--- Makefile	                        (rev 0)
+++ Makefile	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,33 @@
+NAME=nmc-ma
+
+GRAPHS=$(wildcard *.eps)
+FILES=$(wildcard *.tex)
+REFS=$(wildcard *.bib)
+
+all: ${NAME}.pdf
+
+pre:
+	util/inline.pl metadatakey.tex > metadatakey_new.tex
+	util/inline.pl setupdata.tex > setupdata_new.tex
+	
+${NAME}.pdf: ${NAME}.tex ${GRAPHS} ${FILES} ${REFS}
+	make pre
+	latex ${NAME}
+	bibtex ${NAME}
+	latex ${NAME}
+	latex ${NAME}
+	dvips ${NAME}.dvi -o ${NAME}.ps
+	ps2pdf ${NAME}.ps ${NAME}.pdf
+		
+${NAME}.ps:
+	latex ${NAME}.tex
+	bibtex ${NAME}
+	dvips ${NAME}.dvi -o ${NAME}.ps
+#	ps2pdf ${NAME}.ps
+
+.PHONY: ${NAME}.ps
+clean:
+	rm -f ${NAME}.ps ${NAME}.dvi *.bbl *.aux \
+	*.log *.blg *.ascii *.out *.toc
+	rm -f metadatakey_new.tex
+	rm -f setupdata_new.tex


Property changes on: Makefile
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: citesort.sty
===================================================================
--- citesort.sty	                        (rev 0)
+++ citesort.sty	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,56 @@
+%NAME: citesort.sty
+% A replacement for \@citex which sorts citation numbers as well as
+% compressing and allowing breaks.  Based on cite.sty by Donald
+% Arseneau.
+%
+% for use in LaTeX say, \documentstyle[...,citesort,...]{...}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%     Allow, but strongly discourage, line breaks within a long
+%     series of citations.  Compress lists of successive numbers
+%     to one number range, e.g., 5,6,7,8,9 --> 5--9.  Compatible
+%     with versions of \@cite that use exponents.
+%              -- Donald Arseneau  1989
+%
+% Modified to sort the numbers so they come out in increasing order,
+% regardless of the way they appear in the source. O(N^2) sort!
+% Ian Green, CUED, 10-Dec-1991.  Improvements to img at eng.cam.ac.uk
+% please. Version 1
+
+\newcount\@minsofar
+\newcount\@min
+\newcount\@cite at temp
+\def\@citex[#1]#2{%
+\if at filesw \immediate \write \@auxout {\string \citation {#2}}\fi
+\@tempcntb\m at ne \let\@h at ld\relax \def\@citea{}%
+\@min\m at ne%
+\@cite{%
+  \@for \@citeb:=#2\do {\@ifundefined {b@\@citeb}%
+    {\@h at ld\@citea\@tempcntb\m at ne{\bf ?}%
+    \@warning {Citation `\@citeb ' on page \thepage \space undefined}}%
+{\@minsofar\z@ \@for \@scan at cites:=#2\do {%
+  \@ifundefined{b@\@scan at cites}%
+    {\@cite at temp\m at ne}
+    {\@cite at temp\number\csname b@\@scan at cites \endcsname \relax}%
+\ifnum\@cite at temp > \@min% select the next one to list
+    \ifnum\@minsofar = \z@
+      \@minsofar\number\@cite at temp
+      \edef\@scan at copy{\@scan at cites}\else
+    \ifnum\@cite at temp < \@minsofar
+      \@minsofar\number\@cite at temp
+      \edef\@scan at copy{\@scan at cites}\fi\fi\fi}\@tempcnta\@min
+  \ifnum\@minsofar > \z@ % some more
+    \advance\@tempcnta\@ne
+    \@min\@minsofar
+    \ifnum\@tempcnta=\@minsofar %   Number follows previous--hold on to it
+      \ifx\@h at ld\relax
+        \edef \@h at ld{\@citea\csname b@\@scan at copy\endcsname}%
+      \else \edef\@h at ld{\ifmmode{-}\else--\fi\csname b@\@scan at copy\endcsname}%
+      \fi
+    \else \@h at ld\@citea\csname b@\@scan at copy\endcsname
+          \let\@h at ld\relax
+  \fi % no more
+\fi}%
+\def\@citea{,\penalty\@highpenalty\,}}\@h at ld}{#1}}
+
+% end of citesort.sty

Added: datainfo.tex
===================================================================
--- datainfo.tex	                        (rev 0)
+++ datainfo.tex	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,407 @@
+\section{Data Info}
+\label{s:datainfo}
+
+\subsection{DataInfoRequest Message}
+\label{s:datainfo_request}
+
+\subsubsection{DataInfoRequest Message Schema}
+\label{s:datainfo_request_schema}
+
+The following schema is a native description of the request schema as in the RELAX-NG\cite{relaxng} language. Through the use of tools such as Trang\cite{trang} and MSV\cite{msv} it is possible to convert this to other widely accepted formats such as XSD\cite{xsd}.
+
+\tiny
+\begin{verbatim}
+
+% INLINESCHEMA="schema/datainfo_request.rnc"
+
+\end{verbatim}
+\normalsize
+
+\subsubsection{DataInfoRequest Message Analysis}
+\label{s:datainfo_request_analysis}
+
+\paragraph{Message}
+\label{s:datainfo_request_analysis_message}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Message Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Message Element} \\
+    \hline
+    \textbf{localname} & message \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_request_message}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Parameters}
+\label{s:datainfo_request_analysis_parameters}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameters Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameters Element} \\
+    \hline
+    \textbf{localname} & parameters \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_request_parameters}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Parameter}
+\label{s:datainfo_request_analysis_parameter}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameter Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameter Element} \\
+    \hline
+    \textbf{localname} & parameter \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_request_parameter}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Metadata}
+\label{s:datainfo_request_analysis_metadata}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Metadata Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Metadata Element} \\
+    \hline
+    \textbf{localname} & metadata \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_request_metadata}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Data}
+\label{s:datainfo_request_analysis_data}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Data Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Data Element} \\
+    \hline
+    \textbf{localname} & data \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_request_data}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\subsubsection{DataInfoRequest Message Example}
+\label{s:datainfo_request_example}
+
+\subsection{DataInfoResponse Message}
+\label{s:datainfo_response}
+
+\subsubsection{DataInfoResponse Message Schema}
+\label{s:datainfo_response_schema}
+
+The following schema is a native description of the request schema as in the RELAX-NG\cite{relaxng} language. Through the use of tools such as Trang\cite{trang} and MSV\cite{msv} it is possible to convert this to other widely accepted formats such as XSD\cite{xsd}.
+
+\tiny
+\begin{verbatim}
+
+% INLINESCHEMA="schema/datainfo_response.rnc"
+
+\end{verbatim}
+\normalsize
+
+\subsubsection{DataInfoResponse Message Analysis}
+\label{s:datainfo_response_analysis}
+
+\paragraph{Message}
+\label{s:datainfo_response_analysis_message}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Message Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Message Element} \\
+    \hline
+    \textbf{localname} & message \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_response_message}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Parameters}
+\label{s:datainfo_response_analysis_parameters}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameters Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameters Element} \\
+    \hline
+    \textbf{localname} & parameters \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_response_parameters}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Parameter}
+\label{s:datainfo_response_analysis_paramter}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameter Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameter Element} \\
+    \hline
+    \textbf{localname} & parameter \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_response_parameter}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Metadata}
+\label{s:datainfo_response_analysis_metadata}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Metadata Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Metadata Element} \\
+    \hline
+    \textbf{localname} & metadata \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_response_metadata}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Data}
+\label{s:datainfo_response_analysis_data}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Data Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Data Element} \\
+    \hline
+    \textbf{localname} & data \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_response_data}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Key}
+\label{s:datainfo_response_analysis_key}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Key Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Key Element} \\
+    \hline
+    \textbf{localname} & key \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_response_key}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Datum}
+\label{s:datainfo_response_analysis_datum}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Datum Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Datum Element} \\
+    \hline
+    \textbf{localname} & datum \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:datainfo_response_datum}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\subsubsection{DataInfoResponse Message Example}
+\label{s:datainfo_response_example}
+

Added: examples/mdk_request1.xml
===================================================================
--- examples/mdk_request1.xml	                        (rev 0)
+++ examples/mdk_request1.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,10 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="MetadataKeyRequest" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1" />
+  
+</nmwg:message>


Property changes on: examples/mdk_request1.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/mdk_request2.xml
===================================================================
--- examples/mdk_request2.xml	                        (rev 0)
+++ examples/mdk_request2.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,14 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="MetadataKeyRequest" id="message1">
+
+  <nmwg:parameters id="paraemters1">
+    <nmwg:parameter name="something">something else</nmwg:parameter>
+  </nmwg:parameters>
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1" />
+  
+</nmwg:message>


Property changes on: examples/mdk_request2.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/mdk_request3.xml
===================================================================
--- examples/mdk_request3.xml	                        (rev 0)
+++ examples/mdk_request3.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,16 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="MetadataKeyRequest" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1" />
+
+  <nmwg:metadata id="m2">
+    <!-- another metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d2" metadatIdRef="m2" />
+
+</nmwg:message>


Property changes on: examples/mdk_request3.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/mdk_request4.xml
===================================================================
--- examples/mdk_request4.xml	                        (rev 0)
+++ examples/mdk_request4.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,14 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="MetadataKeyRequest" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:metadata id="m2" metadataIdRef="m1">
+    <!-- more metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m2" />
+  
+</nmwg:message>


Property changes on: examples/mdk_request4.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/mdk_request5.xml
===================================================================
--- examples/mdk_request5.xml	                        (rev 0)
+++ examples/mdk_request5.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,10 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="MetadataKeyRequest" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m2" />
+
+</nmwg:message>


Property changes on: examples/mdk_request5.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/mdk_response1.xml
===================================================================
--- examples/mdk_response1.xml	                        (rev 0)
+++ examples/mdk_response1.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,18 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="MetadataKeyResponse" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1">
+
+    <nmwg:key id="key1">
+      <nmwg:parameters id="parameters1">
+        <nmwg:parameter name="something" value="something" />
+      </nmwg:parameters>
+    </nmwg:key>
+    
+  </nmwg:data>
+  
+</nmwg:message>


Property changes on: examples/mdk_response1.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/mdk_response2.xml
===================================================================
--- examples/mdk_response2.xml	                        (rev 0)
+++ examples/mdk_response2.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,32 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="MetadataKeyResponse" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1">
+
+    <nmwg:key id="key1">
+      <nmwg:parameters id="parameters1">
+        <nmwg:parameter name="something" value="something" />
+      </nmwg:parameters>
+    </nmwg:key>
+
+  </nmwg:data>
+  
+  <nmwg:metadata id="m2">
+    <!-- another metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d2" metadatIdRef="m2">
+
+    <nmwg:key id="key2">
+      <nmwg:parameters id="parameters2">
+        <nmwg:parameter name="something" value="something" />
+      </nmwg:parameters>
+    </nmwg:key>
+
+  </nmwg:data>
+  
+</nmwg:message>


Property changes on: examples/mdk_response2.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/mdk_response3.xml
===================================================================
--- examples/mdk_response3.xml	                        (rev 0)
+++ examples/mdk_response3.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,16 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="MetadataKeyResponse" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- some error -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1">
+
+    <nmwg:datum>
+      <!-- some error message -->
+    </nmwg:datum>
+    
+  </nmwg:data>
+  
+</nmwg:message>


Property changes on: examples/mdk_response3.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/sd_request1.xml
===================================================================
--- examples/sd_request1.xml	                        (rev 0)
+++ examples/sd_request1.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,10 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="SetupDataRequest" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1" />
+  
+</nmwg:message>


Property changes on: examples/sd_request1.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/sd_request2.xml
===================================================================
--- examples/sd_request2.xml	                        (rev 0)
+++ examples/sd_request2.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,14 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="SetupDataRequest" id="message1">
+
+  <nmwg:parameters id="paraemters1">
+    <nmwg:parameter name="something">something else</nmwg:parameter>
+  </nmwg:parameters>
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1" />
+  
+</nmwg:message>


Property changes on: examples/sd_request2.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/sd_request3.xml
===================================================================
--- examples/sd_request3.xml	                        (rev 0)
+++ examples/sd_request3.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,16 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="SetupDataRequest" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1" />
+
+  <nmwg:metadata id="m2">
+    <!-- another metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d2" metadatIdRef="m2" />
+
+</nmwg:message>


Property changes on: examples/sd_request3.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/sd_request4.xml
===================================================================
--- examples/sd_request4.xml	                        (rev 0)
+++ examples/sd_request4.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,14 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="SetupDataRequest" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:metadata id="m2" metadataIdRef="m1">
+    <!-- more metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m2" />
+  
+</nmwg:message>


Property changes on: examples/sd_request4.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/sd_request5.xml
===================================================================
--- examples/sd_request5.xml	                        (rev 0)
+++ examples/sd_request5.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,10 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="SetupDataRequest" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m2" />
+
+</nmwg:message>


Property changes on: examples/sd_request5.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/sd_response1.xml
===================================================================
--- examples/sd_response1.xml	                        (rev 0)
+++ examples/sd_response1.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,17 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="SetupDataResponse" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1">
+
+    <nmwg:datum />
+    <nmwg:datum />
+    <!-- ... -->
+    <nmwg:datum />
+
+  </nmwg:data>
+  
+</nmwg:message>


Property changes on: examples/sd_response1.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/sd_response2.xml
===================================================================
--- examples/sd_response2.xml	                        (rev 0)
+++ examples/sd_response2.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,30 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="SetupDataResponse" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1">
+
+    <nmwg:datum />
+    <nmwg:datum />
+    <!-- ... -->
+    <nmwg:datum />
+
+  </nmwg:data>
+  
+  <nmwg:metadata id="m2">
+    <!-- another metadata -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d2" metadatIdRef="m2">
+
+    <nmwg:datum />
+    <nmwg:datum />
+    <!-- ... -->
+    <nmwg:datum />
+
+  </nmwg:data>
+  
+</nmwg:message>


Property changes on: examples/sd_response2.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: examples/sd_response3.xml
===================================================================
--- examples/sd_response3.xml	                        (rev 0)
+++ examples/sd_response3.xml	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,16 @@
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+              type="SetupDataResponse" id="message1">
+
+  <nmwg:metadata id="m1">
+    <!-- some error -->
+  </nmwg:metadata>
+
+  <nmwg:data id="d1" metadatIdRef="m1">
+
+    <nmwg:datum>
+      <!-- some error message -->
+    </nmwg:datum>
+    
+  </nmwg:data>
+  
+</nmwg:message>


Property changes on: examples/sd_response3.xml
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native

Added: fancyheadings.sty
===================================================================
--- fancyheadings.sty	                        (rev 0)
+++ fancyheadings.sty	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,205 @@
+% fancyheadings.sty version 1.98
+% Fancy headers and footers.
+% Piet van Oostrum, Dept of Computer Science, University of Utrecht
+% Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands
+% Telephone: +31 30 2531806. Email: piet at cs.ruu.nl
+% Sep 16, 1994
+% version 1.4: Correction for use with \reversemargin
+% Sep 29, 1994:
+% version 1.5: Added the \iftopfloat, \ifbotfloat and \iffloatpage commands
+% Oct 4, 1994:
+% version 1.6: Reset single spacing in headers/footers for use with
+% setspace.sty or doublespace.sty
+% Oct 4, 1994:
+% version 1.7: changed \let\@mkboth\markboth to
+% \def\@mkboth{\protect\markboth} to make it more robust
+% Dec 5, 1994:
+% version 1.8: corrections for amsbook/amsart: define \@chapapp and (more
+% importantly) use the \chapter/sectionmark definitions from ps at headings if
+% they exist (which should be true for all standard classes).
+% May 31, 1995:
+% version 1.9: The proposed \renewcommand{\headrulewidth}{\iffloatpage...
+% construction in the doc did not work properly with the fancyplain style. 
+% June 1, 1995:
+% version 1.91: The definition of \@mkboth wasn't restored on subsequent
+% \pagestyle{fancy}'s.
+% June 1, 1995:
+% version 1.92: The sequence \pagestyle{fancyplain} \pagestyle{plain}
+% \pagestyle{fancy} would erroneously select the plain version.
+% June 1, 1995:
+% version 1.93: \fancypagestyle command added.
+% Dec 11, 1995:
+% version 1.94: suggested by Conrad Hughes <chughes at maths.tcd.ie>
+% CJCH, Dec 11, 1995: added \footruleskip to allow control over footrule
+% position (old hardcoded value of .3\normalbaselineskip is far too high
+% when used with very small footer fonts).
+% Jan 31, 1996:
+% version 1.95: call \@normalsize in the reset code if that is defined,
+% otherwise \normalsize.
+% this is to solve a problem with ucthesis.cls, as this doesn't
+% define \@currsize. Unfortunately for latex209 calling \normalsize doesn't
+% work as this is optimized to do very little, so there \@normalsize should
+% be called. Hopefully this code works for all versions of LaTeX known to
+% mankind.  
+% April 25, 1996:
+% version 1.96: initialize \headwidth to a magic (negative) value to catch
+% most common cases that people change it before calling \pagestyle{fancy}.
+% Note it can't be initialized when reading in this file, because
+% \textwidth could be changed afterwards. This is quite probable.
+% We also switch to \MakeUppercase rather than \uppercase and introduce a
+% \nouppercase command for use in headers. and footers.
+% May 3, 1996:
+% version 1.97: Two changes:
+% 1. Undo the change in version 1.8 (using the pagestyle{headings} defaults
+% for the chapter and section marks. The current version of amsbook and
+% amsart classes don't seem to need them anymore. Moreover the standard
+% latex classes don't use \markboth if twoside isn't selected, and this is
+% confusing as \leftmark doesn't work as expected.
+% 2. include a call to \ps at empty in ps@@fancy. This is to solve a problem
+% in the amsbook and amsart classes, that make global changes to \topskip,
+% which are reset in \ps at empty. Hopefully this doesn't break other things.
+% May 7, 1996:
+% version 1.98:
+% Added % after the line  \def\nouppercase
+% BY THE WAY, THIS IS THE LAST RELEASE OF VERSION 1.
+
+\let\fancy at def\gdef
+\def\lhead{\@ifnextchar[{\@xlhead}{\@ylhead}}
+\def\@xlhead[#1]#2{\fancy at def\@elhead{#1}\fancy at def\@olhead{#2}}
+\def\@ylhead#1{\fancy at def\@elhead{#1}\fancy at def\@olhead{#1}}
+
+\def\chead{\@ifnextchar[{\@xchead}{\@ychead}}
+\def\@xchead[#1]#2{\fancy at def\@echead{#1}\fancy at def\@ochead{#2}}
+\def\@ychead#1{\fancy at def\@echead{#1}\fancy at def\@ochead{#1}}
+
+\def\rhead{\@ifnextchar[{\@xrhead}{\@yrhead}}
+\def\@xrhead[#1]#2{\fancy at def\@erhead{#1}\fancy at def\@orhead{#2}}
+\def\@yrhead#1{\fancy at def\@erhead{#1}\fancy at def\@orhead{#1}}
+
+\def\lfoot{\@ifnextchar[{\@xlfoot}{\@ylfoot}}
+\def\@xlfoot[#1]#2{\fancy at def\@elfoot{#1}\fancy at def\@olfoot{#2}}
+\def\@ylfoot#1{\fancy at def\@elfoot{#1}\fancy at def\@olfoot{#1}}
+
+\def\cfoot{\@ifnextchar[{\@xcfoot}{\@ycfoot}}
+\def\@xcfoot[#1]#2{\fancy at def\@ecfoot{#1}\fancy at def\@ocfoot{#2}}
+\def\@ycfoot#1{\fancy at def\@ecfoot{#1}\fancy at def\@ocfoot{#1}}
+
+\def\rfoot{\@ifnextchar[{\@xrfoot}{\@yrfoot}}
+\def\@xrfoot[#1]#2{\fancy at def\@erfoot{#1}\fancy at def\@orfoot{#2}}
+\def\@yrfoot#1{\fancy at def\@erfoot{#1}\fancy at def\@orfoot{#1}}
+
+\newdimen\headrulewidth
+\newdimen\footrulewidth
+\newdimen\plainheadrulewidth
+\newdimen\plainfootrulewidth
+\newdimen\headwidth
+\newdimen\footruleskip
+\newif\if at fancyplain \@fancyplainfalse
+\def\fancyplain#1#2{\if at fancyplain#1\else#2\fi}
+\headwidth=-123456789sp %magic constant
+
+% Command to reset various things in the headers:
+% a.o.  single spacing (taken from setspace.sty)
+% and the catcode of ^^M (so that epsf files in the header work if a
+% verbatim crosses a page boundary)
+% It also defines a \nouppercase command that disables \uppercase and
+% \Makeuppercase. It can only be used in the headers and footers.
+\def\fancy at reset{\restorecr
+ \def\baselinestretch{1}%
+ \def\nouppercase##1{{\let\uppercase\relax\let\MakeUppercase\relax##1}}%
+ \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e
+   \ifx\@normalsize\undefined \normalsize % for ucthesis.cls
+   \else \@normalsize \fi
+ \else% NFSS (2.09) present
+  \@newbaseline%
+ \fi}
+
+% Initialization of the head and foot text.
+
+\headrulewidth 0.4pt
+\footrulewidth\z@
+\plainheadrulewidth\z@
+\plainfootrulewidth\z@
+\footruleskip .3\normalbaselineskip
+
+\lhead[\fancyplain{}{\sl\rightmark}]{\fancyplain{}{\sl\leftmark}}
+%  i.e. empty on ``plain'' pages, \rightmark on even, \leftmark on odd pages
+\chead{}
+\rhead[\fancyplain{}{\sl\leftmark}]{\fancyplain{}{\sl\rightmark}}
+%  i.e. empty on ``plain'' pages, \leftmark on even, \rightmark on odd pages
+\lfoot{}
+\cfoot{\rm\thepage} % page number
+\rfoot{}
+
+% Put together a header or footer given the left, center and
+% right text, fillers at left and right and a rule.
+% The \lap commands put the text into an hbox of zero size,
+% so overlapping text does not generate an errormessage.
+
+\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy at reset\vbox{\hbox
+{\rlap{\parbox[b]{\headwidth}{\raggedright#2\strut}}\hfill
+\parbox[b]{\headwidth}{\centering#3\strut}\hfill
+\llap{\parbox[b]{\headwidth}{\raggedleft#4\strut}}}\headrule}}#5}
+
+\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy at reset\vbox{\footrule
+\hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2\strut}}\hfill
+\parbox[t]{\headwidth}{\centering#3\strut}\hfill
+\llap{\parbox[t]{\headwidth}{\raggedleft#4\strut}}}}}#5}
+
+\def\headrule{{\if at fancyplain\let\headrulewidth\plainheadrulewidth\fi
+\hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}}
+
+\def\footrule{{\if at fancyplain\let\footrulewidth\plainfootrulewidth\fi
+\vskip-\footruleskip\vskip-\footrulewidth
+\hrule\@width\headwidth\@height\footrulewidth\vskip\footruleskip}}
+
+\def\ps at fancy{%
+\@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%for amsbook
+% Define \MakeUppercase for old LaTeXen.
+% Note: we used \def rather than \let, so that \let\uppercase\relax (from
+% the original documentation) will still work.
+\@ifundefined{MakeUppercase}{\def\MakeUppercase{\uppercase}}{}
+\@ifundefined{chapter}{\def\sectionmark##1{\markboth
+{\MakeUppercase{\ifnum \c at secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}%
+\def\subsectionmark##1{\markright {\ifnum \c at secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}%
+{\def\chaptermark##1{\markboth {\MakeUppercase{\ifnum \c at secnumdepth>\m at ne
+ \@chapapp\ \thechapter. \ \fi ##1}}{}}
+\def\sectionmark##1{\markright{\MakeUppercase{\ifnum \c at secnumdepth >\z@
+ \thesection. \ \fi ##1}}}}%
+%\csname ps at headings\endcsname % use \ps at headings defaults if they exist
+\ps@@fancy
+\gdef\ps at fancy{\@fancyplainfalse\ps@@fancy}%
+% Initialize \headwidth if the user didn't
+\ifdim\headwidth<0sp
+% This catches the case that \headwidth hasn't been initialized and the
+% case that the user added something to \headwidth in the expectation that
+% it was initialized to \textwidth. We compensate this now. This loses if
+% the user intended to multiply it by a factor. But that case is more
+% likely done by saying something like \headwidth=1.2\textwidth The doc
+% says you have to change \headwidth after the first call to,
+% \pagestyle{fancy}. This code is just to catch the most common cases were
+% that requirement is violated.
+    \advance\headwidth123456789sp\advance\headwidth\textwidth\fi}
+\def\ps at fancyplain{\ps at fancy \let\ps at plain\ps at plain@fancy}
+\def\ps at plain@fancy{\@fancyplaintrue\ps@@fancy}
+\def\ps@@fancy{%
+\ps at empty % This is for amsbook/amsart, which do strange things with \topskip
+\def\@mkboth{\protect\markboth}%
+\def\@oddhead{\@fancyhead\@lodd\@olhead\@ochead\@orhead\@rodd}%
+\def\@oddfoot{\@fancyfoot\@lodd\@olfoot\@ocfoot\@orfoot\@rodd}%
+\def\@evenhead{\@fancyhead\@rodd\@elhead\@echead\@erhead\@lodd}%
+\def\@evenfoot{\@fancyfoot\@rodd\@elfoot\@ecfoot\@erfoot\@lodd}%
+}
+\def\@lodd{\if at reversemargin\hss\else\relax\fi}
+\def\@rodd{\if at reversemargin\relax\else\hss\fi}
+
+\let\latex at makecol\@makecol
+\def\@makecol{\let\topfloat\@toplist\let\botfloat\@botlist\latex at makecol}
+\def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi}
+\def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi}
+\def\iffloatpage#1#2{\if at fcolmade #1\else #2\fi}
+
+\newcommand{\fancypagestyle}[2]{%
+  \@namedef{ps@#1}{\let\fancy at def\def#2\relax\ps at fancy}}

Added: introduction.tex
===================================================================
--- introduction.tex	                        (rev 0)
+++ introduction.tex	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,14 @@
+\section{Introduction}
+\label{s:introduction}
+
+Extensions to the the \textit{NMC Protocol} \cite{nmcbase} have the advantage of further specifying interactions on a message by message basis for use in multiple service types. This eliminates the need to exhaustively document key exchanges for each service, and allows the protocols to evolve over time more efficiently.
+
+The \textit{Measurement Archive} protocol features three messages used to query services identifying themselves as long or short term storage locations of measurement data:
+
+\begin{itemize}
+\item \textbf{MetadataKey} - Message set that supplies metadata information in return for a re-playable key, see Section~\ref{s:metadatakey}
+\item \textbf{SetupData} - Message set that supplies metadata information or a key in return for a measurement data, see Section~\ref{s:setupdata}
+\item \textbf{DataInfo} - Message set that supplies metadata information in return for a well defined key, see Section~\ref{s:datainfo}
+\item \textbf{MeasurementArchiveStore} - Message set that attempts to store information into the database, see Section~\ref{s:measurementarchivestore}
+\end{itemize}
+

Added: measurementarchivestore.tex
===================================================================
--- measurementarchivestore.tex	                        (rev 0)
+++ measurementarchivestore.tex	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,407 @@
+\section{Measurement Archive Store}
+\label{s:measurementarchivestore}
+
+\subsection{MeasurementArchiveStoreRequest Message}
+\label{s:measurementarchivestore_request}
+
+\subsubsection{MeasurementArchiveStoreRequest Message Schema}
+\label{s:measurementarchivestore_request_schema}
+
+The following schema is a native description of the request schema as in the RELAX-NG\cite{relaxng} language. Through the use of tools such as Trang\cite{trang} and MSV\cite{msv} it is possible to convert this to other widely accepted formats such as XSD\cite{xsd}.
+
+\tiny
+\begin{verbatim}
+
+% INLINESCHEMA="schema/measurementarchivestore_request.rnc"
+
+\end{verbatim}
+\normalsize
+
+\subsubsection{MeasurementArchiveStoreRequest Message Analysis}
+\label{s:measurementarchivestore_request_analysis}
+
+\paragraph{Message}
+\label{s:measurementarchivestore_request_analysis_message}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Message Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Message Element} \\
+    \hline
+    \textbf{localname} & message \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_request_message}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Parameters}
+\label{s:measurementarchivestore_request_analysis_parameters}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameters Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameters Element} \\
+    \hline
+    \textbf{localname} & parameters \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_request_parameters}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Parameter}
+\label{s:measurementarchivestore_request_analysis_parameter}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameter Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameter Element} \\
+    \hline
+    \textbf{localname} & parameter \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_request_parameter}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Metadata}
+\label{s:measurementarchivestore_request_analysis_metadata}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Metadata Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Metadata Element} \\
+    \hline
+    \textbf{localname} & metadata \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_request_metadata}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Data}
+\label{s:measurementarchivestore_request_analysis_data}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Data Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Data Element} \\
+    \hline
+    \textbf{localname} & data \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_request_data}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\subsubsection{MeasurementArchiveStoreRequest Message Example}
+\label{s:measurementarchivestore_request_example}
+
+\subsection{MeasurementArchiveStoreResponse Message}
+\label{s:measurementarchivestore_response}
+
+\subsubsection{MeasurementArchiveStoreResponse Message Schema}
+\label{s:measurementarchivestore_response_schema}
+
+The following schema is a native description of the request schema as in the RELAX-NG\cite{relaxng} language. Through the use of tools such as Trang\cite{trang} and MSV\cite{msv} it is possible to convert this to other widely accepted formats such as XSD\cite{xsd}.
+
+\tiny
+\begin{verbatim}
+
+% INLINESCHEMA="schema/measurementarchivestore_response.rnc"
+
+\end{verbatim}
+\normalsize
+
+\subsubsection{MeasurementArchiveStoreResponse Message Analysis}
+\label{s:measurementarchivestore_response_analysis}
+
+\paragraph{Message}
+\label{s:measurementarchivestore_response_analysis_message}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Message Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Message Element} \\
+    \hline
+    \textbf{localname} & message \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_response_message}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Parameters}
+\label{s:measurementarchivestore_response_analysis_parameters}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameters Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameters Element} \\
+    \hline
+    \textbf{localname} & parameters \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_response_parameters}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Parameter}
+\label{s:measurementarchivestore_response_analysis_paramter}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameter Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameter Element} \\
+    \hline
+    \textbf{localname} & parameter \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_response_parameter}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Metadata}
+\label{s:measurementarchivestore_response_analysis_metadata}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Metadata Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Metadata Element} \\
+    \hline
+    \textbf{localname} & metadata \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_response_metadata}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Data}
+\label{s:measurementarchivestore_response_analysis_data}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Data Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Data Element} \\
+    \hline
+    \textbf{localname} & data \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_response_data}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Key}
+\label{s:measurementarchivestore_response_analysis_key}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Key Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Key Element} \\
+    \hline
+    \textbf{localname} & key \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_response_key}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\paragraph{Datum}
+\label{s:measurementarchivestore_response_analysis_datum}
+
+\tiny
+\begin{verbatim}
+
+
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Datum Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Datum Element} \\
+    \hline
+    \textbf{localname} & datum \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & xxx \\ \hline    
+    \textbf{nested elements} & xxx \\ \hline
+    \textbf{required} & xxx \\ \hline
+  \end{tabular}
+\end{table}\label{t:measurementarchivestore_response_datum}
+
+\begin{itemize}
+\item \textbf{} - 
+\end{itemize}
+
+\subsubsection{MeasurementArchiveStoreResponse Message Example}
+\label{s:measurementarchivestore_response_example}
+

Added: metadatakey.tex
===================================================================
--- metadatakey.tex	                        (rev 0)
+++ metadatakey.tex	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,538 @@
+\section{Metadata Key}
+\label{s:metadatakey}
+
+The \textit{MetadataKey} message exchange offers a way to exchange the often complex metadata description of a measurement set for more easily consumed and exchange key. The key structure was first introduced in the \textit{NM Protocol} \cite{nmbase}, and can be customized for any particular service implementation; the overall goal being a shortcut to an underlying data set, similar to keys used in relational databases.
+
+Based on initial work in the \textit{NMC Protocol}, this exchange will be described in terms of both the \textit{MetadataKeyRequest} message and \textit{MetadataKeyResponse} message. Each explanation will include a schematic definition and analysis, followed by example instances. Note that no one service will implement this protocol exactly as written; services are expected to offer an explanation of how they implement the protocol as well as any divergence in the service documentation.
+
+\subsection{MetadataKeyRequest Message}
+\label{s:metadatakey_request}
+
+The \textit{MetadataKeyRequest} message is a container for submitting metadata of a given type to a capable \textbf{Measurement Archive}. Enclosed in this envelope will be a series of metadata and data pairs containing various instructions to act on. We first present a very simple schema in Section~\ref{s:metadatakey_request_schema} along with an analysis of the elements in Section~\ref{s:metadatakey_request_analysis}. We conclude with examples in Section~\ref{s:metadatakey_request_example}.
+
+\subsubsection{MetadataKeyRequest Message Schema}
+\label{s:metadatakey_request_schema}
+
+The following schema is a native description of the request schema as in the RELAX-NG\cite{relaxng} language. Through the use of tools such as Trang\cite{trang} and MSV\cite{msv} it is possible to convert this to other widely accepted formats such as XSD\cite{xsd}.
+
+\tiny
+\begin{verbatim}
+
+% INLINESCHEMA="schema/metadatakey_request.rnc"
+
+\end{verbatim}
+\normalsize
+
+\subsubsection{MetadataKeyRequest Message Analysis}
+\label{s:metadatakey_request_analysis}
+
+There are view deviations from the \textit{NMC Protocol} for this particular message type. The following analysis will describe each element, noting when there are changes.
+
+\paragraph{Message}
+\label{s:metadatakey_request_analysis_message}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+              id="message1"
+              type="MetadataKeyRequest">
+
+  <nmwg:parameters />
+  
+  <nmwg:metadata />
+  
+  <nmwg:data />
+  
+</nmwg:message>
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Message Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Message Element} \\
+    \hline
+    \textbf{localname} & xmessage \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, type \\ \hline    
+    \textbf{nested elements} & parameters, metadata, data \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_request_message}
+
+There is no difference in the structure of this element. The only notable difference is the value of \textit{type} is restricted to be \textit{MetadataKeyRequest}.
+
+\paragraph{Parameters}
+\label{s:metadatakey_request_analysis_parameters}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:parameters xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="parameters1">
+
+  <nmwg:parameter />
+
+</nmwg:parameters>
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameters Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameters Element} \\
+    \hline
+    \textbf{localname} & parameters \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id \\ \hline    
+    \textbf{nested elements} & parameter \\ \hline
+    \textbf{required} & no \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_request_parameters}
+
+There is no difference in the structure of this element.
+
+\paragraph{Parameter}
+\label{s:metadatakey_request_analysis_parameter}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:parameter xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+                name="NAME">VALUE</nmwg:parameter>
+
+<!-- OR -->
+
+<nmwg:parameter xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+                name="NAME" value="VALUE" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameter Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameter Element} \\
+    \hline
+    \textbf{localname} & parameter \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & value, name \\ \hline    
+    \textbf{nested elements} & text, undefined \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_request_parameter}
+
+There is no difference in the structure of this element.
+
+\paragraph{Metadata}
+\label{s:metadatakey_request_analysis_metadata}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+               id="metadata2" metadataIdRef="metadata1" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Metadata Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Metadata Element} \\
+    \hline
+    \textbf{localname} & metadata \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, metadataIdRef \\ \hline    
+    \textbf{nested elements} & undefined \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_request_metadata}
+
+There is no difference in the structure of this element.
+
+\paragraph{Data}
+\label{s:metadatakey_request_analysis_data}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+           id="data2" metadataIdRef="metadata2" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Data Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Data Element} \\
+    \hline
+    \textbf{localname} & data \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, metadataIdRef \\ \hline    
+    \textbf{nested elements} & N/A \\ \hline
+    \textbf{required} & varies \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_request_data}
+
+There is no difference in the structure of this element. The only notable difference is that this element \textbf{SHOULD NOT} contain any nested elements. This element should only be used as a \textit{data trigger} for services to act on particular metadata elements.
+
+\subsubsection{MetadataKeyRequest Message Example}
+\label{s:metadatakey_request_example}
+
+The following examples demonstrate some of the possible uses and layouts of request messages in the MA Protocol. These examples are not an attempt to be exhaustive, but rather some examples of ways to perform common tasks. Note that these messages are \textbf{NOT} indicative of a particular service.
+
+The first example demonstrates the most common use case: a single metadata and data pair.
+
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/mdk_request1.xml"
+
+\end{verbatim}
+\normalsize          
+        
+The second example is similar, but incorporates a parameters block that may be populated with optional behaviors for a service.
+
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/mdk_request2.xml"
+
+\end{verbatim}
+\normalsize
+        
+The third example is also similar to the first, but shows it is possible to ask for multiple pairs of metadata and data in a single message. Note that there are two empty \textit{data trigger}s to signify that each message be acted upon.
+          
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/mdk_request3.xml"
+
+\end{verbatim}
+\normalsize
+        
+This example features merge chaining. Note there is only one \textit{data trigger}, and it is at the tail of the \textit{chain}. A service would perform the necessary chaining first, then act on the result of this operation.
+
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/mdk_request4.xml"
+
+\end{verbatim}
+\normalsize
+        
+The final example is an invalid case where the metadata does not have an appropriate \textit{data trigger}.
+     
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/mdk_request5.xml"
+
+\end{verbatim}
+\normalsize
+
+\subsection{MetadataKeyResponse Message}
+\label{s:metadatakey_response}
+
+The \textit{MetadataKeyResponse} message is a container filled with the results of a \textit{MetadataKeyRequest} essage from a capable Measurement Archive service. Enclosed in this simple envelope will be a series of metadata and data pairs containing the results of actions performed by a service. We first present a very simple schema in Section~\ref{s:metadatakey_response_schema} along with an analysis of the elements in Section~\ref{s:metadatakey_response_analysis}. We conclude with examples in Section~\ref{s:metadatakey_response_example}.
+
+\subsubsection{MetadataKeyResponse Message Schema}
+\label{s:metadatakey_response_schema}
+
+The following schema is a native description of the request schema as in the RELAX-NG\cite{relaxng} language. Through the use of tools such as Trang\cite{trang} and MSV\cite{msv} it is possible to convert this to other widely accepted formats such as XSD\cite{xsd}.
+
+\tiny
+\begin{verbatim}
+
+% INLINESCHEMA="schema/metadatakey_response.rnc"
+
+\end{verbatim}
+\normalsize
+
+\subsubsection{MetadataKeyResponse Message Analysis}
+\label{s:metadatakey_response_analysis}
+
+The following is a breakdown of the elements featured in the schema.
+
+\paragraph{Message}
+\label{s:metadatakey_response_analysis_message}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+              id="message1"
+              type="MetadataKeyResponse">
+
+  <nmwg:parameters />
+  
+  <nmwg:metadata />
+  
+  <nmwg:data />
+  
+</nmwg:message>
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Message Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Message Element} \\
+    \hline
+    \textbf{localname} & message \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, messageIdRef, type \\ \hline    
+    \textbf{nested elements} & parameters, metadata, data \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_response_message}
+
+There is no difference in the structure of this element. The only notable difference is the value of \textit{type} is restricted to be \textit{MetadataKeyResponse}.
+
+\paragraph{Parameters}
+\label{s:metadatakey_response_analysis_parameters}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:parameters xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="parameters1">
+
+  <nmwg:parameter />
+
+</nmwg:parameters>
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameters Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameters Element} \\
+    \hline
+    \textbf{localname} & parameters \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id \\ \hline    
+    \textbf{nested elements} & parameter \\ \hline
+    \textbf{required} & no \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_response_parameters}
+
+There is no difference in the structure of this element.
+
+\paragraph{Parameter}
+\label{s:metadatakey_response_analysis_paramter}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:parameter xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+                name="NAME">VALUE</nmwg:parameter>
+
+<!-- OR -->
+
+<nmwg:parameter xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+                name="NAME" value="VALUE" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameter Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameter Element} \\
+    \hline
+    \textbf{localname} & parameter \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & name, value \\ \hline    
+    \textbf{nested elements} & text, undefined \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_response_parameter}
+
+There is no difference in the structure of this element.
+
+\paragraph{Metadata}
+\label{s:metadatakey_response_analysis_metadata}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+               id="metadata2" metadataIdRef="metadata1" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Metadata Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Metadata Element} \\
+    \hline
+    \textbf{localname} & metadata \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, metadataIdRef \\ \hline    
+    \textbf{nested elements} & undefined \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_response_metadata}
+
+There is no difference in the structure of this element.
+
+\paragraph{Data}
+\label{s:metadatakey_response_analysis_data}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+           id="data2" metadataIdRef="metadata2" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Data Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Data Element} \\
+    \hline
+    \textbf{localname} & data \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, metadataIdRef \\ \hline    
+    \textbf{nested elements} & key, datum \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_response_data}
+
+This element features only one deviation from that of the \textit{NMC Protocol}: the key element or a datum element must exist inside. The key element will be explained in Section~\ref{s:metadatakey_response_analysis_key} and the datum element will be explained in Section~\ref{s:metadatakey_response_analysis_datum}.
+
+\paragraph{Key}
+\label{s:metadatakey_response_analysis_key}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:key xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="key1">
+
+  <nmwg:parameters />
+
+</nmwg:key>
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Key Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Key Element} \\
+    \hline
+    \textbf{localname} & key \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id \\ \hline    
+    \textbf{nested elements} & parameters \\ \hline
+    \textbf{required} & varies \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_response_key}
+
+The \textit{key} element is used to specify particular nuances of a dataset linked to a metadata description. The key element was first described in the \textit{NM Protocol}. This element can contain the following attributes:
+
+\begin{itemize}
+\item \textbf{id} - Identifying attribute that can be used to track state.
+\end{itemize}
+
+There is only one element allowed within the key:
+
+\begin{itemize}
+\item \textbf{Parameters} - Described in Parameters 
+\end{itemize}
+
+\paragraph{Datum}
+\label{s:metadatakey_response_analysis_datum}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:datum xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Datum Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Datum Element} \\
+    \hline
+    \textbf{localname} & datum \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & value, undefined \\ \hline    
+    \textbf{nested elements} & undefined \\ \hline
+    \textbf{required} & varies \\ \hline
+  \end{tabular}
+\end{table}\label{t:metadatakey_response_datum}
+
+The \textit{datum} element may appear instead of a \textit{key} when anomalous behaviour in the service prevents the return of a key. Legacy or alternate services may also choose to issue the key \textit{inside} of a datum element (see individual service documentation for details). This document will not specific attributes or elements for the datum element.
+
+\subsubsection{MetadataKeyResponse Message Example}
+\label{s:metadatakey_response_example}
+
+The following examples demonstrate some of the possible uses and layouts of response messages in the \textit{MA Protocol}.
+
+The first example is the most common form of \textit{MetadataKeyResponse} message containing a single metadata and data pair. This would be indicative of success due to the presence of the key.
+          
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/mdk_response1.xml"
+
+\end{verbatim}
+\normalsize
+         
+The second example is similar, although it features two pairs.
+          
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/mdk_response2.xml"
+
+\end{verbatim}
+\normalsize
+          
+The final example demonstrates an error condition. Note that this may contain multiple pairs if sent, and it may be possible to have success for some, and errors for others.
+          
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/mdk_response3.xml"
+
+\end{verbatim}
+\normalsize
+
+

Added: nmc-ma.bib
===================================================================
--- nmc-ma.bib	                        (rev 0)
+++ nmc-ma.bib	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,53 @@
+ at Misc{rfc2119,
+  author =       {S. Bradner},
+  title =        {{K}ey {W}ords for {U}se in {RFC}s to {I}ndicate {R}equirement {L}evels},
+  howpublished = {RFC 2119},
+  month =        {March},
+  year =         1997,
+  url = "http://www.ietf.org/rfc/rfc2119.txt",
+}
+
+ at TechReport{nmbase,
+   Title = "{An Extensible Schema for Network Measurement and Performance Data}",
+   Author = "M. Swany",
+  institution =  "Open Grid Forum",
+  year =         "2009",
+  type =         "Network Measurements Working Group Document",
+  month =        "May",
+  note =         "https://forge.gridforum.org/projects/nm-wg"
+}
+
+ at TechReport{nmcbase,
+   Title = "{An Extensible Protocol for Network Measurement and Control}",
+   Author = "J. Zurawski and M. Swany",
+  institution =  "Open Grid Forum",
+  year =         "2009",
+  type =         "Network Measurement Control Working Group Document",
+  month =        "May",
+  note =         "https://forge.gridforum.org/projects/nmc-wg"
+}
+
+ at misc{relaxng,
+                title = "{RELAX}-{NG} {S}chema {L}anguage",
+                key = "relaxng",
+                howpublished = "\url{http://relaxng.org/}"
+}
+
+ at misc{trang,
+                title = "{M}ulti-format schema converter based on {RELAX} {NG}",
+                key = "trang",
+                howpublished = "\url{http://www.thaiopensource.com/relaxng/trang.html}"
+}
+
+ at misc{msv,
+                title = "{S}un {M}ulti-{S}chema {XML} {V}alidator ({MSV})",
+                key = "msv",
+                howpublished = "\url{https://msv.dev.java.net/}"
+}
+
+ at misc{xsd,
+                title = "{XML} {S}chema)",
+                key = "xsd",
+                howpublished = "\url{http://www.w3.org/XML/Schema}"
+}
+

Added: nmc-ma.pdf
===================================================================
(Binary files differ)


Property changes on: nmc-ma.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/pdf

Added: nmc-ma.tex
===================================================================
--- nmc-ma.tex	                        (rev 0)
+++ nmc-ma.tex	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,153 @@
+\documentclass[11pt]{article}
+\usepackage{times}
+\usepackage{fullpage}
+\usepackage{citesort}
+\usepackage{fancyheadings}
+\usepackage{epsfig}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage{url}
+\usepackage{caption}
+\usepackage[outermarks]{titlesec}
+
+\titleformat{\section}
+  {\normalfont\Large\bfseries}{\thesection}{1em}{}
+\titleformat{\subsection}
+  {\normalfont\large\bfseries}{\thesubsection}{1em}{}
+\titleformat{\subsubsection}
+  {\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
+\titleformat{\paragraph}
+  {\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
+\titleformat{\subparagraph}
+  {\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
+
+\titlespacing*{\section}         {0pt}{3.5ex plus 1ex minus .2ex} {2.3ex plus .2ex}
+\titlespacing*{\subsection}      {0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
+\titlespacing*{\subsubsection}   {0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
+\titlespacing*{\paragraph}       {0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
+\titlespacing*{\subparagraph}    {0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
+
+\setcounter{secnumdepth}{6}
+\setcounter{tocdepth}{6} 
+
+\widowpenalty10000%
+\clubpenalty10000%
+
+\tolerance=1000
+
+\addtolength{\headheight}{30pt}
+
+\setlength{\captionmargin}{0.5in}
+\renewcommand{\captionlabelfont}{\bfseries}
+\setlength{\textfloatsep}{30pt plus 4pt minus 30pt}
+
+\lhead{\fancyplain{}{GWD-R}}
+\chead{}
+\rhead{\fancyplain{}{\today}}
+\lfoot{\fancyplain{nmc-wg at ogf.org}{nmc-wg at ogf.org}}
+\cfoot{}
+\rfoot{\fancyplain{\thepage}{\thepage}}
+\setlength{\headrulewidth}{0pt}
+
+\pagestyle{fancyplain}
+\thispagestyle{plain}
+
+\begin{document}
+%\maketitle
+\bibliographystyle{plain}
+
+{
+\noindent
+\begin{minipage}[t]{3.5in}
+GWD-R\\
+Network Measurement Control Working Group\\
+https://forge.gridforum.org/projects/nmc-wg\\
+\end{minipage}
+\hfill
+\raggedleft
+\begin{minipage}[t]{2.5in}
+\raggedleft
+Jason Zurawski, Internet2\\
+Martin Swany, UDel\\
+\today
+\end{minipage}
+}
+\begin{center}
+\Large\bf NMC Measurement Archive Messages\\
+DRAFT
+\end{center}
+
+{\noindent\bf Status of This Document} \\
+
+{\noindent This document provides information to the Grid community regarding the design of protocols to control software engaged in the creation, storage, and exchange of network measurements.  Distribution is unlimited.} \\
+
+{\noindent\bf Copyright Notice} \\
+
+{\noindent Copyright \copyright \ Open Grid Forum (2008-2009).  All Rights Reserved.} \\
+
+%\section{Abstract}
+
+%{\noindent ...}
+
+\tableofcontents
+
+\newpage
+
+\input{introduction}
+
+\input{metadatakey_new}
+
+\input{setupdata_new}
+
+\input{datainfo}
+
+\input{measurementarchivestore}
+
+\input{resultcodes}
+
+\section{Notational Conventions}
+
+The key words ``MUST'' ``MUST NOT'', ``REQUIRED'', ``SHALL'', ``SHALL NOT'', ``SHOULD'', ``SHOULD NOT'', ``RECOMMENDED'', ``MAY'',  and ``OPTIONAL'' are to be interpreted as described in RFC 2119 \cite{rfc2119}
+
+\section{Security Considerations}
+
+There are no security considerations.
+
+\section{Contributors}
+
+\textbf{Jason Zurawski} \\
+Internet2 \\
+1150 18th Street, NW \\
+Suite 1020 \\
+Washington, DC 20036 \\
+\\
+\textbf{D. Martin Swany} (editor) \\
+University of Delaware \\
+Department of Computer and Information Sciences \\
+Newark, DE 19716 \\
+
+%\section{Glossary}
+
+%{\noindent ...}
+
+\section{Intellectual Property Statement}
+
+{\noindent 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.} \\
+
+{\noindent 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.}
+
+\section{Disclaimer}
+
+{\noindent This document and the information contained herein is provided on an ``As Is'' 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. }
+
+\section{Full Copyright Notice}
+
+Copyright \copyright \ Open Grid Forum (2008-2009). All Rights Reserved. \\
+
+{\noindent 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.} \\
+
+{\noindent The limited permissions granted above are perpetual and will not be revoked by the OGF or its successors or assignees.}
+
+\bibliography{nmc-ma}
+
+\end{document}

Added: resultcodes.tex
===================================================================
--- resultcodes.tex	                        (rev 0)
+++ resultcodes.tex	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,34 @@
+\section{Result Codes}
+\label{s:resultcodes}
+
+The following new result codes can be incorporated into this extension based on the work in the \textit{NMC Protocol} \cite{nmcbase}. We will introduce these into both styles to allow for backwards compatibility. The original style is presented first:
+
+\begin{tabular}{lll}
+\\
+success. &     &  \\
+         & ma. &  \\
+\\
+error.   &     &  \\
+         & ma. &  \\
+\\
+\end{tabular}                 
+          
+We can express the same information using the new URI style:
+          
+\begin{tabular}{lllll}
+\\
+http://schemas.perfsonar.net/status/ &          &      &                 &     \\
+                                     & success/ &      &                 &     \\
+                                     &          &  ma/ &                 &     \\
+                                     & error/   &      &                 &     \\
+                                     &          &  ma/ &                 &     \\
+
+\\
+\end{tabular}
+
+
+
+
+
+
+

Added: schema/metadatakey_request.rnc
===================================================================
--- schema/metadatakey_request.rnc	                        (rev 0)
+++ schema/metadatakey_request.rnc	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,65 @@
+namespace nmwg = "http://ggf.org/ns/nmwg/base/2.0/"
+
+start =
+  element nmwg:message {
+    Identifier? & 
+    attribute type { "MetadataKeyRequest" } &
+    Parameters? &                        
+    (
+      Metadata |  
+      Data
+    )+
+  } 
+
+Parameters = 
+  element nmwg:parameters {
+    Identifier &
+    Parameter+
+  }
+ 
+Parameter = 
+  element nmwg:parameter { 
+    attribute name { xsd:string } &
+    (
+      attribute value { xsd:string } |
+      (
+        anyElement |
+        text
+      )
+    )
+  }   
+
+Metadata =
+  element nmwg:metadata {
+    Identifier & 
+    MetadataIdentifierRef? &
+    anyElement*
+  }
+
+Data =
+  element nmwg:data {
+    Identifier & 
+    MetadataIdentifierRef &
+  }
+
+Identifier =
+  attribute id { xsd:string }
+
+MetadataIdentifierRef =
+  attribute metadataIdRef { xsd:string }
+
+anyElement = 
+  element * { 
+    anyThing 
+  }
+
+anyAttribute = 
+  attribute * { text }
+
+anyThing = 
+  ( 
+    anyElement | 
+    anyAttribute | 
+    text 
+  )*
+


Property changes on: schema/metadatakey_request.rnc
___________________________________________________________________
Name: svn:executable
   + *

Added: schema/metadatakey_response.rnc
===================================================================
--- schema/metadatakey_response.rnc	                        (rev 0)
+++ schema/metadatakey_response.rnc	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,80 @@
+namespace nmwg = "http://ggf.org/ns/nmwg/base/2.0/"
+
+start =
+  element nmwg:message {
+    Identifier? & 
+    attribute messageIdRef { xsd:string }? &
+    attribute type { "MetadataKeyResponse" } &
+    Parameters? &                        
+    (
+      Metadata |  
+      Data
+    )+
+  } 
+
+Parameters = 
+  element nmwg:parameters {
+    Identifier &
+    Parameter+
+  }
+ 
+Parameter = 
+  element nmwg:parameter { 
+    attribute name { xsd:string } &
+    (
+      attribute value { xsd:string } |
+      (
+        anyElement |
+        text
+      )
+    )
+  }   
+
+Metadata =
+  element nmwg:metadata {
+    Identifier & 
+    MetadataIdentifierRef? &
+    anyElement*
+  }
+
+Data =
+  element nmwg:data {
+    Identifier & 
+    MetadataIdentifierRef &
+    (
+      Key |
+      Datum+
+    )
+  }
+
+Identifier =
+  attribute id { xsd:string }
+
+MetadataIdentifierRef =
+  attribute metadataIdRef { xsd:string }
+
+anyElement = 
+  element * { 
+    anyThing 
+  }
+
+anyAttribute = 
+  attribute * { text }
+
+anyThing = 
+  ( 
+    anyElement | 
+    anyAttribute | 
+    text 
+  )*
+
+Key = 
+  element nmwg:key {
+    Identifier? &    
+    Parameters
+  }
+
+Datum = 
+  element nmwg:datum {
+    anyThing*
+  }


Property changes on: schema/metadatakey_response.rnc
___________________________________________________________________
Name: svn:executable
   + *

Added: schema/setupdata_request.rnc
===================================================================
--- schema/setupdata_request.rnc	                        (rev 0)
+++ schema/setupdata_request.rnc	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,65 @@
+namespace nmwg = "http://ggf.org/ns/nmwg/base/2.0/"
+
+start =
+  element nmwg:message {
+    Identifier? & 
+    attribute type { "SetupDataRequest" } &
+    Parameters? &                        
+    (
+      Metadata |  
+      Data
+    )+
+  } 
+
+Parameters = 
+  element nmwg:parameters {
+    Identifier &
+    Parameter+
+  }
+ 
+Parameter = 
+  element nmwg:parameter { 
+    attribute name { xsd:string } &
+    (
+      attribute value { xsd:string } |
+      (
+        anyElement |
+        text
+      )
+    )
+  }   
+
+Metadata =
+  element nmwg:metadata {
+    Identifier & 
+    MetadataIdentifierRef? &
+    anyElement*
+  }
+
+Data =
+  element nmwg:data {
+    Identifier & 
+    MetadataIdentifierRef &
+  }
+
+Identifier =
+  attribute id { xsd:string }
+
+MetadataIdentifierRef =
+  attribute metadataIdRef { xsd:string }
+
+anyElement = 
+  element * { 
+    anyThing 
+  }
+
+anyAttribute = 
+  attribute * { text }
+
+anyThing = 
+  ( 
+    anyElement | 
+    anyAttribute | 
+    text 
+  )*
+


Property changes on: schema/setupdata_request.rnc
___________________________________________________________________
Name: svn:executable
   + *

Added: schema/setupdata_response.rnc
===================================================================
--- schema/setupdata_response.rnc	                        (rev 0)
+++ schema/setupdata_response.rnc	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,73 @@
+namespace nmwg = "http://ggf.org/ns/nmwg/base/2.0/"
+
+start =
+  element nmwg:message {
+    Identifier? & 
+    attribute messageIdRef { xsd:string }? &
+    attribute type { "SetupDataResponse" } &
+    Parameters? &                        
+    (
+      Metadata |  
+      Data
+    )+
+  } 
+
+Parameters = 
+  element nmwg:parameters {
+    Identifier &
+    Parameter+
+  }
+ 
+Parameter = 
+  element nmwg:parameter { 
+    attribute name { xsd:string } &
+    (
+      attribute value { xsd:string } |
+      (
+        anyElement |
+        text
+      )
+    )
+  }   
+
+Metadata =
+  element nmwg:metadata {
+    Identifier & 
+    MetadataIdentifierRef? &
+    anyElement*
+  }
+
+Data =
+  element nmwg:data {
+    Identifier & 
+    MetadataIdentifierRef &
+    (
+      Datum*
+    )
+  }
+
+Identifier =
+  attribute id { xsd:string }
+
+MetadataIdentifierRef =
+  attribute metadataIdRef { xsd:string }
+
+anyElement = 
+  element * { 
+    anyThing 
+  }
+
+anyAttribute = 
+  attribute * { text }
+
+anyThing = 
+  ( 
+    anyElement | 
+    anyAttribute | 
+    text 
+  )*
+
+Datum = 
+  element nmwg:datum {
+    anyThing*
+  }


Property changes on: schema/setupdata_response.rnc
___________________________________________________________________
Name: svn:executable
   + *

Added: setupdata.tex
===================================================================
--- setupdata.tex	                        (rev 0)
+++ setupdata.tex	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,497 @@
+\section{Setup Data}
+\label{s:setupdata}
+
+The \textit{SetupData} message exchange offers a way to retrieve measurement data for a given \textit{metadata} description or \textit{key} (collected via the \textit{MetadataKey} message exchange, see Section~\ref{s:metadatakey}). This message represents the true crux of measurement archive services and allows the retrieval of actual measurement data.
+
+Based on initial work in the \textit{NMC Protocol}, this exchange will be described in terms of both the \textit{SetupDataRequest} message and \textit{SetupDataResponse} message. Each explanation will include a schematic definition and analysis followed by example instances. Note that no one service will implement this protocol \textit{exactly} as presented; services are expected to offer an explanation of how they implement the protocol as well as any divergence in the service documentation.
+
+\subsection{SetupDataRequest Message}
+\label{s:setupdata_request}
+
+The \textit{SetupDataRequest} message is a container for submitting metadata of a given type to a capable Measurement Archive. Enclosed in this envelope will be a series of metadata and data pairs containing various instructions to act on. We first present a very simple schema in Section~\ref{s:setupdata_request_schema} along with an analysis of the elements in Section~\ref{s:setupdata_request_analysis}. We conclude with examples in Section~\ref{s:setupdata_request_example}.
+
+\subsubsection{SetupDataRequest Message Schema}
+\label{s:setupdata_request_schema}
+
+The following schema is a native description of the request schema as in the RELAX-NG\cite{relaxng} language. Through the use of tools such as Trang\cite{trang} and MSV\cite{msv} it is possible to convert this to other widely accepted formats such as XSD\cite{xsd}.
+
+\tiny
+\begin{verbatim}
+
+% INLINESCHEMA="schema/setupdata_request.rnc"
+
+\end{verbatim}
+\normalsize
+
+\subsubsection{SetupDataRequest Message Analysis}
+\label{s:setupdata_request_analysis}
+
+There are view deviations from the \textit{NMC Protocol} for this particular message type. The following analysis will describe each element, noting when there are changes.
+
+\paragraph{Message}
+\label{s:setupdata_request_analysis_message}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+              id="message1"
+              type="SetupDataRequest">
+
+  <nmwg:parameters />
+  
+  <nmwg:metadata />
+  
+  <nmwg:data />
+  
+</nmwg:message>
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Message Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Message Element} \\
+    \hline
+    \textbf{localname} & message \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, type \\ \hline    
+    \textbf{nested elements} & parameters, metadata, data \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_request_message}
+
+There is no difference in the structure of this element. The only notable difference is the value of \textit{type} is restricted to be \textit{SetupDataRequest}.
+
+\paragraph{Parameters}
+\label{s:setupdata_request_analysis_parameters}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:parameters xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="parameters1">
+
+  <nmwg:parameter />
+
+</nmwg:parameters>
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameters Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameters Element} \\
+    \hline
+    \textbf{localname} & parameters \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id \\ \hline    
+    \textbf{nested elements} & parameters \\ \hline
+    \textbf{required} & no \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_request_parameters}
+
+There is no difference in the structure of this element.
+
+\paragraph{Parameter}
+\label{s:setupdata_request_analysis_parameter}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:parameter xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+                name="NAME">VALUE</nmwg:parameter>
+
+<!-- OR -->
+
+<nmwg:parameter xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+                name="NAME" value="VALUE" />
+            
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameter Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameter Element} \\
+    \hline
+    \textbf{localname} & parameter \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & name, value \\ \hline    
+    \textbf{nested elements} & text \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_request_parameter}
+
+There is no difference in the structure of this element.
+
+\paragraph{Metadata}
+\label{s:setupdata_request_analysis_metadata}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+               id="metadata2" metadataIdRef="metadata1" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Metadata Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Metadata Element} \\
+    \hline
+    \textbf{localname} & metadata \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, metadataIdRef \\ \hline    
+    \textbf{nested elements} & undefined \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_request_metadata}
+
+There is no difference in the structure of this element. Note that the contents will vary from service to service.
+
+\paragraph{Data}
+\label{s:setupdata_request_analysis_data}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+           id="data2" metadataIdRef="metadata2" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Data Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Data Element} \\
+    \hline
+    \textbf{localname} & data \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, metadataIdRef \\ \hline    
+    \textbf{nested elements} & N/A \\ \hline
+    \textbf{required} & varies \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_request_data}
+
+There is no difference in the structure of this element. The only notable difference is that this element \textbf{SHOULD NOT} contain any nested elements. This element should only be used as a \textit{data trigger} for services to act on particular metadata elements.
+
+\subsubsection{SetupDataRequest Message Example}
+\label{s:setupdata_request_example}
+
+The following examples demonstrate some of the possible uses and layouts of request messages in the \textit{MA Protocol}. These examples are not an attempt to be exhaustive, but rather some examples of ways to perform common tasks. Note that these messages are \textbf{NOT} indicative of a particular service.
+
+The first example demonstrates the most common use case: a single metadata and data pair.
+          
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/sd_request1.xml"
+
+\end{verbatim}
+\normalsize  
+        
+The second example is similar, but incorporates a parameters block that may be populated with optional behaviors for a service.
+
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/sd_request2.xml"
+
+\end{verbatim}
+\normalsize 
+        
+The third example is also similar to the first, but shows it is possible to ask for multiple pairs of metadata and data in a single message. Note that there are two empty \textit{data trigger}s to signify that each message be acted upon.
+
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/sd_request3.xml"
+
+\end{verbatim}
+\normalsize 
+        
+This example features \textit{merge chaining}. Note there is only one \textit{data trigger}, and it is at the tail of the \textit{chain}. A service would perform the necessary chaining first, then act on the result of this operation.
+     
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/sd_request4.xml"
+
+\end{verbatim}
+\normalsize           
+        
+The final example is an invalid case where the metadata does not have an appropriate data trigger.
+
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/sd_request5.xml"
+
+\end{verbatim}
+\normalsize 
+
+\subsection{SetupDataResponse Message}
+\label{s:setupdata_response}
+
+The \textit{SetupDataResponse} message is a container filled with the results of a \textit{SetupDataRequest} Message from capable Measurement Archive services. Enclosed in this simple envelope will be a series of metadata and data pairs containing the results of actions performed by a service. We first present a very simple schema in Section~\ref{s:setupdata_response_schema} along with an analysis of the elements in Section~\ref{s:setupdata_response_analysis}. We conclude with examples in Section~\ref{s:setupdata_response_example}.
+
+\subsubsection{SetupDataResponse Message Schema}
+\label{s:setupdata_response_schema}
+
+The following schema is a native description of the request schema as in the RELAX-NG\cite{relaxng} language. Through the use of tools such as Trang\cite{trang} and MSV\cite{msv} it is possible to convert this to other widely accepted formats such as XSD\cite{xsd}.
+
+\tiny
+\begin{verbatim}
+
+% INLINESCHEMA="schema/setupdata_response.rnc"
+
+\end{verbatim}
+\normalsize
+
+\subsubsection{SetupDataResponse Message Analysis}
+\label{s:setupdata_response_analysis}
+
+The following is a breakdown of the elements featured in the schema.
+
+\paragraph{Message}
+\label{s:setupdata_response_analysis_message}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+              id="message1"
+              type="SetupDataResponse">
+
+  <nmwg:parameters />
+  
+  <nmwg:metadata />
+  
+  <nmwg:data />
+  
+</nmwg:message>
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Message Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Message Element} \\
+    \hline
+    \textbf{localname} & message \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, type, messageIdRef \\ \hline    
+    \textbf{nested elements} & parameters, metadata, data \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_response_message}
+
+There is no difference in the structure of this element. The only notable difference is the value of \textit{type} is restricted to be \textit{SetupDataResponse}.
+
+\paragraph{Parameters}
+\label{s:setupdata_response_analysis_parameters}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:parameters xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="parameters1">
+
+  <nmwg:parameter />
+
+</nmwg:parameters>
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameters Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameters Element} \\
+    \hline
+    \textbf{localname} & parameters \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id \\ \hline    
+    \textbf{nested elements} & parameter \\ \hline
+    \textbf{required} & no \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_response_parameters}
+
+There is no difference in the structure of this element.
+
+\paragraph{Parameter}
+\label{s:setupdata_response_analysis_paramter}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:parameter xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+                name="NAME">VALUE</nmwg:parameter>
+
+<!-- OR -->
+
+<nmwg:parameter xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" 
+                name="NAME" value="VALUE" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Parameter Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Parameter Element} \\
+    \hline
+    \textbf{localname} & parameter \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & name, value \\ \hline    
+    \textbf{nested elements} & text, undefined \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_response_parameter}
+
+There is no difference in the structure of this element.
+
+\paragraph{Metadata}
+\label{s:setupdata_response_analysis_metadata}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+               id="metadata2" metadataIdRef="metadata1" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Metadata Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Metadata Element} \\
+    \hline
+    \textbf{localname} & metadata \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, metadataIdRef \\ \hline    
+    \textbf{nested elements} & undefined \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_response_metadata}
+
+There is no difference in the structure of this element. As in Section~\ref{s:setupdata_request_analysis_metadata} the contents of this element will vary by service.
+
+\paragraph{Data}
+\label{s:setupdata_response_analysis_data}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
+           id="data2" metadataIdRef="metadata2" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Data Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Data Element} \\
+    \hline
+    \textbf{localname} & data \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & id, metadataIdRef \\ \hline    
+    \textbf{nested elements} & datum \\ \hline
+    \textbf{required} & yes \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_response_data}
+
+This element features only one deviation from that of the \textit{NMC Protocol}: datum elements are expected to reside in the data element, it will be explained in Section~\ref{s:setupdata_response_analysis_datum}.
+
+\paragraph{Datum}
+\label{s:setupdata_response_analysis_datum}
+
+\tiny
+\begin{verbatim}
+
+<nmwg:datum xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" />
+
+\end{verbatim}
+\normalsize
+
+\begin{table}[h!]
+  \caption{Datum Element Specifics}
+  \begin{tabular}{ | l || l | }
+
+    \hline
+    \multicolumn{2}{|c|}{Datum Element} \\
+    \hline
+    \textbf{localname} & datum \\ \hline    
+    \textbf{namespaces} & http://ggf.org/ns/nmwg/base/2.0/ \\ \hline    
+    \textbf{attributes} & value, undefined \\ \hline    
+    \textbf{nested elements} & undefined \\ \hline
+    \textbf{required} & varies \\ \hline
+  \end{tabular}
+\end{table}\label{t:setupdata_response_datum}
+
+The datum element is the only element that should appear here. This document will not specific attributes or elements for the datum element.
+
+\subsubsection{SetupDataResponse Message Example}
+\label{s:setupdata_response_example}
+
+The following examples demonstrate some of the possible uses and layouts of response messages in the \textit{MA Protocol}.
+
+The first example is the most common form of \textit{SetupDataResponse} message containing a single metadata and data pair. This would be indicative of success due to the presence of the \textit{key}.
+
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/sd_response1.xml"
+
+\end{verbatim}
+\normalsize
+                  
+The second example is similar, although it features two pairs.
+
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/sd_response2.xml"
+
+\end{verbatim}
+\normalsize
+          
+The final example demonstrates an error condition. Note that this may contain multiple pairs if sent, and it may be possible to have success for some, and errors for others.
+
+\tiny
+\begin{verbatim}
+
+% INLINEXML="examples/sd_response3.xml"
+
+\end{verbatim}
+\normalsize
+          
+
+

Added: util/inline.pl
===================================================================
--- util/inline.pl	                        (rev 0)
+++ util/inline.pl	2010-01-12 13:43:18 UTC (rev 1)
@@ -0,0 +1,39 @@
+#!/usr/bin/perl -w
+
+use strict;
+use warnings;
+
+while(<>) {
+  chop;
+  if ($_ =~ m/^\%\s+INLINESCHEMA=.*/) {
+    my ($fn) = m/"(.*)"/;
+    open F, "< $fn";
+    print "\# Begin Schema\n\n";
+    while(<F>) {
+      print $_;
+    }
+    print "\n\# End Schema\n";
+  }
+  if ($_ =~ m/^\%\s+INLINEXML=.*/) {
+    my ($fn) = m/"(.*)"/;
+    open F, "< $fn";
+    print "<!-- Begin XML -->\n\n";
+    while(<F>) {
+      print $_;
+    }
+    print "\n<!-- End XML -->\n";
+  }
+  if ($_ =~ m/^\%\s+INLINE=.*/) {
+    my ($fn) = m/"(.*)"/;
+    open F, "< $fn";
+    print "\# Begin \n\n";
+    while(<F>) {
+      print $_;
+    }
+    print "\n\# End \n";
+  }
+  else { 
+    print "$_\n"; 
+  }
+}
+


Property changes on: util/inline.pl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + text/x-perl
Name: svn:keywords
   + "Author Date Id Rev URL"
Name: svn:eol-style
   + native



More information about the Nmc-wg mailing list