[Nml-wg] Suggestions for revised NML XSD schema

Henrik Thostrup Jensen htj at nordu.net
Thu Nov 7 07:35:36 EST 2013


Hi

It seems we need a rehash of NML XML schema for support NSI. Here are some
further suggestions for how to improve the schema. The changes should not
change the semantics of NML, but just make it easier to parse.

* Any element in PortGroup

   This is the main problem. John already has a fix for this.
   Should probably go through the NML schema and check that it is on everywhere.

* Bidirectional ports after unidirectional ports

   In the current model a bidirectional port is composed of two unidirectional
   ports. When building a datastructure representation, this means that one has
   to construct a temporary value/object to track this mapping, as the data
   structure representing the undirectional ports have not yet been created.
   Having the bidirectional ports after the unidirectional removes this need,
   making the parsing simpler.

* Replace nml:Relation

   The nml:Relation constructs are not very "XML". I suggest that instead of
   <nml:Relation type="http://schemas.ogf.org/nml/2013/05/base#hasInboundPort">
   one would use:
   <nml:InboundPorts>
   Several elements would have to be constructed for this though.

* Identical List constructs

   The way list of bidirectional ports and unidirectional ports are created are
   different. Bidirectional ports are repeated in the topology element, where as
   unidirectional ports are contained under an element. I.e:

   <nml:Topology id=...>
     <nml:BidirectionalPort id=...>
         ...
     </nml:BidirectionalPort>
     <nml:BidirectionalPort id=...>
         ...
     </nml:BidirectionalPort>

     <nml:Relation type="http://schemas.ogf.org/nml/2013/05/base#hasInboundPort">
       <nml:PortGroup id=...>
           ...
       </nml:PortGroup>
       <nml:PortGroup id=...>
           ...
       </nml:PortGroup>
     </nml:Relation>
   </nml:Topology>

There isn't really a wrong or right way to do this, but I think doing both is
the worst option. I understand that bidirectional ports are a somewhat special
things in NML, but they could still easily be contained in an element.


     Best regards, Henrik

  Henrik Thostrup Jensen <htj at nordu.net>
  Software Developer, NORDUnet



More information about the nml-wg mailing list