XML-代码

对于除 EXCEPTION 事件以外的每个 XML 事件,解析器将 XML-CODE 专用寄存器的值设置为零。 对于 EXCEPTION 事件,解析器将 XML-CODE 设置为标识特定异常的值。

有关可能的异常代码的信息,请参阅相关引用。

当解析器将控制从处理过程返回到 XML PARSE 语句时, XML-CODE 通常 包含解析器设置的最新值。 然而,对于任何事件,除了 EXCEPTION ,如果您在处理过程中将 XML-CODE 设置为 -1 ,当控制权返回解析器时,解析将因用户引发的异常条件而终止, 并且 XML-CODE 将保留值 -1

对于 EXCEPTION XML 事件,在某些情况下,您的处理过程可以在控件返回到解析器之前 XML-CODE 设置为有意义的 值。 (有关详细信息,请参阅有关处理 XML PARSE 异常和处理编码冲突的相关任务。) 如果将 XML-CODE 设置为任何其他非零值,或者将其设置为任何其他异常,那么解析器会将 XML-CODE 重置为原始异常代码。

下表显示了将 XML-CODE 设置为各种值的结果。 最左边的列显示传递到处理过程的 XML 事件类型; 其他列标题显示处理过程设置的 XML-CODE 值。 每个行和列的交集处的单元格显示解析器从给定 XML 事件和 XML-CODE 值组合的处理过程返回时执行的操作。

表 1. 处理结果-对 XML-CODE 的过程更改
XML 事件类型 -1 0

XML-CODE -100,000
(EBCDIC)
XML-CODE -200,000
(ASCII)

其他非零值
编码-冲突异常 (异常代码 50-99) 忽略设置; 保留原始 XML-CODE 根据特定异常代码选择编码1 忽略设置; 保留原始 XML-CODE 忽略设置; 保留原始 XML-CODE
encoding-choice 异常 (异常代码> 100,000) 忽略设置; 保留原始 XML-CODE 使用 外部代码页2 进行解析 使用差值作为编码进行解析2 忽略设置; 保留原始 XML-CODE
其他异常 忽略设置; 保留原始 XML-CODE 仅针对异常代码 1-493 的有限延续 忽略设置; 保留原始 XML-CODE 忽略设置; 保留原始 XML-CODE
正常事件 立即结束; XML-CODE = -14 [对 XML-CODE没有明显的更改] 立即结束; XML-CODE = -1 立即结束; XML-CODE = -1
  1. 请参阅相关参考中有关 XML PARSE 异常的异常代码。
  2. 请参阅有关处理编码冲突的相关任务。
  3. 请参阅有关处理 XML PARSE 异常的相关任务。
  4. 请参阅有关终止 XML 解析的相关任务。

XML 生成还使用 XML-CODE 专用寄存器。 有关详细信息,请参阅有关处理 XML GENERATE 异常的相关任务。

相关参考
XML PARSE 异常

XML GENERATE 异常
XML-CODECOBOL for Linux® on x86 语言参考
XML-EVENTCOBOL for Linux on x86 语言参考