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
接口的 [DOM 级别 3 加载和保存]。DOMParser
对象使用 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>true
</dt<>dd>[<em>optional</em>] 根据 [Canonical XML] 中指定的规则规范化文档,例如从树中删除DocumentType
节点 ((如果有任何) ),或者从每个元素中删除多余的命名空间声明。 请注意,这仅限于可在 DOM 中表示的内容;具体而言,无法指定 DOM 中属性的顺序。 此外,将此参数设置为 true
还将设置下面列出的参数的状态。 稍后对其中一个参数的状态的更改将还原“规范形式”返回到 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><dtfalse
<>/dt><dd>[<em>required</em>]将文档中的节点转换为CDATASection
Text
节点。 然后,新Text
节点与任何相邻Text
节点组合在一起。</dd></dl></dd><dt"check-character-normalization"
<>/dt<>dd<>dl><dt><true
/dt<>dd>[<em>optional</em>] 检查文档中的字符是否已完全规范化,如 [XML 1.1] 附录 B 中所述。 当遇到无法进行规范化检查的字符序列时,DOMError.type
将发出等于“检查-character-normalization-failure”的错误。 </dd><dt>false
</dt><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 架构中的规范化值。 由于此参数需要具有架构信息,因此“validate”参数也将设置为 true
。 在“验证” false
时激活此参数不起作用且不会发生架构规范化。 <p ><b>注意:</b> 由于文档包含 XML 1.0 处理的结果,此参数不适用于 [XML 1.0] 第 3.3.3 节中定义的属性值规范化,并且仅适用于文档类型定义 (DTD) 以外的架构语言。 </dd><dt><false
/dt><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><false
/dt<>dd>[<em>optional</em>] 丢弃元素内容中包含空格的所有Text
节点,如 [element content whitespace] 中所述。 实现应使用 特性Text.isElementContentWhitespace
来确定是否Text
应放弃节点。</dd></dl></dd<>dt><"entities"
/dt><dd><dl<>dttrue
<>/dt><dd>[<em>required</em>] (<em>default</em>) 保留EntityReference
文档中的节点。</dd><dt<false
>/dt<>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><dtfalse
></dt><dd>将 设置为 infoset
false
不起作用。</dd></dl></dd<>dt<"namespaces"
>/dt><dd<>dl<>dt<true
>/dt><dd>[<em>required</em>] (<em>default</em>) 按 中定义执行命名空间处理。 </dd><dtfalse
></dt<>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><dtfalse
></dt<>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>false
</dt><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<"schema-type"
>/dt<>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<true
>/dt><dd>[<em>required</em>] (<em>default</em>) 拆分包含 CDATA 节终止标记“]>”的 CDATA 节。 拆分 CDATA 节时,将发出一个DOMError.type
警告,警告将等于 "cdata-sections-splitted"
和 DOMError.relatedData
等于拆分产生的文档顺序中的第一个CDATASection
节点。</dd><dtfalse
<>/dt><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><false
/dt><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><false
/dt><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
文本内容为无效字符,并在必要时生成DOMError
类型"wf-invalid-character"
为 的 ,其DOMError.SEVERITY_ERROR
严重性为 ; </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 实现支持 [DOM 级别 3 加载和保存] 中定义的功能“LS”时,还可以在附加到Document
节点的对象上使用DOMConfiguration
参数“resource-resolver”。 如果设置了此参数, Document.normalizeDocument()
将调用资源解析程序,而不是使用 Document.documentURI
。
另请参阅 文档对象模型 (DOM) 级别 3 核心规范。
在 DOM 级别 3 中添加。
的 org.w3c.dom.DOMConfiguration
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
属性
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) |
接口 |