2016-08-05 89 views
0

將元素聲明爲僅具有一個子元素的複雜類型的要點是什麼?XML架構:只有一個孩子的複雜類型

我被賦予從我引用以下摘錄XSD文件:

<xsd:element name="From"> 
    <xsd:complexType> 
     <xsd:sequence> 
      <xsd:element name="Address" type="xsd:anyURI"/> 
     </xsd:sequence> 
    </xsd:complexType> 
</xsd:element> 
  
<xsd:element name="To" type="xsd:anyURI"/> 

據我所知,從元件(其必須出現一次且僅在其父一次)由序列(其必須發生一次且僅發生一次)由唯一的元素地址組成,該地址必須只出現一次,並且是一個URI。

To元素(其父元素必須出現一次且只有一次)是一個URI。

我對不對? 我錯過了什麼嗎?

當涉及到插入數據時,用戶必須在From元素的Address元素中插入一個且只有一個URI,並且直接在To元素中插入一個且僅有的一個URI。

將定義爲一個簡單類型定義爲複雜類型時,哪一點是定義的?

當談到設計用戶界面插入「To」和「From」URI時,兩者都必須通過一個文本框來表示,該文本框必須被驗證爲格式正確的URI。

將此類XSD結構轉換爲SQL Server數據庫時,「To」和「From」只是表中表示父元素的表中的varchar字段(未在我的摘錄中顯示),必須將其驗證爲井形成的URI。

但我仍然認爲我錯過了一些重要的區別。我呢?

回答

1

可能原因包括:

  • 您都制約現有文檔的設計,它允許其他的孩子們(例如,從/名稱,或從/地址的多個實例)
  • 你設想未來的擴展,允許其他孩子使用
  • 您正在遵循一個設計約定(或使用設計工具集),該設計約定需要名稱爲值類型的元素(地址),另一個指示與父元素的關係(來自)
1

您不會錯過任何東西:TMTOWTDI有做不止一種方法)適用於XSD(和XML一般),並提供多個設計方案,包括:

  • XML attribute vs XML element considerations單獨 可能推動基於未來擴展期望的決定,基於子結構的Address,管理 組織或工業慣例等
  • 元素可能會擴展到包括其他語義相關元素,如 as Person
  • 現有的OO或關係設計的目標可能更適合複雜類型模式。
相關問題