我以 xml 形式接收到过程的输入,并且我已经准备了 xml 模式,并希望使用该模式验证输入,如果输入不符合要求则抛出错误。我正在尝试使用 xmlvalidate() 选项“schemavalidate=yes”,但不知道在哪里存储我的 xml 架构。这些示例将 http url 指示为 xml 架构,但我应该托管我的 xml 架构吗?还是应该将其存储为数据库“文本”列?有人可以指导我如何存储和使用 xml 模式来使用 xmlvalidate() 吗?我们在 Sybase ASE 15.7
感谢你的帮助!
只需在我的下一步中添加以下问题即可:
我已经托管了我的 xml 架构并尝试使用 xmlvalidate,如下所示:
xmlvalidate(@purgeTableInfo, option 'schemavalidate=yes, nonamespaceschemalocation="http://myhost:5000/purgeschema"')
已向托管数据库的 unix box/login 提供了对此清除模式的所需访问权限。我们可以从运行 sybase 的 unix 机器上 ping 到“myhost”。但是,我仍然收到以下错误。
"XMLVALIDATE(): XML parser fatal error <<An exception occurred!
Type:NetAccessorException, Message:Could not create the socket for URL
'{0}'. Error={1>> at line 0, offset 0.
Sybase error code=14702
Severity Level=16, State=0, Transaction State=0"
有谁知道是什么原因,我应该如何解决这个问题?
对此的任何帮助都会很棒!