2013-04-24 106 views
1

我接收到xml過程的輸入,並且我已準備好xml架構,並且希望驗證具有架構的輸入並在輸入不符合時拋出錯誤。我想使用xmlvalidate()選項'schemavalidate = yes',但無法弄清楚存儲我的xml模式的位置。這些示例指示一個http url作爲xml模式,但是應該託管我的xml模式?或者我應該將它作爲數據庫「文本」列存儲?有人可以指導我如何存儲和使用xml架構來使用xmlvalidate()?我們在Sybase ASE 15.7Sybase ASE - xmlvalidate與xml架構

感謝您的幫助!


只需添加下面的問題是翻過我的下一步在這:

我主持我的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" 

有誰知道會是什麼原因,我該如何去解決這個問題?

任何幫助,這將是偉大的!

回答

0

根據the documentation,要驗證一個dtd,你的模式需要託管。你的xml應該存儲在數據庫中的文本列中,而不是你的xml模式。文件中有許多例子,它們應該指導你朝着正確的方向前進。

+0

謝謝邁克爾。我已經託管了我的xml架構,並嘗試過xmlvalidate但面臨一些問題。我編輯了我的問題以包含此錯誤。你能幫我解決嗎? – user1549605 2013-05-07 15:32:08

+0

從這裏它已經不在我的區域了。您可能想嘗試SAP社區網絡,因爲許多Sybase/SAP工程師在那裏回答問題。 - http://scn.sap.com/community/sybase-adaptive-server-enterprise/content(給你錯誤的鏈接之前......這是正確的)。 – 2013-05-08 11:29:01