perfsonar-dev - Re: [I2-perfSONAR] PingER services and schemas
Subject: perfsonar development work
List archive
- From: Jason Zurawski <>
- To: maxim <>
- Cc: 'Yee-Ting Li' <>, , , 'Les Cottrell' <>, 'Warren Matthews' <>
- Subject: Re: [I2-perfSONAR] PingER services and schemas
- Date: Wed, 30 May 2007 08:35:11 -0400
- Organization: Internet2
maxim wrote:
Hi Yee,
I am still working on your schema. One thing is clear - it should be
independed to current ping.rnc
since extending it will create more mess.
I would agree that it should be separate as well.
Another this is that even without
dependence the schema is not valid
due some inherited problems from underlying schemas. They all written in
Relax NG which makes them more expressive
but less valid when translated into the XML schema world. For example ( and
this is a question to the person
who designed it, its nmtopo-l4.rnc file ) this fragment is not valid (
elements with the same name must be of the same type):
The tooling I regularly use claims warning on this, which I have always interpreted as being usable for our [non-validated] purposes. We could of course re-write the various fragments so the validator is happy, but we loose a little bit of power (i.e. a single 'endPoint' with roles that can be 'src' or 'dst' can lead us to something that has two of either).
L4EndpointPairContent =
(
element nmtl4:endPoint {
attribute port { xsd:string }? &
attribute protocol { xsd:string }? &
(
attribute role { "src" } |
element nmwgtopo3:role { "src" }
)? &
(
element nmtl4:address { L4Address } |
element nmtl3:interface { anyThing }
)? },
element nmtl4:endPoint {
attribute port { xsd:string }? &
attribute protocol { xsd:string }? &
(
attribute role { "dst" } |
element nmwgtopo3:role { "dst" }
)? &
(
element nmtl4:address { L4Address } |
element nmtl3:interface { anyThing }
) } )
Can someone let me know how to deal with that ?
Also in the nmbase.rnc this will violate UPA principal :
The usual problem that will violate this is the choice between attribute and element:
<element name="foo" value="bar"> vs. <element name="foo">bar</element>
The 'anyElement' trick also probably allows for an ambigous parse (i.e. an element like <subject> can enter into it's specified pattern, or be picked up by 'anyElement'.
Because we have never forced strict validation at the code level this hasn't been an issue, but if anyone has suggestions to tighten this up it would be great. In my opinion it is important to have 'legal' XML more than completely validated XML, the individual implementations know exactly what they need and do a great deal of the rejection.
-jason
- PingER services and schemas, Yee-Ting Li, 05/25/2007
- RE: [I2-perfSONAR] PingER services and schemas, maxim, 05/29/2007
- Re: [I2-perfSONAR] PingER services and schemas, Jason Zurawski, 05/30/2007
- RE: [I2-perfSONAR] PingER services and schemas, maxim, 05/30/2007
- Re: [I2-perfSONAR] PingER services and schemas, Yee-Ting Li, 05/31/2007
- Re: [I2-perfSONAR] PingER services and schemas, Jason Zurawski, 05/30/2007
- RE: [I2-perfSONAR] PingER services and schemas, maxim, 05/29/2007
Archive powered by MHonArc 2.6.16.