【问题标题】:xsd how to include a targetNamespace in an elementxsd 如何在元素中包含 targetNamespace
【发布时间】:2018-11-01 18:11:38
【问题描述】:

我有以下 xsd,我在其中定义了 targetNamespace。我想在元素lastModifiedDate 中包含targetNamespace。这个 xsd 不正确:

<xs:schema version="1.0" targetNamespace="http://com.uciext.ws.hw5"   xmlns:tns="http://com.uciext.ws.hw5" xmlns:xs="http://www.w3.org/2001/XMLSchema" >
  <xs:element name="catalog">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="lastModifiedDate"/>
        <xs:element ref="description"/>
        <xs:element maxOccurs="unbounded" ref="product"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="lastModifiedDate" type="xs:string"/>
  <xs:element name="description" type="xs:string"/>
  <xs:element name="product">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="sku"/>
        <xs:element ref="name"/>
        <xs:element ref="price"/>
        <xs:element ref="quantity"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="sku" type="xs:string"/>
  <xs:element name="name" type="xs:string"/>
  <xs:element name="price" type="xs:double"/>
  <xs:element name="quantity" type="xs:double"/>
</xs:schema>

当我检查这个 xsd 时,我得到以下元素:

Error resolving component 'lastModifiedDate'. It was detected that 'lastModifiedDate' has no namespace

如何添加targetNamespace

【问题讨论】:

    标签: xsd-validation


    【解决方案1】:

    我认为您需要在每个引用的元素中添加命名空间...

    <xs:schema version="1.0" targetNamespace="http://com.uciext.ws.hw5"   xmlns:tns="http://com.uciext.ws.hw5" xmlns:xs="http://www.w3.org/2001/XMLSchema" >
      <xs:element name="catalog">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:lastModifiedDate"/>
            <xs:element ref="tns:description"/>
            <xs:element maxOccurs="unbounded" ref="tns:product"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="lastModifiedDate" type="xs:string"/>
      <xs:element name="description" type="xs:string"/>
      <xs:element name="product">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:sku"/>
            <xs:element ref="tns:name"/>
            <xs:element ref="tns:price"/>
            <xs:element ref="tns:quantity"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="sku" type="xs:string"/>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="price" type="xs:double"/>
      <xs:element name="quantity" type="xs:double"/>
    </xs:schema>
    

    希望对你有帮助...

    问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-15
      • 2022-01-21
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 2015-05-31
      • 2019-07-20
      • 2011-01-30
      相关资源
      最近更新 更多