2010-10-18 103 views
0

我的任务是编写一个xsd,用于我公司创建的xml文件格式。XML变量标签名称

不幸的是标签中的一个包含两个变量,这里是标签

<to_1.1.1.0_24> 

的1.1.1.0的一个例子是IP地址,这样可以改变,而24是网络掩码。 无论如何在xsd文档中表达这一点。

非常感谢

大卫

+0

这听起来像这个XML的原始设计者不喜欢XML的冗长,并试图变得聪明。大错。在XML生态系统的其他部分处理这个XML将会很痛苦,因为您现在正在看到为它编写XSD。 – 2010-10-18 15:14:22

+0

我现在看到在编写XSD时遇到很大困难,我认为我会拖延,直到我可以重构代码的这个区域。 – Mumbles 2010-10-18 15:16:56

回答

3

标签。这应该分解成属性或元素。例如:

<to ip="1.1.1.0" netmask="24" /> 

或:

<to> 
    <ip>1.1.1.0</ip> 
    <netmask>24</netmask> 
</to> 
+0

谢谢,我希望事实并非如此。这是我怀疑的xml解码,非常复杂。不幸的是,我没有设计这部分软件或xml结构。 – Mumbles 2010-10-18 15:15:16

0

号而在一般情况这是非常糟糕的形式将XML文档,因为它使得解析它相当少的简单比它应该是。实际上它应该像

<to network="1.1.1.0" netmask-bit="24">...</to> 

或类似的东西本身不应含有可变数据

1

使用xsd:any元件。这将验证这种元素。

然而,它不会因其他任何验证失败,但这是当你将这种东西变为XML时必须做出的折衷。