经过运用轨范存储和检索 XML
XML 串行化
输入中 XML 的变化
当 DB2 串行化 XML,大约将它从内部构造转换回字符时,和分析相似,XML 规范划定对数据举办一些变更,使之看上去差别于输入。这些变更的目的和后果是孕育发生一个可以再次被分析的有效的 XML 文档字符串。
- 若是目的编码差别于 DB2 的内部编码 UTF-8,则 UTF-8 字符被译码为目的编码。输入中作为字符援用的字符在输入中仍旧贯串毗连为实践的字符,而没有被重新编码成一个援用。目的字符会合不存在的字符将丢失落,而被"
?
"之类的字符交换。欲了解更多信息,请参阅本教程的"XML 编码" 小节。 - 若是相符以下任何一个条件,就会天生 XML 声明:
- 应用
XMLSERIALIZE(XML-expression INCLUDING XMLDECLARATION)
显式地串行化 serialize - 客户机是一个 CLI 或嵌入式 SQL (ESQL) 运用轨范
- 客户机是应用 DB2 Driver for JDBC 和 SQLJ 的 Java 或 .NET 运用轨范,并且应用
com.ibm.db2.jcc.DB2Xml
类将 XML 取到DB2Xml
对象中。
- 应用
-
若是目的编码为 UTF-16,则天生一个 Byte Order Mark (BOM)。
-
“和”标记(
&
)、小于号(<
)和大于号(>
)字符被判袂交换为它们的 XML 实体(&
、<
和>
)。
-
在属性中,双引号(
"
) 被交换为它们的 XML 实体("
)。
-
在属性值中,输入时没有规格化的某些空缺字符,譬喻
CR
、LF
和 tab,被交换为它们的数字援用&#n;
,个中n
是十六进制码。
-
因为在输入时内部 DTD 被甩掉,从 DTD 中界说的实体扩展得到的字符不会被重新编码为实体援用,而是贯串毗连扩展格式。
-
空缺元素是没有内容的元素 -- 也即是说,它的劈头和停止标志之间没有文本或别的节点。当对输入举办串行化时,它将以一个空缺元素标志
<tag-name/>
的体式格局出现。
提醒:DB2 CLP 选项 -i
"雅观地打印"一个 XQuery 的输入,增长换行符和缩进。选项 -d
在文档头部天生一个 XML 声明。欲了解更多信息,请参阅本教程的"DB2 Command Line Processor (CLP) 举动和选项"小节。
版权声明:
原创作品,应许转载,转载时请务必以超链接体式格局标明文章 原始来由 、作者信息和本声明。否则将追究法则责任。