ptop.rng 2.48 KB
Newer Older
1 2 3
<?xml version="1.0" encoding="UTF-8"?>
<!--
  
Robert Ricci's avatar
Robert Ricci committed
4
  Copyright (c) 2007-2010 University of Utah and the Flux Group.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
  
  {{{EMULAB-LICENSE
  
  This file is part of the Emulab network testbed software.
  
  This file is free software: you can redistribute it and/or modify it
  under the terms of the GNU Affero General Public License as published by
  the Free Software Foundation, either version 3 of the License, or (at
  your option) any later version.
  
  This file is distributed in the hope that it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public
  License for more details.
  
  You should have received a copy of the GNU Affero General Public License
  along with this file.  If not, see <http://www.gnu.org/licenses/>.
  
  }}}
24 25 26 27 28 29 30
  
-->
<!--
  
  Description of a physical topology
  
-->
31
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" ns="http://emulab.net/resources/ptop/0.1" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
  <include href="top.rng"/>
  <define name="TypeLimitSpec">
    <a:documentation>A simple policy specification - it may end up that policy does not belong in
the ptop file directly</a:documentation>
    <element name="type_limit">
      <element name="type_name">
        <a:documentation>Name of the type we are limiting</a:documentation>
        <text/>
      </element>
      <element name="type_limit">
        <a:documentation>Limit as to the number of nodes of this type the experiment can use</a:documentation>
        <data type="integer">
          <param name="minInclusive">0</param>
        </data>
      </element>
    </element>
  </define>
  <start>
    <element name="ptop">
      <attribute name="testbed">
        <a:documentation>The testbed that this physical topology came from - will be used for
federation</a:documentation>
      </attribute>
      <zeroOrMore>
56 57 58 59 60 61
        <choice>
          <a:documentation>Nodes in the topology - zero or more
Links in the topology - zero or more</a:documentation>
          <ref name="NodeSpec"/>
          <ref name="LinkSpec"/>
        </choice>
62 63
      </zeroOrMore>
      <zeroOrMore>
64
        <!--    LinkSpec*, -->
65 66 67 68 69 70 71 72
        <ref name="TypeLimitSpec">
          <a:documentation>Any limits on how many nodes of a particular type this experiment can
use.</a:documentation>
        </ref>
      </zeroOrMore>
    </element>
  </start>
</grammar>