神通数据库与Oracle的XML兼容性

XML函数列表

神通数据库函数名 Oracle函数名 函数概要 功能是否相同 语法是否相同
APPENDCHILDXML APPENDCHILDXML 把用户提供的值作为xpath表达式指向节点的子节点加入到目标xml中
DELETEXML DELETEXML 在目标xml数据中把xpath指向的一个或多个节点删掉
EXISTSNODE EXISTSNODE 确定特定的XML节点的路径是否存在,返回0表示节点不存在,返回1表示节点存在
EXTRACT EXTRACT 得到一个xpath表达式作用于xml数据上产生的结果,该结果是一个节点集合
EXTRACTVALUE EXTRACTVALUE 把目标节点的值以varchar类型的形式返回
GETCLOBVAL GETCLOBVAL 将xml数据转换为clob
GETNUMBERVAL GETNUMBERVAL 把一个xml的text节点转为数值类型
GETSTRINGVAL GETSTRINGVAL 将xml数据转换为varchar
INSERTCHILDXML INSERTCHILDXML 把用户提供的值插入到目标xml中xpath表达式指向的节点
INSERTXMLBEFORE INSERTXMLBEFORE 根据指定xpath查找xmltype对象,将xml节点插入这些对象的前面。
UPDATEXML UPDATEXML 以一个xmltype实例和一系列的xpath-value对作为参数,返回更新后的xml数据
XMLAGG XMLAGG 接受 XML 片段的集合并返回聚合的 XML 文档。任何返回 null 的参数都会从结果中删除
XMLCOMMENT XMLCOMMENT 将SQL数据转换成XML内容,用以在XML创建注释
XMLCONCAT XMLCONCAT 连接多个XMLType实例,并生成新的XMLType实例。
XMLELEMENT XMLELEMENT 使用指定的元素名称、元素的可选属性集合和构成元素的内容产生一个xml元素
XMLFOREST XMLFOREST 将其每个参数转换为 XML,然后返回一个 XML 片段,该片段是这些转换后的参数的串联
XMLPI XMLPI 用于生成XML处理指令
XMLROOT XMLROOT 根据现有XML信息提供的根信息来创建新的XML值。
XMLTABLE XMLTABLE 把XQuery的计算结果以表的形式返回。在sql中可以像访问表一样访问该函数的结果
XMLTYPE XMLTYPE 把一个xml文本数据转换为用于指定XMLType实例

包中XML函数和存储过程

包中的XML函数和存储过程向Oracle兼容,主要包括 DBMS_XMLDOM、DBMS_XMLPARSER、DBMS_XSLPROCESSOR 三个包,其名称、功能、语法等与Oracle基本相同

DBMS_XMLDOM包

DBMS_XMLDOM 包中有较多的XML函数和存储过程,分为DOMNode、DOMCharacterData、DOMDocument、DOMElement、DOMNamedNodeMap、DOMNodeList、DOMText 分别介绍

DOMNode

本表列出并简要说明了 DBMS_XMLDOM 的 DOMNode 相关的XML函数和存储过程

子程序 描述
APPENDCHILD函数 将节点newchild添加到此节点的子节点列表末尾,并返回 新添加的节点。如果newchild节点已在树中,则首先将其移除
CLONENODE函数 节点的通用复制构造函数。复制节点没有父节点,父节点为NULL
FREENODE存储过程 释放与节点相关的所有资源
GETATTRIBUTES函数 检索包含此节点(元素)属性的NAMEDNODEMAP,否则为NULL
GETCHILDNODES函数 检索包此节点包含的所有子节点的 DOMNODELIST
GETFIRSTCHILD函数 检索此节点的第一个子节点,如果没有该节点,则返回 NULL
GETLOCALNAME存储过程 读取节点限定名称的本地部分,不包含命名空间前缀
GETNODENAME函数 根据节点的类型获取节点的名称
GETNODETYPE函数 检索节点的类型
GETNODEVALUE函数 根据节点的类型获取节点的值
GETOWNERDOCUMENT函数 检索与此节点相关联的 Document 对象
HASCHILDNODES函数 用于确定此节点是否有任何子节点
IMPORTNODE函数 从外部文档导入一个节点,并返回这个新节点
INSERTBEFORE函数 将节点newchild插入现有子节点refchild之前 如果refchild为空,则将newchild插入子节点列表的末尾
ISNULL函数 测试节点是否为NULL
MAKECHARACTERDATA函数 将指定的DOMNODE转换为DOMCHARACTERDATA
MAKEDOCUMENT函数 将指定的DOMNODE转换为DOMDOCUMENT
MAKEELEMENT函数 将指定的DOMNODE转换为DOMELEMENT
REMOVECHILD函数 从子节点列表中删除oldchild所指的子节点,并返回该子节点
WRITETOBUFFER存储过程 使用数据库字符集将 XML 节点写入指定的缓冲区
WRITETOCLOB存储过程 使用数据库字符集将 XML 节点写入指定的 CLOB

DOMCharacterData

本表列出并简要说明了 DBMS_XMLDOM 的 DOMCharacterData 相关的XML函数和存储过程

子程序 描述
GETLENGTH函数 获取数据中的字符数。该值可能为零,因为 CharacterData 节点可能为空
MAKENODE函数 将指定的DOMCHARACTERDATA转换为DOMNODE,并返回该DOMNODE

DOMDocument

本表列出并简要说明了 DBMS_XMLDOM 的 DOMDocument 相关的XML函数和存储过程

子程序 描述
CREATEELEMENT函数 用于创建一个DOMELEMENT节点
CREATETEXTNODE函数 用于创建DOMTEXT节点
FREEDOCUMENT存储过程 释放DOMDOCUMENT对象
GETDOCUMENTELEMENT函数 返回DOMDOCUMENT的根元素
GETELEMENTSBYTAGNAME函数 返回具有指定标签名称的所有元素的DOMNODELIST
GETVERSION函数 此函数返回DOMDOCUMENT的版本
ISNULL函数 检查指定的DOMDOCUMENT是否为NULL;如果NULL,则返回TRUE
MAKENODE函数 将DOMDOCUMENT转换为DOMNODE,并返回该DOMNODE
NEWDOMDOCUMENT函数 返回一个新的DOMDOCUMENT实例
SETVERSION存储过程 设置DOMDOCUMENT的版本

DOMElement

本表列出并简要说明了 DBMS_XMLDOM 的 DOMElement 相关的XML函数和存储过程

子程序 描述
GETATTRIBUTE函数 按名称返回DOMELEMENT属性的值
GETCHILDRENBYTAGNAME函数 返回给定标记名的DOMELEMENT的子代
GETELEMENTSBYTAGNAME函数 返回给定标记名的DOMELEMENT的子元素
GETTAGNAME函数 此函数返回DOMELEMENT的名称
MAKENODE函数 将指定的DOMELEMENT转换为DOMNODE,并返回DOMNODE
SETATTRIBUTE存储过程 按名称设置 DOMELEMENT 的属性值

DOMNamedNodeMap

本表列出并简要说明了 DBMS_XMLDOM 的 DOMNamedNodeMap 相关的XML函数和存储过程

子程序 描述
ISNULL函数 检查指定的DOMNAMEDNODEMAP是否为空;如果为空,则返回TRUE
ITEM函数 返回映射中与 INDEX 参数相对应的项目
GETLENGTH函数 获取此映射中的节点数

DOMNodeList

本表列出并简要说明了 DBMS_XMLDOM 的 DOMNodeList 相关的XML函数和存储过程

子程序 描述
GETLENGTH函数 获取DOMNodeList中的节点数
ITEM函数 返回集合中与INDEX参数相对应的项目

DOMText

本表列出并简要说明了 DBMS_XMLDOM 的 DOMText 相关的XML函数和存储过程

子程序 描述
MAKENODE函数 将DOMTEXT转换为DOMNODE,并返回DOMNODE

DBMS_XMLPARSER包

本表列出并简要说明了 DBMS_XMLPARSER 相关的XML函数和存储过程

子程序 描述
GETDOCUMENT函数 返回解析器构建的DOM树文档节点。只有在解析完文档后才可调用此函数
NEWPARSER函数 使用指定的解析器解析一个字符串形式的xml数据,返回新的解析器实例
FREEPARSER存储过程 该程序释放一个解析器对象
PARSEBUFFER存储过程 从解析器中得到解析出的文档,PARSEBUFFER会解析存储在给定缓冲区中的XML

DBMS_XSLPROCESSOR包

本表列出并简要说明了 DBMS_XSLPROCESSOR 相关的XML函数和存储过程

子程序 描述
SELECTNODES函数 从 DOM 树中选择与提供的路径表达式匹配的节点,并返回选择结果
SELECTSINGLENODE函数 从树中选择与所提供路径表达式匹配的第一个节点,并返回该节点。
VALUEOF函数 将检索树中与给定模式匹配的第一个节点的值