Oracle XMLTYPE:参数如< 123.xml />不工作

时间:2013-12-24 11:55:38

标签: oracle oracle11g xmltype

我正在使用Oracle 11g,我将文件名传递给函数说

FUNCTION test(file_name IN XMLTYPE)

它接受类似<file1.xml/>的文件名,但是当我将文件名作为<123.xml/>传递时,它会抛出Oracle类型异常错误。但是如果我再次将文件名作为<T123.xml/>从字符开始传递,那么它工作正常。

请告诉我需要做什么来处理文件名<123.xml/>

1 个答案:

答案 0 :(得分:2)

<123.xml/>无效XML:标记名称不能以数字开头(或.-)。关于XML的维基百科文章对结构良好有很好的总结。您发布的另外两个示例是有效的XML,标记名称格式正确。

但是你的用例看起来很奇怪。如果要将简单文件名传递给该函数,为什么不传递普通字符串?如果你确实希望传递一个XML容器中编码的文件名,那么这样的事情会更有意义:

<file name="foo.bar"/>