IDOMConfiguration 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
介面 DOMConfiguration
代表檔的組態,並維護已辨識參數的數據表。
[Android.Runtime.Register("org/w3c/dom/DOMConfiguration", "", "Org.W3c.Dom.IDOMConfigurationInvoker")]
public interface IDOMConfiguration : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("org/w3c/dom/DOMConfiguration", "", "Org.W3c.Dom.IDOMConfigurationInvoker")>]
type IDOMConfiguration = interface
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 屬性
- 實作
備註
介面 DOMConfiguration
代表檔的組態,並維護已辨識參數的數據表。 使用組態時,您可以變更 Document.normalizeDocument()
行為,例如將節點取代 CDATASection
為 Text
節點,或指定要求驗證 Document
時必須使用的架構類型。 DOMConfiguration
物件也會用於和 DOMSerializer
介面中的 DOMParser
[DOM 層級 3 載入和儲存]。
物件所使用的 DOMConfiguration
參數名稱會在整個 DOM 層級 3 規格中定義。 名稱不區分大小寫。 為了避免可能的衝突,作為慣例,參考 DOM 規格外部之參數的名稱應該是唯一的。 由於參數會公開為 中的屬性,因此建議名稱遵循 [Unicode] 區段 5.16 標識符,並新增字元 '-' (HYPHEN-MINUS),但 DOM 實作不會強制執行。 需要 DOM 層級 3 核心實作,才能辨識此規格中定義的所有參數。 實作可能也需要某些參數值。 請參閱 參數的定義,以瞭解值是否必須受到支援。 <p ><b>注意:</b> 參數類似於 SAX2 [SAX] 中使用的功能和屬性。
DOM 中定義的參數清單如下:<dl dt>"canonical-form"
</dt<>dd><dl<>><dt/dt><>true
< dd>[<em>optional</em>] Canonicalize 檔,根據 [Canonical XML] 中指定的規則,例如從樹狀結構中移除節點(如果有的話),或從每個元素移除DocumentType
多餘的命名空間宣告。 請注意,這僅限於 DOM 中可以代表的內容;特別是,沒有方法可以指定 DOM 中屬性的順序。 此外,將此參數設定為 true
也會設定下列參數的狀態。 之後,其中一個參數的狀態變更會還原回 「canonical-form」 回到 false
。 參數設定為 false
:“entities”、“normalize-characters”、“cdata-sections”。 參數設定為 true
:“namespaces”、“namespace-declarations”、“well-formed”、“element-content-whitespace”。 除非在參數的描述中明確指定,否則不會變更其他參數。</dd dt/dt><>false
< dd>[<em>required</em] (<em>default</em>>)請勿規範檔。<></dd/dl></dd<>dt/dt dd><dl><dt"cdata-sections"
<<>>true
/dt<><>dd>[<em>required</em] (<em>default</em>>)將節點保留在CDATASection
檔中。<></dd dt/dt<>false
<> dd>[<em>required</em>]將檔中的節點轉換成Text
CDATASection
節點。>< 然後,新Text
節點會與任何連續Text
節點結合。</dd></dl></dd<>dt"check-character-normalization"
<>/dt dd dl><dttrue
<>/dt<><>><dd>[<em>optional</em>] 檢查檔中的字元是否已完全正規化,如 [XML 1.1] 附錄 B 中所定義。 遇到無法正規化檢查的字元序列時,會發出等於 「check-character-normalization-failure」 的錯誤 DOMError.type
。 </dd dt/dt><>false
< dd>[<em>required</em] (<em>default</em>>)不要檢查字元是否正規化。<></dd/dl></dd<>dt/dt dd><dl><dt"comments"
<<>>true
/dt<><>dd>[<em>required</em] (<em>default</em>>)將節點保留在Comment
檔中。<></dd dt/dt<<>>false
dd>[<em>required</em>]捨棄Comment
檔中的節點。<></dd></dl></dd><dt<>"datatype-normalization"
/dt dd dl><dttrue
<>/dt>><<><dd>[<em>optional</em>] 公開樹狀結構中的架構正規化值,例如 XML 架構中的 XML 架構正規化值。 由於此參數需要有架構資訊,因此「validate」 參數也會設定為 true
。 當 “validate” false
沒有作用且不會發生架構正規化時,啟動此參數。 <p ><b>注意:</b> 由於檔包含 XML 1.0 處理的結果,此參數不適用於 [XML 1.0] 區段 3.3.3 中所定義的屬性值正規化,而且僅適用於檔類型定義以外的架構語言。 </dd dt/dtfalse
<><> dd>[<em>required</em] (<em>default</em>>) 請勿在樹狀結構上執行架構正規化。>< </dd/dl></dd><dt><"element-content-whitespace"
/dt dd<>dl><dt<>true
/dt><<>dd>[<em>required</em] (<em>default</em>>)保留檔中的所有空格符。<></dd dt/dtfalse
>><< dd>[<em>optional</em>] 捨棄元素內容中包含空格符的所有Text
節點,如 [元素內容空格符] 中所述。>< 實作應該使用 屬性Text.isElementContentWhitespace
來判斷節點是否Text
應該捨棄。</dd/dl></dd<>dt/dt dd><dl><dt"entities"
<<>>true
/dt<><>dd>[<em>required</em] (<em>default</em>>)將節點保留在EntityReference
檔中。<></dd dt/dtfalse
<<>> dd>[<em>required</em>] 移除檔中的所有EntityReference
節點,直接將實體擴充放在其位置。>< Text
節點會標準化,如 中所 Node.normalize
定義。 檔中只會 保留未展開的實體參考 。 </dd></dl<>p ><b>注意:</b> 此參數不會影響Entity
節點。 </dd dt/dt"error-handler"
><>< dd>[<em>required</em>] 包含 DOMErrorHandler
物件。>< 如果檔案中發生錯誤,實作會使用此參數回呼 DOMErrorHandler
已註冊的 。 實作可能會提供默認 DOMErrorHandler
物件。 呼叫 時, DOMError.relatedData
將會包含最接近發生錯誤的節點。 如果實作無法判斷發生錯誤的節點, DOMError.relatedData
將會包含 Document
節點。 錯誤處理程式內對文件的變動會導致實作相依行為。 </dd dt>"infoset"
</dt><dd><dl<>dt/dt>><true
< dd>[<em>required</em>]保留檔中 XML 資訊集 [XML 資訊集] 中定義的資訊。><這會強制下列參數false
:“validate-if-schema”、“entities”、“datatype-normalization”、“cdata-sections ” 。這會強制下列參數true
:「namespace-declarations」、“well-formed”、“element-content-whitespace”、“comments”、“namespaces”。除非在參數的描述中明確指定,否則不會變更其他參數。 請注意,只有在適當地設定上述個別參數時,才會使用 來查詢此參數getParameter
true
。</dd><dt<>false
/dt><dd>設定infoset
為 false
沒有作用。</dd/dl></dd<>dt/dt dd><dl><dt>true
<<>"namespaces"
/dt><<>dd>[<em>required</em] (<em>default</em>>) 執行如 中所定義的命名空間處理。>< </dd dt/dt>><false
< dd>[<em>optional</em>] 請勿執行命名空間處理。>< </dd></dl></dd><dt>"namespace-declarations"
</dt<>dd> 如果參數 “namespaces” 設定為 false
,此參數就不會有任何作用。 <dl><dt>true
</dt><dd>[<em>required</em] (<em>default</em>>) 在檔中包含架構中所指定或預設的命名空間宣告屬性。 另請參閱 [XML 命名空間] 和 [XML 命名空間 1.1] 中的<宣告命名空間>一節。</dd dt/dt>><false
< dd>[<em>required</em>]捨棄所有命名空間宣告屬性。>< 即使此參數設定為 false
,命名空間前置詞 (Node.prefix
) 仍會保留。</dd/dl></dd><dt/dt dd dl<>dt><true
"normalize-characters"
<>/dt<><><>dd>[<em>optional</em>] 完整正規化檔中的字元,如附錄 B 中 [XML 1.1] 所定義。>< </dd dt/dt><>false
< dd>[<em>required</em] (<em>default</em>>)請勿執行字元正規化。<></dd/dl></dd><dt/dt>>"schema-location"
<< dd>[<em>optional</em>] 代表包含 DOMString
URI 清單的物件,並以空格符分隔(符合第 2.3 節 [XML 1.0] 中所定義之非決定性生產 S 的字元),代表應該針對該驗證發生的架構,也就是目前的架構。>< 此清單中參考的架構類型必須符合指定的 schema-type
型別,否則實作的行為是未定義的。 使用這個屬性指定的架構優先於檔本身所指定的架構資訊。 對於命名空間感知架構,如果使用這個屬性指定的架構,以及文件實例中指定的架構(亦即 schemaLocation
使用 import
屬性)在架構檔中共用相同的 targetNamespace
,則會使用使用這個屬性的使用者所指定的架構。 如果使用這個屬性指定的兩個架構共用相同 targetNamespace
或沒有命名空間,則行為會相依於實作。 如果未提供任何位置,則此參數為 null
。 <p ><b>注意:</b>"schema-location"
除非設定 “schema-type” 參數值,否則會忽略 參數。 強烈建議您設定 , Document.documentURI
讓實作能夠成功解析參考的任何外部實體。 </dd dt/dt"schema-type"
><>< dd>[<em>optional</em>] 代表DOMString
包含絕對 URI 的物件,並代表用來驗證檔之架構語言的類型。>< 請注意,絕對 URI 上不會執行語匯檢查。 如果未設定此參數,則實作可能會根據支援的架構語言和載入時間所使用的架構語言來提供預設值。 如果未提供任何值,則此參數為 null
。 <p ><b> 注意:</b> 針對 XML 架構 [XML 架構第 1 部分] ,應用程式必須使用 值 "http://www.w3.org/2001/XMLSchema"
。 針對 XML DTD[XML 1.0],應用程式必須使用 值 "http://www.w3.org/TR/REC-xml"
。 其他架構語言不在 W3C 的範圍之外,因此應該建議使用絕對 URI 才能使用此方法。 </dd><dt"split-cdata-sections"
></dt<>dd><dl<>dt/dt><<true
> dd>[<em>required</em] (<em>default</em>>)分割包含 CDATA 區段終止標記 ']]>' 的 CDATA 區段。 當 CDATA 區段分割時,發出警告時,會DOMError.type
以等於"cdata-sections-splitted"
和DOMError.relatedData
等於文件順序從分割產生的第一個CDATASection
節點發出警告。</dd dt/dt><false
>< dd>[<em>required</em>]如果 CDATASection
包含不可代表的字元,則發出錯誤訊號。<></dd></dl></dd><dt/dt dd dl><dt"validate"
<>true
<>/dt>><<><dd>[<em>optional</em>] 需要對檔之架構進行驗證(i.e. XML架構、DTD、任何其他架構類型或架構表示法),因為它正如 [XML 1.0] 所定義而正規化。 如果找到驗證錯誤,或找不到架構,則會通知錯誤處理程式。 除非參數 「datatype-normalization」 為 true
,否則不會根據所使用的架構公開架構正規化值。 此參數將會重新評估:<ul<>li> 屬性節點,其Attr.specified
等於 false
,如 介面的描述Attr
中所指定; </li li><> 所有Text
節點的 屬性值; <Text.isElementContentWhitespace
/li li><> 所有Attr
節點的 屬性值; <Attr.isId
/li li>>< 屬性Element.schemaTypeInfo
和 。Attr.schemaTypeInfo
</li>/ul<>p ><b>注意:</b> “validate-if-schema” 和 “validate” 互斥,將其中一個設定為 true
,將另一個設定為 false
。< 應用程式也應該考慮在驗證檔時,將參數 「well-formed」 設定為 true
,這是該選項的預設值。 </dd dt/dtfalse
<><> dd>[<em>required</em] (<em>default</em>>) 請勿完成架構處理,包括內部子集處理。>< 預設屬性值資訊會保留。 請注意,如果 「validate-if-schema」 為 true
,則可能仍會發生驗證。 </dd></dl></dd><dt><"validate-if-schema"
/dt dd dl<>dttrue
></dt><>><<dd>[<em>optional</em>]只有在可以在架構中找到文件專案的宣告時啟用驗證(獨立於找到文件元素的位置、i.e. XML架構、DTD 或任何其他架構類型或表示法)。 如果啟用驗證,此參數的行為與參數 「validate」 設定為 true
相同。 <p ><b>注意:</b> “validate-if-schema” 和 “validate” 互斥,其中一個設定為 true
會將另一個設定為 false
。 </dd dt/dtfalse
<><> dd>[<em>required</em] (<em>default</em>>) 如果檔具有架構,包括內部子集處理,則不應執行架構處理。>< 預設屬性值資訊會保留。 請注意,如果 「validate」 為 true
,則仍然必須進行驗證。 </dd></dl></dd><dt/dt dd dl><dt<"well-formed"
<>>true
/dt><><><dd>[<em>required</em] (<em>default</em>>) 檢查所有節點是否都根據中使用的 Document.xmlVersion
XML 版本正確形成:<ul><li> 檢查屬性Node.nodeName
是否根據其節點類型包含無效的字元,並視需要產生類型的DOMError.SEVERITY_ERROR
"wf-invalid-character-in-node-name"
,並視需要<嚴重性;DOMError
/li li>>< 會檢查 、 Element
、 Comment
、 Text
、 CDATASection
節點內Attr
是否有無效字元的文字內容,DOMError.SEVERITY_ERROR
並視需要產生 DOMError
類型"wf-invalid-character"
為 的 ,並視需要產生嚴重性; </li li><> 會檢查節點內ProcessingInstruction
是否有無效字元的數據,並視需要產生DOMError
類型 "wf-invalid-character"
DOMError.SEVERITY_ERROR
為 的 ,並視需要嚴重性; </li>/ul></dd<>dt<false
>/dt<>dd>[<em>optional</em>] 請勿檢查 XML 格式正確。< </dd></dl></dd></dl>
使用 來解析 Document.documentURI
與實體相關聯的系統標識碼。 不過,當 [DOM Level 3 Load and Save] 中定義的功能 “LS” 是由 DOM 實作所支援時,參數 “resource-resolver” 也可以在附加至Document
節點的物件上使用DOMConfiguration
。 如果已設定此參數, Document.normalizeDocument()
將會叫用資源解析程式,而不是使用 Document.documentURI
。
已在 DOM 層級 3 中新增。
的 org.w3c.dom.DOMConfiguration
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
屬性
Handle |
取得基礎 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
JniIdentityHashCode |
傳回包裝實例的 值 |
JniManagedPeerState |
受控對等的狀態。 (繼承來源 IJavaPeerable) |
JniPeerMembers |
成員存取和調用支援。 (繼承來源 IJavaPeerable) |
ParameterNames |
這個 |
PeerReference |
傳 JniObjectReference 回已包裝 Java 物件實例的 。 (繼承來源 IJavaPeerable) |
方法
CanSetParameter(String, Object) |
檢查是否支援將參數設定為特定值。 |
Disposed() |
處置實例時呼叫。 (繼承來源 IJavaPeerable) |
DisposeUnlessReferenced() |
如果這個實例沒有未完成的參考,則呼叫 |
Finalized() |
實例完成時呼叫。 (繼承來源 IJavaPeerable) |
GetParameter(String) |
如果已知,則傳回參數的值。 |
SetJniIdentityHashCode(Int32) |
設定所 |
SetJniManagedPeerState(JniManagedPeerStates) |
介面 |
SetParameter(String, Object) |
設定參數的值。 |
SetPeerReference(JniObjectReference) |
設定所 |
UnregisterFromRuntime() |
取消註冊此實例,讓運行時間不會從未來的 Java.Interop.JniRuntime+JniValueManager.PeekValue 調用傳回它。 (繼承來源 IJavaPeerable) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
介面 |
GetJniTypeName(IJavaPeerable) |
介面 |