我从需要处理的服务中获取这个XML。我没有太多关于XML Schema或命名空间fu,但对我来说它看起来很乱。有人可以看看它,并告诉我如何使它更好?帮我清理一些难看的XML
我知道的命名空间定义可以在第一行中声明,而不是每线。还有什么可以清理的吗?
我从需要处理的服务中获取这个XML。我没有太多关于XML Schema或命名空间fu,但对我来说它看起来很乱。有人可以看看它,并告诉我如何使它更好?帮我清理一些难看的XML
我知道的命名空间定义可以在第一行中声明,而不是每线。还有什么可以清理的吗?
我会说:留下前两个元素与xsd前缀:它只发生在两个最外层的元素。另外,在根目录中声明xmlns="http://com/acmephone/ovm/cas/types"
并从所有内容中删除typ:
前缀。
编辑:实际上将xsd前缀更改为其他前缀;它并不重要,但似乎只会导致使用通常绑定到XML模式名称空间的前缀的混淆。
我相信命名空间的URI应该是一个有效的RFC 3986 URI,或者至少如果他们打算使用“http”前缀。而这不是。也许我错了? – thermans 2010-03-10 19:50:56
它没有理由为什么它只是常见的做法 - 但它确实遵循,如果你要包含一个URI它应该是有效的。 编辑:事实上,我认为有人应该指出 - 一个XML命名空间只是一个字符串。对此使用URI是“传统”,但使用其他任何东西同样有效。任何时候都不会查找URI。 – 2010-03-10 19:54:31
@Daniel I-S我想你可能会说“这是一个使用URL的传统”。它必须是一个URI,但是是的,一个URI不需要一个协议限定符等,因此一个普通的字符串工作。 URN也用在我工作过的一些地方。 – xcut 2010-03-10 20:57:51