2
我必須使用XML架構來驗證包含嵌入式XML的XML文件。內部XML的正確性並不令我感興趣。我應該在XML Schema中爲這種類型的內容使用哪種類型?簡單xs:string
不起作用。在XMLSchema中定義嵌入式XML
我必須使用XML架構來驗證包含嵌入式XML的XML文件。內部XML的正確性並不令我感興趣。我應該在XML Schema中爲這種類型的內容使用哪種類型?簡單xs:string
不起作用。在XMLSchema中定義嵌入式XML
在另一個XML文檔中嵌入XML有許多選擇。
xs:any:
你可以在你的架構(link)使用xs:any
類型。但是,您需要包含嵌入式XML的架構(將用於驗證它)。
或者,xs:string
可以工作,如果您將內部XML嵌入CDATA
部分或轉義所有<
和&
字符。
CDATA
部分:
<InnerXml>
<![CDATA[
<InnerXmlRoot>
<InnerXmlContent>One & Two</InnerXmlContent>
</InnerXmlRoot>
]]>
</InnerXml>
你需要小心的用這種方法唯一的事情是內部XML不能包含CDATA
部分作爲允許的內容不能包含]]>
(見XML specification)。
字符轉義:
<InnerXml>
<InnerXmlRoot>
<InnerXmlContent>One & Two</InnerXmlContent>
</InnerXmlRoot>
</InnerXml>
你使用`XS遇到了什麼問題:string`? – 2011-12-16 14:23:18
.net驗證程序很聰明,並認識到內容是xml - 我得到錯誤:「元素'xxx'不能包含子元素'yyy',因爲父元素的內容模型僅爲文本。」 – 0xddr 2011-12-20 11:29:15