DB2 9 运用开拓(733 考试)认证指南,第 3 部分: XML 数据应用(3)

经过运用轨范存储和检索 XML
developerWorks








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 实体(&amp;&lt;&gt;)。

  • 在属性中,双引号(") 被交换为它们的 XML 实体(&quot;)。

  • 在属性值中,输入时没有规格化的某些空缺字符,譬喻 CRLF 和 tab,被交换为它们的数字援用 &#n;,个中 n 是十六进制码。

  • 因为在输入时内部 DTD 被甩掉,从 DTD 中界说的实体扩展得到的字符不会被重新编码为实体援用,而是贯串毗连扩展格式。

  • 空缺元素是没有内容的元素 -- 也即是说,它的劈头和停止标志之间没有文本或别的节点。当对输入举办串行化时,它将以一个空缺元素标志 <tag-name/> 的体式格局出现。

提醒:DB2 CLP 选项 -i "雅观地打印"一个 XQuery 的输入,增长换行符和缩进。选项 -d 在文档头部天生一个 XML 声明。欲了解更多信息,请参阅本教程的"DB2 Command Line Processor (CLP) 举动和选项"小节。




版权声明: 原创作品,应许转载,转载时请务必以超链接体式格局标明文章 原始来由 、作者信息和本声明。否则将追究法则责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1972862.html