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