以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XML源码及示例(仅原创和转载) 』 (http://bbs.xml.org.cn/list.asp?boardid=32) ---- 刚学的schema,写了第一个xml schema.请各位专家看看,是否有可以改进的地方。 (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=20225) |
-- 作者:Lutx -- 发布时间:7/7/2005 7:22:00 PM -- 刚学的schema,写了第一个xml schema.请各位专家看看,是否有可以改进的地方。 <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="Machine"> <xs:annotation> <xs:documentation>Define a Machine</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice> <xs:element ref="Indm3"/> </xs:choice> <xs:attribute name="machinetype" use="required" fixed="0"> <xs:annotation> <xs:documentation>0: Three-phase Induction Motor</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:nonNegativeInteger"> <xs:minInclusive value="0"/> <xs:maxInclusive value="12"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="unit_system" use="optional" default="1"> <xs:annotation> <xs:documentation>0: English 1:Metric</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:enumeration value="0"/> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="wire_setting" default="American"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="American"/> <xs:enumeration value="Chinese"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="Indm3"> <xs:annotation> <xs:documentation>Three-phase induction motor </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="General"> <xs:complexType> <xs:sequence> <xs:element name="rated_power" type="PowerValue"/> <xs:element name="voltage" type="VoltValue" default="380"/> <xs:element name="connection" type="ConnTypeValue" default="0"/> <xs:element name="pole_pairs" type="PolesValue" default="1"> <xs:annotation> <xs:documentation>must be an even number</xs:documentation> </xs:annotation> </xs:element> <xs:element name="frequency" type="FreqValue" default="50"/> <xs:element name="speed" type="SpeedValue"/> <xs:element name="stray_loss" type="LossValue"/> <xs:element name="frictional_loss" type="LossValue"/> <xs:element name="load_type" type="LoadTypeValue"/> <xs:element name="stator_length" type="NonZeroSizeValue"/> <xs:element name="stator_SF" type="StackingFactorValue"/> <xs:element name="stator_steel" type="xs:string"/> <xs:element name="op_temperature" type="TempValue"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Stator1"> <xs:complexType> <xs:sequence> <xs:element name="stator_slots" type="SlotNumberValue"> <xs:annotation> <xs:documentation>must be an multiple of 3</xs:documentation> </xs:annotation> </xs:element> <xs:element name="inner_diameter" type="NonZeroSizeValue"/> <xs:element name="outer_diameter" type="NonZeroSizeValue"> <xs:annotation> <xs:documentation>must be greater than inner_diameter</xs:documentation> </xs:annotation> </xs:element> <xs:element name="slot_type" type="StatorSlotType" default="2"/> <xs:element name="hs0" type="NonZeroSizeValue"/> <xs:element name="hs1" type="SizeValue"/> <xs:element name="hs2" type="SizeValue"/> <xs:element name="bs0" type="NonZeroSizeValue"/> <xs:element name="bs1" type="SizeValue"/> <xs:element name="bs2" type="SizeValue"/> <xs:element name="rs" type="SizeValue"/> <xs:element name="tooth_width" type="SizeValue"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Stator2"> <xs:complexType> <xs:sequence> <xs:element name="slot_conductors" type="SlotConductorsValue"/> <xs:element name="branches" type="BranchsValue"/> <xs:element name="wires" type="WiresPerConductorValue"/> <xs:element name="coil_type" type="CoilType"/> <xs:element name="coil_pitch" type="CoilPitchValue"/> <xs:element name="wire_diameter" type="NonZeroSizeValue"/> <xs:element name="gauge_No" type="xs:integer" fixed="-200"> <xs:annotation> <xs:documentation>User define, always -200</xs:documentation> </xs:annotation> </xs:element> <xs:element name="wire_thickness" type="xs:integer" fixed="0"> <xs:annotation> <xs:documentation>always 0</xs:documentation> </xs:annotation> </xs:element> <xs:element name="wire_wrap" type="NonZeroSizeValue"/> <xs:element name="slot_insulation" type="NonZeroSizeValue"/> <xs:element name="top_space" type="PercentValue"/> <xs:element name="bottom_space" type="PercentValue"/> <xs:element name="end_length" type="NonZeroSizeValue"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Rotor1"> <xs:complexType> <xs:sequence> <xs:element name="air_gap" type="NonZeroSizeValue"/> <xs:element name="shaft_diameter" type="NonZeroSizeValue"/> <xs:element name="rotor_slots" type="SlotNumberValue"/> <xs:element name="rotor_slot_type" type="RotorSlotType"/> <xs:element name="hr0" type="SizeValue"/> <xs:element name="hr01" type="SizeValue"/> <xs:element name="hr1" type="SizeValue"/> <xs:element name="hr2" type="SizeValue"/> <xs:element name="br0" type="SizeValue"/> <xs:element name="br1" type="SizeValue"/> <xs:element name="br2" type="SizeValue"/> <xs:element name="rr" type="SizeValue"/> <xs:element name="bottom_slots" type="OptSlotNumberValue"> <xs:annotation> <xs:documentation>if greator than zero, must be divisor of top rotor slots</xs:documentation> </xs:annotation> </xs:element> <xs:element name="bottom_slot_type" type="RotorSlotType"/> <xs:element name="b_hr0" type="SizeValue"/> <xs:element name="b_hr1" type="SizeValue"/> <xs:element name="b_hr2" type="SizeValue"/> <xs:element name="b_br0" type="SizeValue"/> <xs:element name="b_br1" type="SizeValue"/> <xs:element name="b_br2" type="SizeValue"/> <xs:element name="b_rr" type="SizeValue"/> <xs:element name="is_cast_rotor" type="xs:boolean"/> <xs:element name="is_halg_slot" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Rotor2"> <xs:complexType> <xs:sequence> <xs:element name="vent_type" type="VentTypeValue"/> <xs:element name="ventage_holes" type="xs:nonNegativeInteger"/> <xs:element name="stator_ducts" type="xs:nonNegativeInteger"/> <xs:element name="vent_location" type="SizeValue"/> <xs:element name="hole_diameter" type="SizeValue"/> <xs:element name="skew_slots" type="SizeValue"/> <xs:element name="end_bar_length" type="SizeValue"/> <xs:element name="ring_height" type="SizeValue"/> <xs:element name="ring_width" type="SizeValue"/> <xs:element name="bar_resistivity" type="ResistivityValue"/> <xs:element name="ring_resistivity" type="ResistivityValue"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:simpleType name="PowerValue"> <xs:annotation> <xs:documentation>Define Power Value(kW)</xs:documentation> </xs:annotation> <xs:restriction base="xs:float"> <xs:minExclusive value="0"/> <xs:pattern value=""/> </xs:restriction> </xs:simpleType> <xs:simpleType name="VoltValue"> <xs:annotation> <xs:documentation>Define Voltage Value(V)</xs:documentation> </xs:annotation> <xs:restriction base="xs:float"> <xs:minExclusive value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="ConnTypeValue"> <xs:annotation> <xs:documentation>Define Connection Type 0: Wye 1: Delta</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:enumeration value="0"/> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="PolesValue"> <xs:annotation> <xs:documentation>Define Poles Value</xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger"> <xs:pattern value=""/> </xs:restriction> </xs:simpleType> <xs:simpleType name="FreqValue"> <xs:annotation> <xs:documentation>Define Frequency value(Hz)</xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger"/> </xs:simpleType> <xs:simpleType name="SpeedValue"> <xs:annotation> <xs:documentation>Define Rotor Speed Value(rpm)</xs:documentation> </xs:annotation> <xs:restriction base="xs:float"> <xs:minExclusive value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="LossValue"> <xs:annotation> <xs:documentation>Define Loss (W)</xs:documentation> </xs:annotation> <xs:restriction base="xs:float"> <xs:minInclusive value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="SizeValue"> <xs:annotation> <xs:documentation>Define size (mm or inch)</xs:documentation> </xs:annotation> <xs:restriction base="xs:float"> <xs:minInclusive value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="StackingFactorValue"> <xs:annotation> <xs:documentation>Define stacking factor </xs:documentation> </xs:annotation> <xs:restriction base="xs:float"> <xs:maxInclusive value="1"/> <xs:minExclusive value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="TempValue"> <xs:annotation> <xs:documentation>Define temperature value</xs:documentation> </xs:annotation> <xs:restriction base="xs:float"/> </xs:simpleType> <xs:simpleType name="LoadTypeValue"> <xs:annotation> <xs:documentation>Define Load Type -1:Constant Speed 0:Constant Power 1:Constant Torque 2:Linear Torque 3:Fan Load</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:enumeration value="-1"/> <xs:enumeration value="0"/> <xs:enumeration value="1"/> <xs:enumeration value="2"/> <xs:enumeration value="3"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="SlotNumberValue"> <xs:annotation> <xs:documentation>Define Slot Number</xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger"/> </xs:simpleType> <xs:simpleType name="OptSlotNumberValue"> <xs:annotation> <xs:documentation>Define slot number (can be zero)</xs:documentation> </xs:annotation> <xs:restriction base="xs:nonNegativeInteger"/> </xs:simpleType> <xs:simpleType name="NonZeroSizeValue"> <xs:annotation> <xs:documentation>Define size (greater than zero)</xs:documentation> </xs:annotation> <xs:restriction base="xs:float"> <xs:minExclusive value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="StatorSlotType"> <xs:annotation> <xs:documentation>Define stator slot type</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:enumeration value="1"/> <xs:enumeration value="2"/> <xs:enumeration value="3"/> <xs:enumeration value="4"/> <xs:enumeration value="5"/> <xs:enumeration value="6"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="RotorSlotType"> <xs:annotation> <xs:documentation>Define rotor slot type</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:enumeration value="1"/> <xs:enumeration value="2"/> <xs:enumeration value="3"/> <xs:enumeration value="4"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="CoilPitchValue"> <xs:restriction base="xs:positiveInteger"/> </xs:simpleType> <xs:simpleType name="CoilType"> <xs:annotation> <xs:documentation>Stator Coil Type 1:单层同心式 2:单层交叉 3:单层链式 4:双层叠绕 5:双层波绕</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:enumeration value="1"/> <xs:enumeration value="2"/> <xs:enumeration value="3"/> <xs:enumeration value="4"/> <xs:enumeration value="5"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="SlotConductorsValue"> <xs:restriction base="xs:positiveInteger"/> </xs:simpleType> <xs:simpleType name="BranchsValue"> <xs:restriction base="xs:positiveInteger"/> </xs:simpleType> <xs:simpleType name="WiresPerConductorValue"> <xs:restriction base="xs:positiveInteger"/> </xs:simpleType> <xs:simpleType name="PercentValue"> <xs:restriction base="xs:float"> <xs:minInclusive value="0"/> <xs:maxInclusive value="100"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="VentTypeValue"> <xs:annotation> <xs:documentation>Vent Type 0:AxialHole 1:Aligned Duct 2:UnalignedDuct</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:enumeration value="0"/> <xs:enumeration value="1"/> <xs:enumeration value="2"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="ResistivityValue"> <xs:restriction base="xs:float"> <xs:minInclusive value="0"/> </xs:restriction> </xs:simpleType> </xs:schema> |
-- 作者:Lutx -- 发布时间:7/8/2005 9:47:00 AM -- 人气不旺啊。 |
-- 作者:dingcai -- 发布时间:7/11/2005 10:13:00 AM -- 好长呀 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
78.125ms |