perfsonar-dev - Schema defining the same element on the same level twice
Subject: perfsonar development work
List archive
- From: Jochen Reinwand <>
- To: "" <>
- Subject: Schema defining the same element on the same level twice
- Date: Thu, 7 Jun 2007 16:14:36 +0200
Hi all,
For those attending the JRA1 Meeting: Find attached an example of a Schema
defining the same element on the same level twice. The file
metadataKeyResponse-orig.rnc is the file Michalis sent me, because it could
not be loaded in soapUI. I changed it to make it possible (see the file
metadataKeyResponse.rnc).
The problem: You will find the element nmwg:metadata defined twice in the
first file.
regards,
Jochen
--
Jochen Reinwand Tel: +49 9131 852-8689
DFN Labor
Regionales Rechenzentrum Erlangen
Martensstrasse 1
91058 Erlangen
email:
# Version = $Id:$ # Author = loukik namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/" namespace nmwgtopo3="http://ggf.org/ns/nmwg/topology/base/3.0/" namespace nmtl2="http://ggf.org/ns/nmwg/topology/l2/3.0/" namespace select="http://ggf.org/ns/nmwg/ops/select/2.0/" namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/" start = element nmwg:message { MessageContent } MessageContent = Identifier? & MessageIdentifierRef? & Type & ( (Metadata+ |ResultCodeMetadata)& Data+ ) Identifier = attribute id { xsd:string } MessageIdentifierRef = attribute messageIdRef { xsd:string } Type = attribute type { "MetadataKeyResponse" } Metadata= element nmwg:metadata { ( Identifier & MetadataIdentifierRef? & SubjectMetadata? & Parameters? ) } MetadataIdentifierRef = attribute metadataIdRef { xsd:string } SubjectMetadata= element nmwg:subject { Identifier & ( element nmwgtopo3:node { Identifier& element nmwgtopo3:name{ attribute type {"logical"}& xsd:string }? & element nmwgtopo3:country{xsd:string}? & element nmwgtopo3:city{xsd:string}? & element nmwgtopo3:institution{xsd:string}? & element nmwgtopo3:latitude{xsd:string}? & element nmwgtopo3:longitude{xsd:string}? & element nmwgtopo3:type{"TopologyPoint"}? }+ | element nmtl2:link { Identifier & element nmtl2:name { attribute type{"logical"}& text }& element nmtl2:globalName { attribute type{"logical"}& text }& element nmtl2:type {xsd:string}? & element nmwgtopo3:node { Identifier & attribute nodeIdRef{xsd:string} & element nmwgtopo3:role{"DemarcPoint"|"EndPoint"}? }* } ) } Parameters = element nmwg:parameters { Identifier & element nmwg:parameter { attribute name {xsd:string} & attribute value {xsd:string}? & xsd:string }+ } ResultCodeMetadata = element nmwg:metadata { attribute id {xsd:string}, element nmwg:eventType {text} } Data = (KeyData|ResultCodeData) KeyData = element nmwg:data { Identifier & MetadataIdentifierRef & Key } Key = element nmwg:key { attribute id {xsd:string}?, Parameters } ResultCodeData = element nmwg:data { attribute id {xsd:string}, attribute metadataIdRef {xsd:string}, element nmwgr:datum { text } }
# Version = $Id:$ # Author = loukik namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/" namespace nmwgtopo3="http://ggf.org/ns/nmwg/topology/base/3.0/" namespace nmtl2="http://ggf.org/ns/nmwg/topology/l2/3.0/" namespace select="http://ggf.org/ns/nmwg/ops/select/2.0/" namespace nmwgr="http://ggf.org/ns/nmwg/result/2.0/" start = element nmwg:message { MessageContent } MessageContent = Identifier? & MessageIdentifierRef? & Type & ( (Metadata+ |ResultCodeMetadata)& Data+ ) Identifier = attribute id { xsd:string } MessageIdentifierRef = attribute messageIdRef { xsd:string } Type = attribute type { "MetadataKeyResponse" } Metadata= element nmwg:metadata { ( Identifier & MetadataIdentifierRef? & SubjectMetadata? & Parameters? & EventType? ) } MetadataIdentifierRef = attribute metadataIdRef { xsd:string } SubjectMetadata= element nmwg:subject { Identifier & ( element nmwgtopo3:node { Identifier& element nmwgtopo3:name{ attribute type {"logical"}& xsd:string }? & element nmwgtopo3:country{xsd:string}? & element nmwgtopo3:city{xsd:string}? & element nmwgtopo3:institution{xsd:string}? & element nmwgtopo3:latitude{xsd:string}? & element nmwgtopo3:longitude{xsd:string}? & element nmwgtopo3:type{"TopologyPoint"}? }+ | element nmtl2:link { Identifier & element nmtl2:name { attribute type{"logical"}& text }& element nmtl2:globalName { attribute type{"logical"}& text }& element nmtl2:type {xsd:string}? & element nmwgtopo3:node { Identifier & attribute nodeIdRef{xsd:string} & element nmwgtopo3:role{"DemarcPoint"|"EndPoint"}? }* } ) } Parameters = element nmwg:parameters { Identifier & element nmwg:parameter { attribute name {xsd:string} & attribute value {xsd:string}? & xsd:string }+ } ResultCodeMetadata = Metadata EventType = element nmwg:eventType { xsd:string } Data = element nmwg:data { Identifier & MetadataIdentifierRef & ( Key | ResultCodeData ) } Key = element nmwg:key { attribute id {xsd:string}?, Parameters } ResultCodeData = element nmwg:data { attribute id {xsd:string}, attribute metadataIdRef {xsd:string}, element nmwgr:datum { text } }
- Schema defining the same element on the same level twice, Jochen Reinwand, 06/07/2007
Archive powered by MHonArc 2.6.16.