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 規格外所定義之參數的名稱應該是唯一的。 由於參數會公開為 中的屬性,因此建議名稱遵循第 5.16 節 [Unicode] 的標識符,並新增字元 '-' (HYPHEN-MINUS) ,但 DOM 實作不會強制執行。 需要 DOM 層級 3 核心實作,才能辨識此規格中定義的所有參數。 實作可能也需要某些參數值才能支援。 請參閱 參數的定義,以瞭解是否必須支援值。 <p ><b>注意:</b> 參數類似於 SAX2 [SAX] 中使用的功能和屬性。
DOM 中定義的下列參數清單:<dl<>dt<>"canonical-form"
/dt<>dd><dl><dt/dttrue
<<>> dd>[<em optional</em>>] Canonical 化檔,根據 [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<false
>/dt<>dd>[<em required</em>>] (em>default</em>) <請勿正式化檔。</dd/dl></dd<>dt>"cdata-sections"
</dt><dd><dl<>dttrue
></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><dt><true
/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>"comments"
</dt><dd><dl<>dttrue
></dt><dd>[<em>required</em>] (<em>default</em>) 保留Comment
檔中的節點。<></dd><dtfalse
></dt><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 節中所定義的屬性值正規化,而且僅適用於檔類型定義 (DTD) 以外的架構語言。 </dd dt/dtfalse
>><< dd>[<em>required</em>] (<em default</em>>) 請勿在樹狀結構上執行架構正規化。>< </dd/dl></dd><dt><"element-content-whitespace"
/dt<>dd<>dl><dttrue
></dt><dd>[<em>required</em>] (<em>default</em>) 保留檔中的所有空格符。<></dd><dt/dt>false
><< dd>[<em>選擇性</em>] 捨棄元素內容中包含空格符的所有Text
節點,如 [元素內容空格符] 中所述。 實作應該使用 屬性Text.isElementContentWhitespace
來判斷節點是否Text
應該捨棄。</dd/dl></dd<>dt>"entities"
</dt><dd><dl<>dttrue
></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<"error-handler"
>/dt><dd>[<em required</em>>] 包含 DOMErrorHandler
物件。 如果在檔案中遇到錯誤,實作會呼叫使用此參數註冊的 DOMErrorHandler
。 實作可能會提供默認 DOMErrorHandler
物件。 呼叫時, DOMError.relatedData
將會包含最接近發生錯誤的節點。 如果實作無法判斷發生錯誤的節點, DOMError.relatedData
將會包含 Document
節點。 從錯誤處理程式內變更檔將會導致實作相依行為。 </dd><dt>"infoset"
</dt<>dd<>dl<>dttrue
<>/dt><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<"namespaces"
>/dt><dd<>dl<>dt<true
>/dt><dd>[<em>required</em>] (<em>default</em>) 如 中所定義執行命名空間處理。 </dd dt/dt><<false
> dd>[<em 選擇性</em>>] 請勿執行命名空間處理。>< </dd></dl></dd><dt>"namespace-declarations"
</dt<>dd> 如果參數 “namespaces” 設定為 false
,則此參數不會有任何作用。 <dl>dt/dt><true
>< 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"normalize-characters"
></dt<>dd<>dl><dt><true
/dt<>dd>[<em>optional</em>] 完整正規化檔中的字元,如 [XML 1.1] 附錄 B 中所定義。 </dd dt/dt>false
<>< dd>[<em required</em>>] (em>default</em>) <請勿執行字元正規化。<></dd></dl></dd<>dt"schema-location"
></dt<>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<>dttrue
<>/dt<>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>"validate"
</dt<>dd<>dl<>dttrue
<>/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
。< 應用程式也應該考慮將參數「格式正確」設定為 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<>dt<true
>/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"well-formed"
<>/dt<>dd<>dl<>dt><true
/dt<>dd>[<em>required</em] (<em>default</em>>) 檢查所有節點是否根據中使用的 Document.xmlVersion
XML 版本而形成良好:<ul<>li> 檢查屬性Node.nodeName
是否根據其節點類型包含無效字元,並產生DOMError
具有"wf-invalid-character-in-node-name"
DOMError.SEVERITY_ERROR
嚴重性的類型, 如有需要,則為 ;</李><li> 檢查 、 、 Element
、 、 Comment
Text
CDATASection
節點內的Attr
文字內容是否有無效字元,並視需要產生類型"wf-invalid-character"
為 的 ,DOMError.SEVERITY_ERROR
並視DOMError
需要為嚴重性; </li><li> 會檢查節點內ProcessingInstruction
是否有無效字元的數據,並視需要產生類型"wf-invalid-character"
為 的 ,並視DOMError
需要具有DOMError.SEVERITY_ERROR
嚴重性; </li>/ul></dd<>dt<false
>/dt<>dd>[<em>optional</em>] 請勿檢查 XML 格式正確。< </dd></dl></dd></dl>
與實體相關聯的系統標識碼解析是使用 Document.documentURI
來完成。 不過,當 DOM 實作支援 [DOM 層級 3 載入和儲存] 中定義的功能 “LS” 時,參數 “resource-resolver” 也 DOMConfiguration
可用於附加至 Document
節點的物件上。 如果設定此參數, Document.normalizeDocument()
將會叫用資源解析程式,而不是使用 Document.documentURI
。
另請參閱 檔物件模型 (DOM) 層級 3 核心規格。
已在 DOM 層級 3 中新增。
的 org.w3c.dom.DOMConfiguration
Java 檔。
此頁面的部分是根據 所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。
屬性
Handle |
取得基礎 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
JniIdentityHashCode |
傳回已包裝實例的 值 |
JniManagedPeerState |
Managed 對等的狀態。 (繼承來源 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) |
介面 |