90 likes | 209 Views
Request/Response Schema Reconciliation. Dan Gunter, LBNL NM-WG GGF12, Brussels. Whence the schemas?. Request: http://www.hep.ucl.ac.uk/~pdm/nmwg/2004-09-01-NM-WG-Request-Schema.rnc.html Response: http://www-didc.lbl.gov/NMWG/schemas/relax/report.html. Notation.
E N D
Request/Response SchemaReconciliation Dan Gunter, LBNL NM-WG GGF12, Brussels
Whence the schemas? • Request: • http://www.hep.ucl.ac.uk/~pdm/nmwg/2004-09-01-NM-WG-Request-Schema.rnc.html • Response: • http://www-didc.lbl.gov/NMWG/schemas/relax/report.html
Notation • Each section of Request schema (RELAX-NG compact syntax) • Areas which differ are highlighted in red • These are mostly additions • otherwise there will be some notation to indicate a deleted or changed item
Sections • Request • The top-level of the request • Timeinfo • Representing time • Subject • Test subject • Params • Test parameters • Tool • Tool metadata
nm_request.rnc • start = element networkMeasurementRequest { NetworkMeasurementRequest } • NetworkMeasurementRequest = • element request { Request }+, attribute version • Request = • element characteristic { token }, • element subject { ( element node { Node } | element path { Path } ), Report}, • element methodology { Methodology }?, “+” • element statistics { Statistics }?, • attribute maxResults { token | xsd:positiveInteger }?, • attribute allowNewMeasurements { xsd:boolean }?, • attribute reportEverything { xsd:boolean }? • Methodology = • element endpoint { Endpoint }?, • element tool { Tool } xx?xx, • element when { TimeInformation }, • element parameterSet { ParameterSet }* • Endpoint = token • Required = attribute required { xsd:boolean }? • Report = attribute report { xsd:boolean}?
nm_timeinfo.rnc • TimeInformation = • element time { token | xsd:double }?, • element plusTimeTolerance { token | xsd:double }?, • element minusTimeTolerance { token | xsd:double }?, • element testingInterval { token | xsd:double }?
same nm_subject.rnc • Address = • element host { token }, • element port { xsd:short }?, • attribute version { token } • Node = • element address { Address }, • element name { string }? • Path = • element source { Node }?, • element destination { Node }?
nm_params.rnc • ParameterSet = • element duration { xsd:double, attribute units { token }, ParameterAttributes }*, • #element packetType { token, ParameterAttributes }*, • … • element other { Extensibility }? • ParameterAttributes = • Required, • attribute report { xsd:boolean}?, • attribute range { “min” | “max” | “ exact” }?
nm_tool.rnc • Tool = • attribute required { xsd:boolean }?, • element name { token }, • element major { xsd:int }?, • element minor { xsd:int }?, • element release { token }?, • element buildDate{ xsd:date }?, • element vendor { text }?, • element versionString { text }?, • element sourceCommandLine { ToolCommandLine }?, • element destCommandLine { ToolCommandLine }? • ToolCommandLine = • element arg { text }+ | • element line { text }