簡體   English   中英

空元素在XSD中有效嗎?

[英]Is an empty element valid in XSD?

今天繼續我的XSD問題

在XSD文檔中,以下內容是:

<element />

一個有效的構造? 也就是說,它是一個沒有名稱,類型和任何內容的元素。 完全匿名。

如果這是有效的XSD,那意味着什么? 這樣的元素將如何出現在XML中?

不,@ @name屬性必須出現在全局XSD元素聲明中。

請參閱3.3.2元素聲明架構組件的XML表示 ,包括其聲明的位置(添加了重點):

請注意,以上允許為未指定的類型定義提供兩個默認級別。 沒有引用或包含的類型定義的<element>將對應於一個元素聲明,如果它標識一個,則該元素聲明與其替換組的頭部具有相同的類型定義,否則標識為•ur-type定義。 這具有重要的后果,即最小的有效元素聲明(即僅具有名稱屬性而沒有內容的聲明)也是(幾乎)最通用的 ,它驗證文本和元素內容的任何組合並允許任何屬性,並提供盡可能進行遞歸驗證。

如果您希望允許任何元素,請考慮使用通配符,例如xs:any 但是請注意,您至少需要命名一個根元素。

取決於放置位置。

xs:appInfoxs:documentation (以及其他一些構造)中,任何內容都可能有效。

接下來這個元素:

<element />

不指定名稱空間。 因此,它要么位於錯誤的名稱空間中,要么在上下文中某個地方存在xmlns="http://www.w3.org/2001/XMLSchema"

假設后者可能是全局( topLevelElement )或局部( localElement )元素定義。

在兩種情況下均無效:

  • 全局元素必須具有name屬性。
  • 本地元素必須具有nameref屬性。 我認為,僅根據架構的架構,它在語法上可能是有效的,但是規范中存在一些限制

2如果項目的父項不是,則以下所有條件必須為true:

2.1 ref或name之一必須存在,但不能同時存在。

暫無
暫無

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

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