我想知道定义包含属性和子元素的元素的正确语法(如果可能).例如:
<component type="A" binding="B">
<operation name="X">
<input type="C" />
</operation>
<event name="Y">
<output type="D" />
</event>
</component>
Run Code Online (Sandbox Code Playgroud)
如您所见,元素组件,操作和事件都具有属性和子元素.是否可以在XSD中定义它?怎么样?
非常感谢你!
Pet*_*dea 46
这是定义与XML匹配的XSD的一种可能方式; 在学习XSD时,您可以从一个或多个XML示例文件开始注册为您推断XSD的工具的帮助.
<?xml version="1.0" encoding="utf-8"?>
<!--W3C Schema generated by QTAssistant/W3C Schema Refactoring Module (http://www.paschidev.com)-->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="component">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="operation">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="input">
<xsd:complexType>
<xsd:attribute name="type" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="event">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="output">
<xsd:complexType>
<xsd:attribute name="type" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="type" type="xsd:string" use="required" />
<xsd:attribute name="binding" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Run Code Online (Sandbox Code Playgroud)
当你演练这个时,你可以开始调整min/maxOccurs,使用(必需/可选),重用定义等.生成的XSD是一个很好的起点,但通常最终会以某种方式进行编辑......