1
我写XSD以下XML:XML模式complexType
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="WS.xslt" ?>
<interface name="WS">
<package>com.example</package>
<import>java.rmi.RemoteException</import>
<import>java.io.*</import>
<abstract_method name="login">
<modifier>public</modifier>
<arguments>
<parameter type="int">id</parameter>
<parameter type="String">pass</parameter>
</arguments>
<return>boolean</return>
</abstract_method>
<abstract_method name="send">
<modifier>private</modifier>
<arguments>
<parameter type="String">subject</parameter>
<parameter type="String">message</parameter>
</arguments>
<exceptions>
<exception>IOException</exception>
<exception>RemoteException</exception>
</exceptions>
<return>void</return>
</abstract_method>
</interface>
我现在的XSD:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name ="WebServiceInterface">
<xsd:sequence>
<xsd:element name ="package" type="xsd:string"/>
<xsd:element name ="import" minOccurs="0" maxOccurs="unbounded"/>
<xsd:complexType name ="abstract_method" minOccurs="0" maxOccurs= "unbounded">
<xsd:element name ="modifier" type="xsd:string"/>
<xsd:complexType name="arguments">
<xsd:element name ="parameters" minOccurs="0" maxOccurs= "unbounded"/>
</xsd:complexType>
<xsd:complexType name ="exceptions">
<xsd:element name ="exception" minOccurs="0" maxOccurs="unbounded"/>
</xsd:complexType>
<xsd:element name = "return"/>
</xsd:complexType>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
错误消息:
“S4S-elt-必须匹配1:'序列'的内容必须为 匹配(注释?,(元素|组|选择|序列|任何)*)。A 问题是发现始于:ComplexType“。
如何在没有此错误的情况下包含界面?
CVC-复杂type.2.4.a:无效的含量也开始将元素“回归”。其中一个'{例外}'是预期的。行'11',列'13'。 – Gavin
看着你所提供的代码,我没有看到任何与return元素有关的问题,它似乎与XML匹配,所以我可能对上述错误有一些建议吗? – Gavin
这是因为您输入的XML:'缺少''标签。如果''是可选的,你应该改变模式:' –
potame