Re: New working draft of the infrastructure schema available [message #191 is a reply to message #188] |
Wed, 13 June 2007 14:09 |
Volker Knollmann
Messages: 32 Registered: October 2003
|
Member |
|
|
For those of you in a hurry:
http://www.railml.org/genesis/infrastructure/drafts/r19/infr astructure_r19.xsd
http://www.railml.org/genesis/infrastructure/drafts/r19/chan gelog.txt
Dear railML-Community,
I just prepared a new issue of the IS-Schema based on the feedback given
by the other coordinators and by Heidrun Jost, who reported an error.
The error was related to the new xs:any-element, which has been
introduced to allow easy schema extension.
Unfortunately, I used xs:any as follows:
<xs:element name="e1"/>
<xs:element name="e2"/>
<xs:any/>
This kind of usage is wrong, because the content model becomes
ambiguous, because a file like
<e1/> <e2/> <e2/>
can be valid (the second e2 is part of xs:any) or invalid (the second e2
is an unallowed repetition of the first e2).
To avoid this ambiguity, I moved xs:any to a separate subtree like this:
<xs:element name="e1">
<xs:element name="e2">
<xs:element name="otherElements">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:any/>
</xs:sequence>
</xs:complexType>
So a file with customer specific extensions would look like this now:
<e1/>
<e2/>
<otherElements>
<thisIsMyOwnElementAndICanDoWhateverIWant/>
</otherElements>
Due to this change, the customer elements are not at the same level as
the "genuine" elements of railML, but I think this is more of a
aesthetic issue than a real problem.
For all other changes, please take a look at the changelog file (see
link above).
I'm looking forward to your comments!
Best regards,
Volker Knollmann
--
Dipl.-Ing. Volker Knollmann
Coordinator RailML-Infrastructure
Phone: +49 (0) 531 295-3461, Fax: -3402
German Aerospace Center (DLR)
Institute of Transportation Systems
Lilienthalplatz 7, D-38108 Braunschweig
|
|
|