XML格式解读
<?xml version="1.0" encoding="UTF-8" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><!-- 简易元素的定义 --><xs:element name="Initialtime" type="xs:decimal"/><xs:element name="Finaltime" type="xs:decimal"/><xs:element name="Timestep" type="xs:decimal"/><xs:element name="TimeUnits" type="xs:string"/><xs:element name="max" type="xs:decimal"/><xs:element name="min" type="xs:decimal"/><xs:element name="equation" type="xs:string"/><xs:element name="initialvalue" type="xs:string"/><xs:element name="increment" type="xs:decimal"/><xs:element name="value" type="xs:decimal"/><xs:element name="name"><xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[^ ]*"/></xs:restriction></xs:simpleType></xs:element><xs:element name="unit"><xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[^ ]*"/></xs:restriction></xs:simpleType></xs:element><!-- 属性的定义 --><xs:attribute name="id" type="xs:integer"/><!-- 复合元素的定义 --><xs:element name="predecessor"><xs:complexType><xs:attribute ref="id" use="required"/></xs:complexType></xs:element><xs:element name="succeed"><xs:complexType><xs:attribute ref="id" use="required"/></xs:complexType></xs:element><xs:element name="predecessors"><xs:complexType><xs:sequence><xs:element ref="predecessor" maxOccurs="unbounded" minOccurs="0"/></xs:sequence></xs:complexType></xs:element><xs:element name="succeeds"><xs:complexType><xs:sequence><xs:element ref="succeed" maxOccurs="unbounded" minOccurs="0"/></xs:sequence></xs:complexType></xs:element><!--int id; // *必有Component_Type type;// *必有String name;// *必有String equation;// *必有String unit;Vector<Float> hist_value;float Max;float Min;List<Integer> predecessor;List<Integer> succeed;String initialvalue;// *必有 --><xs:element name="Stock"><xs:complexType><xs:all><xs:element ref="name" /><xs:element ref="equation" /><xs:element ref="unit" minOccurs="0"/><xs:element ref="max" minOccurs="0"/><xs:element ref="min" minOccurs="0"/><xs:element ref="predecessors" minOccurs="0"/><xs:element ref="succeeds" minOccurs="0"/><xs:element ref="initialvalue" /></xs:all><xs:attribute ref="id" use="required"/></xs:complexType></xs:element><xs:element name="Stocks"><xs:complexType><xs:sequence><xs:element ref="Stock" maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><!--int id; // *必有Component_Type type;// *必有String name;// *必有String equation;// *必有String unit;Vector<Float> hist_value;float Max;float Min;List<Integer> predecessor;List<Integer> succeed;float value; //可能是不需要的 --><xs:element name="Rate"><xs:complexType><xs:all><xs:element ref="name" /><xs:element ref="equation" /><xs:element ref="unit" minOccurs="0"/><xs:element ref="max" minOccurs="0"/><xs:element ref="min" minOccurs="0"/><xs:element ref="predecessors" minOccurs="0"/><xs:element ref="succeeds" minOccurs="0"/><xs:element ref="value" minOccurs="0"/></xs:all><xs:attribute ref="id" use="required"/></xs:complexType></xs:element><xs:element name="Rates"><xs:complexType><xs:sequence><xs:element ref="Rate" maxOccurs="unbounded" minOccurs="0"/></xs:sequence></xs:complexType></xs:element><!--int id; // *必有Component_Type type;// *必有String name;// *必有String equation;// *必有String unit;Vector<Float> hist_value;float Max;float Min;List<Integer> predecessor;List<Integer> succeed;float Increment;float value; //可能是不需要的 --><xs:element name="Variable"><xs:complexType><xs:all><xs:element ref="name" /><xs:element ref="equation" /><xs:element ref="unit" minOccurs="0"/><xs:element ref="max" minOccurs="0"/><xs:element ref="min" minOccurs="0"/><xs:element ref="predecessors" minOccurs="0"/><xs:element ref="succeeds" minOccurs="0"/><xs:element ref="increment" minOccurs="0"/><xs:element ref="value" minOccurs="0"/></xs:all><xs:attribute ref="id" use="required"/></xs:complexType></xs:element><xs:element name="Variables"><xs:complexType><xs:sequence><xs:element ref="Variable" maxOccurs="unbounded" minOccurs="0"/></xs:sequence></xs:complexType></xs:element><xs:element name="setup"><xs:complexType><xs:sequence><xs:element ref="Stocks" maxOccurs="1"/><xs:element ref="Rates" maxOccurs="1" minOccurs="0"/><xs:element ref="Variables" maxOccurs="1" minOccurs="0"/></xs:sequence></xs:complexType></xs:element><xs:element name="execute"><xs:complexType><xs:all><xs:element ref="Initialtime"/><xs:element ref="Finaltime"/><xs:element ref="Timestep"/><xs:element ref="TimeUnits" minOccurs="0"/></xs:all></xs:complexType></xs:element><xs:element name="simulation"><xs:complexType><xs:all><xs:element ref="execute"/><xs:element ref="setup"/></xs:all></xs:complexType></xs:element></xs:schema>
