共用方式為


XmlSchemaValidationFlags 列舉

定義

指定 XmlSchemaValidatorXmlReader 類別所使用的架構驗證選項。

此列舉支援其成員值的位元組合。

public enum class XmlSchemaValidationFlags
[System.Flags]
public enum XmlSchemaValidationFlags
[<System.Flags>]
type XmlSchemaValidationFlags = 
Public Enum XmlSchemaValidationFlags
繼承
XmlSchemaValidationFlags
屬性

欄位

名稱 Description
None 0

請勿處理身份約束、內嵌結構、結構位置提示或報告結構驗證警告。

ProcessInlineSchema 1

驗證過程中遇到的流程內聯結構。

ProcessSchemaLocation 2

在驗證過程中遇到的程序結構位置提示(xsi:schemaLocationxsi:noNamespaceSchemaLocation)。

ReportValidationWarnings 4

回報驗證過程中遇到的結構驗證警告。

ProcessIdentityConstraints 8

驗證過程中遇到的程序身份約束(xs:IDxs:IDREFxs:keyrefxs:keyxs:unique, , )。

AllowXmlAttributes 16

即使 xml:* 屬性在結構中未定義,也要允許。 屬性會根據資料型別進行驗證。

範例

使用列舉的XmlSchemaValidationFlags例子請參見類別。XmlSchemaValidator

備註

當與 一起使用 XmlReader時, XmlSchemaValidationFlags 值定義了驗證選項,供模式 XmlReader 驗證以對結構進行 XML 驗證。 XmlSchemaValidationFlags 驗證值的值 XmlReader 是利用 屬性 XmlReaderSettings.ValidationFlags 來指定。

使用 AllowXmlAttributes 該數值時:

  1. 當結構沒有匯入 XML 命名空間時,

    1. AllowXmlAttributes 設為 true (預設值),且實例文件包含 XML 屬性,驗證引擎會載入預設 XML 命名空間架構的快照並用於驗證。 如果實例文件中使用的 XML 屬性在預設架構中找不到,文件將無法驗證。

    2. AllowXmlAttributes 設定為 且 false 實例文件包含 Xml 屬性,驗證引擎會回報錯誤。

  2. 當結構匯入 XML 命名空間卻沒有位置時,

    1. AllowXmlAttributes 設為 true (default),且實例文件包含 XML 屬性,驗證引擎將使用預設的 XML 命名空間架構進行驗證。 如果實例文件中使用的 XML 屬性在預設架構中找不到,文件將無法驗證。

    2. 如果 AllowXmlAttributes 設定為 , false 且實例文件包含結構未明確允許的 XML 屬性,驗證引擎會回報錯誤。

    3. AllowXmlAttributes 設定為 , false 且實例文件包含結構明確允許的 XML 屬性,驗證引擎將以使用預設 XML 命名空間架構驗證其他屬性的方式來驗證這些屬性。

  3. 當結構匯入自訂的 XML 命名空間架構時,會使用自訂的 schemaLocation。

    1. AllowXmlAttributes 設為 true (預設)且實例文件包含 XML 屬性,驗證引擎將使用自訂的 XML 命名空間結構進行驗證。 若實例文件中使用的 XML 屬性未在指定結構中找到,文件將無法驗證。

    2. 如果 AllowXmlAttributes 設定為 , false 且實例文件包含結構未明確允許的 XML 屬性,驗證引擎會回報錯誤。

    3. AllowXmlAttributes 設定為 , false 且實例文件包含結構明確允許的 XML 屬性,驗證引擎將以同樣方式驗證這些屬性,使用指定的 XML 命名空間結構驗證其他屬性。

  4. 當結構定義一個 use=“required” 的 xml:* 屬性時,

    1. AllowXmlAttributes 設定為 truefalse時,以下情況適用。 所需的 xml:* 屬性應視為其他屬性,並依指定的 XML 命名空間架構進行驗證。
  5. 當結構定義 use=“prohibited” 的 xml:* 屬性時,

    1. AllowXmlAttributes 設定為 truefalse時,以下情況適用。 如果實例文件包含結構明確禁止的 xml:* 屬性,驗證引擎會回報錯誤。
  6. 當結構指定屬性時,萬用符。

    1. 若實例文件包含 XML 屬性,且結構指定屬性通配符,且 processContents 要麼省略或設為「嚴格」,驗證引擎將使用 XmlSchemaSet. 若未指定 XML 命名空間結構,驗證引擎的行為將如下。

    2. AllowXmlAttributestrue為 ,驗證引擎將使用預設的 XML 命名空間結構來執行驗證。

    3. AllowXmlAttributes 設為 false,驗證引擎會回報錯誤。

    4. 如果實例文件包含 XML 屬性,且結構指定屬性通達卡且 processContents 設為「skip」,驗證引擎將跳過屬性驗證。

    5. 若實例文件包含 XML 屬性,且結構指定屬性通配符,且 processContents 設為「lax」,驗證引擎將使用 . XmlSchemaSet中存在的 XML 命名空間結構。 若未指定 XML 命名空間結構,驗證引擎的行為將如下。

    6. AllowXmlAttributestrue為 ,驗證引擎將使用預設的 XML 命名空間結構來執行驗證。

    7. AllowXmlAttributes 設為 false,則不會進行屬性驗證。

  7. 在驗證簡單型別時,

    1. AllowXmlAttributes 設為 true (預設)時,簡單型別的元素將允許使用 XML 屬性。

適用於

另請參閱