【问题标题】:why does xmllint return this as invalid为什么 xmllint 将其返回为无效
【发布时间】:2012-04-25 09:52:53
【问题描述】:

当我尝试验证 Amazon Marketplace Web 服务 SubmitFeed 以完成订单时,我收到以下错误:

xmllint.exe --schema OrderFulfillment.xsd OrderFulfillment.xml

OrderFulfillment.xml:2:元素 AmazonEnvelope:架构有效性错误:元素 'AmazonEnvelope':没有匹配的全局声明可用于验证 r 呜呜 OrderFulfillment.xml 验证失败

OrderFulfillment.xml

<?xml version="1.0" encoding="UTF-8"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
    <Header>
        <DocumentVersion>1.01</DocumentVersion>
        <MerchantIdentifier>AXGZ4X5NTV6SN</MerchantIdentifier>
    </Header>
    <MessageType>OrderFulfillment</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <OrderFulfillment>
            <AmazonOrderID>104-5894782-1841713</AmazonOrderID>
            <FulfillmentDate>2012-04-07T15:54:40.154Z</FulfillmentDate>
            <FulfillmentData>
                <CarrierCode>USPS</CarrierCode>
                <ShippingMethod>Priority</ShippingMethod>
                <ShipperTrackingNumber>9109901000372243321450</ShipperTrackingNumber>
            </FulfillmentData>
        </OrderFulfillment>
    </Message>
</AmazonEnvelope>

我做错了什么?

【问题讨论】:

    标签: xml xsd amazon xsd-validation xmllint


    【解决方案1】:

    找到解决方案,您必须使用父架构进行验证,在本例中为 amzn-envelope.xsd

    How can lxml validate some XML against both an XSD file while also loading an inline schema too?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 1970-01-01
      • 2012-12-01
      • 2011-11-18
      相关资源
      最近更新 更多