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
对象也用于 [DOM 级别 3 加载和保存] 中的 DOMParser
和 DOMSerializer
接口。
对象使用 DOMConfiguration
的参数名称在整个 DOM 级别 3 规范中定义。 名称不区分大小写。 为避免可能的冲突,作为约定,引用 DOM 规范外部定义的参数的名称应是唯一的。 由于参数作为属性公开,因此建议名称遵循 [Unicode] 的第 5.16 节标识符,并添加字符“-”(HYPHEN-MINUS),但 DOM 实现不会强制执行它。 DOM 级别 3 核心实现需要识别此规范中定义的所有参数。 实现可能还需要一些参数值。 请参阅参数的定义,以了解值是否必须受支持。 <p ><b>注意:</b> 参数类似于 SAX2 [SAX] 中使用的特性和属性。
DOM 中定义的以下参数列表:dl>dt/dt<<>>"canonical-form"
dd<>dl<>dt/dttrue
<><> dd>[<em>optional</em>] 根据 [规范 XML] 中指定的规则对文档进行规范化,例如从树中删除节点(如果有),或者从每个元素中删除DocumentType
多余的命名空间声明。<< 请注意,这仅限于 DOM 中可以表示的内容;具体而言,无法指定 DOM 中属性的顺序。 此外,将此参数设置为 true
还将设置下面列出的参数的状态。 以后对这些参数之一的状态的更改将恢复为 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><"cdata-sections"
/dt><dd<>dl<>dt/dt>true
<>< dd>[<em>required</em] (<em>default</em>>)将节点保留在CDATASection
文档中。</dd dt/dt<<>false
> dd>[<em>required</em>]将文档中的节点转换为CDATASection
Text
节点。>< 然后,新Text
节点与任何相邻Text
节点组合在一起。</dd></dl></dd><dt>"check-character-normalization"
</dt><dd<>dl<>dt/dttrue
><>< 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<>dt/dt>true
<>< 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<>dt/dttrue
><>< dd>[<em>optional</em>] 在树中公开架构规范化值,如 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><dt/dttrue
>><< dd>[<em>required</em] (<em>default</em>>)保留文档中的所有空格。</dd dt/dtfalse
><<> dd>[<em>optional</em>] 放弃元素内容中包含空格的所有Text
节点,如 [元素内容空格]中所述。>< 实现应使用特性Text.isElementContentWhitespace
来确定是否Text
应丢弃节点。</dd></dl></dd<>dt><"entities"
/dt><dd<>dl<>dt/dt>true
<>< 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/dt><<false
> dd>设置infoset
false
无效。<></dd></dl></dd><dt>"namespaces"
</dt><dd<>dl<>dt/dttrue
><>< dd>[<em>required</em] (<em>default</em>>) 按定义执行命名空间处理。 </dd dt/dt><false
<> dd>[<em>optional</em>] 不执行命名空间处理。>< <如果参数“namespaces”设置为 ,则 /dd></dl></dd><dt><"namespace-declarations"
/dt<>dd> 此参数无效。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
<0/>,命名空间前缀 (Node.prefix
) 也会保留。</dd></dl></dd><dt>"normalize-characters"
</dt><dd<>dl<>dt/dt>true
<>< dd>[<em>optional</em>] 完全规范化文档中的字符,如 [XML 1.1] 附录 B 中定义的字符。 </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
< a0/>。 <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/dt<<>>"split-cdata-sections"
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<"validate"
>/dt><dd<>dl<>dt/dttrue
><>< dd>[<em>optional</em>] 要求对文档的架构(i.e. XML架构、DTD、任何其他类型或架构表示形式)进行验证,因为它正按照 [XML 1.0] 的定义进行规范化。 如果找到验证错误,或者找不到架构,则会通知错误处理程序。 除非参数为“数据类型规范化” true
,否则不会根据所使用的架构公开架构规范化值。 此参数将重新计算:<ul<>li> Attribute 节点,其Attr.specified
等于false
,如接口<说明Attr
中指定的;/li li>>< 所有节点的属性Text.isElementContentWhitespace
Text
的值; </li li>>< 所有节点的属性Attr.isId
Attr
的值; </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/dt><><true
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/dt<true
<>> 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 li>>< 检查是否存在无效字符的文本Attr
Comment
Element
CDATASection
Text
内容,并在必要时生成DOMError
类型"wf-invalid-character"
DOMError.SEVERITY_ERROR
(严重性); </li li><> 检查节点内ProcessingInstruction
是否有无效字符的数据,并生成DOMError
具有DOMError.SEVERITY_ERROR
严重性的类型"wf-invalid-character"
(如有必要); </li>/ul></dd><dt/dtfalse
><>< 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 中添加。
适用于 . 的 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) |
该 |