如何使用动态元素为XML创建验证文件?

时间:2013-01-23 13:39:41

标签: xml dtd

我需要为以下XML创建验证文件(DTD或Schema或其他):

<?xml version="1.0" encoding="UTF-8"?>
<Result>
  <StatusCode>1</StatusCode>
  <StatusMessage>
     <SSPReturnMessage>
       <S>false</S>
       <Date>23-Jan-2013 14:33</Date>
       <EL>
         <E EC="473">
            <ES><![CDATA[Error message]]></ES>
         </E>
       </EL>
     </SSPReturnMessage>
  </StatusMessage>
  <Data>
    <LocalPort>-1</LocalPort>
    <TunnelID></TunnelID>
  </Data>
</Result>  

Data标签是optinal,内部的标签可以是任何标签(任何标签名称) 问题是如何做到这一点以及使用哪种技术? DTD还是Schema?甚至是别的什么?

1 个答案:

答案 0 :(得分:1)

您无法使用DTD执行此操作。您可以Data声明为:

<!ELEMENT Data ANY>

但是Data的所有孩子仍然需要被宣布(你不能做,因为你不知道这些元素是什么)。

我认为你是对的,需要在XSD中使用xs:any