我有一个或多或少简单的任务来构建XSD模式,但我不确定我的想法是否正确。特别是对于元素注释
。
客户可以发出采购订单。采购订单至少包括一个订单位置(产品名称、数量和价格是必需的;注释和装运日期是可选的)。
采购订单有日期(订单日期)和可选注释。客户可以指定不同的地址(计费和发货)。只需要送货地址。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<xs:element name="purchase-order">
<xs:element name="order-position" type="order-position-type" minOccurs="1">
<xs:complexType name="order-position-type">
<xs:sequence>
<xs:element name="product-name" type="xs:string"></xs:element>
<xs:element name="quantity" type="xs:integer"></xs:element>
<xs:element name="price" type="xs:decimal"></xs:element>
<xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="2"></xs:element>
<xs:element name="shipping-date" type="xs:date" minOccurs="0"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="order-date" type="xs:date" minOccurs="0"></xs:element>
<xs:element name="billing-address" type="xs:string"></xs:element>
<xs:element name="shipping-address" type="xs:string" minOccurs="1"></xs:element>
</xs:element>
</xs:schema>
那么同一个元素,这里的注释
,是否多次出现?现在我有min和maxOccurs用于注释
,但顺序是这样的,所以可能是错误的。
你可能还看到了哪些错误?或者我能让它变得更简单?点至少一个订单位置
让我在complexType之前创建一个元素,以告知minOccurs值为1。
在序列中的元素上有minOccurs
和maxOccurs
是可以的。
但是,以下是您必须解决的一些问题:
>
xmlns:xs=”http://www.w3.org/2001/XMLSchema-instance“
应该是xmlns:xs=”http://www.w3.org/2001/XMLSchema“
。(修复了标题消息错误,但之后将有更多问题需要修复…)
order position
元素的声明不能同时具有type
属性和xs:complexType
子元素。用一个或另一个。
其他的仍然存在(例如,满足您的基本要求),但这里有一个XSD,它修复了上述语法问题,至少可以帮助您解除锁定:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="purchase-order">
<xs:complexType>
<xs:sequence>
<xs:element name="order-position" type="order-position-type" minOccurs="1"/>
<xs:element name="order-date" type="xs:date" minOccurs="0"/>
<xs:element name="billing-address" type="xs:string"/>
<xs:element name="shipping-address" type="xs:string" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="order-position-type">
<xs:sequence>
<xs:element name="product-name" type="xs:string"/>
<xs:element name="quantity" type="xs:integer"/>
<xs:element name="price" type="xs:decimal"/>
<xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="2"/>
<xs:element name="shipping-date" type="xs:date" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
您需要使用XML编辑器或验证解析器来检查您的XSD是否格式良好且有效。
下面是我的XSD。我犯了错误。你能验证一下吗? 请帮帮我。
我有一个非常简单的XML 组织。xml。萨克斯。SAXParseException:s4s elt架构ns:元素'Config'的命名空间必须来自架构命名空间'http://www.w3.org/2001/XMLSchema'. XML到这里: XSD去这里:
我得到以下错误时运行我的应用程序:附加信息:错误在第2行位置64.从命名空间http://www.w3.org/2001/XMLSchema-instance期待元素CustomeLeads...遇到名称为“自定义线索”、命名空间的“元素”。 我不明白为什么我会收到这个错误消息,因为正如你从XML中看到的,“自定义领导”包含在XML中。如果我取出命名空间,文件将不会读取元素。包括命名空间似乎工作,
当引用另一个XSD中的定义时,我们对不同命名空间中的另一个XSD使用“import”,对相同命名空间中的另一个XSD使用“include”。
我请求soapenv提供以下信息: 我想删除xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance" 我能用我的服务吗?也许你可以设定组织。阿帕奇。轴客户调用具有某些属性的对象。。。我不知道。
当我试图在sap中使用外部Web服务(WSDL文件)进行数据集成时,我在sap中创建客户端代理并给出了服务提供者webservice URL http://172.31.3.48:8717/?WSDL它给出了代理生成错误它给出了“Liberary haldler Exception”“incorrect value:unknown namespace http://www.w3.org/2001/