如何使用动态元素为XML创建验证文件?
我需要为以下XML创建验证文件(DTD或模式或其他内容):如何使用动态元素为XML创建验证文件?,xml,dtd,Xml,Dtd,我需要为以下XML创建验证文件(DTD或模式或其他内容): <?xml version="1.0" encoding="UTF-8"?> <Result> <StatusCode>1</StatusCode> <StatusMessage> <SSPReturnMessage> <S>false</S> <Date>23-Jan-2013 14
<?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>
1.
假的
2013年1月23日14:33
-1
数据标签是可选的,里面的标签可以是任何东西(任何标签名称)。问题是如何做到这一点以及使用哪种技术?DTD还是模式?或者是别的什么 使用DTD无法做到这一点。您可以将
数据
声明为:
<!ELEMENT Data ANY>
但是数据的任何子元素仍然需要声明(您不能这样做,因为您不知道这些元素将是什么)
我认为您是正确的,需要在XSD中使用xs:any
。您所说的验证是什么意思,只是标记或日期之类的东西是一种有效的dateValidate方法,它可以简化正式语法,精确声明哪些元素和引用可能出现在特定类型的文档中,以及哪些元素,内容和属性是。基本上,主要问题是如何动态验证从一开始就不知道的内部数据标记。@Mark也许我需要使用Schema with:这将跳过内部数据标记的解析。我知道validate在字典中的含义-但在XML中,if可能意味着检查它是否是有效的XML,XML包含scema或检查数据是否有效谢谢,我想我将使用XSD作为解决方案。