簡體   English   中英

xml模式和vb.net

[英]xml schema and vb.net

我有一個由供應商提供的xml模式文件。 在根目錄下,文件具有三個主要元素:客戶,發貨日期和項目。 將XSD文件添加到項目后,將無法訪問ShipDate屬性。 我不確定如何處理。 我嘗試為ShipDate創建一個與其他元素類似的新元素,但是我認為我做得不正確,因此我將所有內容恢復原樣。 看看下面的XSD文件,讓我知道我在做什么錯。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema id="PricingRequest" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:annotation>
    <xs:documentation>
      Request Prices Schema for Power Net
      Copyright 2009 Retalix. All rights reserved.
    </xs:documentation>
  </xs:annotation>

  <xs:element name="PricingRequest" msdata:IsDataSet="true">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1" minOccurs="1" ref="Customer"/>
        <xs:element maxOccurs="1" minOccurs="1" name="ShipDate" type="xs:date"/>
        <xs:element maxOccurs="1" minOccurs="1" ref="Items"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="Customer" msdata:IsDataSet="true">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Company" type="companyType"/>
        <xs:element name="Division" type="companyType"/>
        <xs:element name="Department" type="companyType"/>
        <xs:element name="Number" type="customerType"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="Items" msdata:IsDataSet="true">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" minOccurs="1" ref="Item"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="Item" msdata:IsDataSet="true">
    <xs:complexType>
      <xs:attribute name="number" type="itemNumberType" use="required"/>
    </xs:complexType>
  </xs:element>

  <!-- Power Net Specific data types -->
  <xs:simpleType name="companyType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z0-9\s]{3}"/>
      <xs:whiteSpace value="preserve"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="customerType">
    <xs:restriction base="xs:string">
      <xs:pattern value="([A-Z0-9\-])*"/>
      <xs:minLength value="1"/>
      <xs:maxLength value="10"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="itemNumberType">
    <xs:restriction base="xs:string">
      <xs:pattern value="([A-Z0-9\-])*"/>
      <xs:minLength value="1"/>
      <xs:maxLength value="10"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>

我懷疑當元素被指定為DataSet時不支持數據類型xs:date date-您只能在那里使用xs:dateTime。

如果您不想將架構用作數據集,則可以刪除相應的屬性msdata:IsDataSet="true" (以及整個命名空間msdata)。

如果要讓架構保留數據集,請使用xs:dateTime替換ShipDate的數據類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM