insert、delete、replace value of 操作。XSD <xs:any> 通配符的 processContents 屬性在 2005 僅支援:
strict:必須有 Schema 且驗證通過skip:完全不驗證缺乏「有 Schema 才驗證,否則略過」的中間選項。
Schema 定義:
<xs:complexType name="Order" mixed="true">
<xs:sequence>
<xs:element name="CustomerName"/>
<xs:element name="OrderTotal"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
XML 實例:
<Invoice xmlns="https://adventure-works.com/order"
xmlns:shp="https://adventure-works.com/shipping">
<Order>
<CustomerName>Graeme Malcolm</CustomerName>
<OrderTotal>299.99</OrderTotal>
<shp:Delivery>Express</shp:Delivery>
</Order>
</Invoice>
shp:Delivery 定義 → 驗證其內容。此外,xs:anyType 內容模型現在也正確採用 Lax 處理,符合 XSD 規格。
| 版本 | 時區處理 | 範例輸入 | 儲存結果 |
|---|---|---|---|
| 2005 | 強制提供、轉 UTC、不保留 | 2007-12-25T06:00:00-08:00 | 2007-12-25T14:00:00Z |
| 2008 | 可選提供、保留原始時區 | 2007-12-25T06:00:00-08:00 | 2007-12-25T06:00:00-08:00 |
優勢:全球化應用無需自行維護時區對應表,資料庫層原生保留使用者原始時間語境。
<xs:simpleType name="sizeListType">
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="S"/>
<xs:enumeration value="M"/>
<xs:enumeration value="L"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
合法 XML:<AvailableSizes>S M L</AvailableSizes>
非法 XML:<AvailableSizes>S XL</AvailableSizes>(XL 不在列舉中)
<xs:simpleType name="codeUnionType">
<xs:union memberTypes="xs:integer xs:string"/>
</xs:simpleType>
允許數字代碼或字串代碼並存,符合企業整合異質系統的實際需求。
processContents="skip" 的通配符,評估是否改為 "lax" 以獲得部分驗證保護。