XML名称空间用于什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

这是我一直觉得很难向其他人解释的:为什么XML名称空间存在?我们什么时候应该使用它们,什么时候不应该使用它们?在XML中使用名称空间时,常见的缺陷是什么?

另外,它们如何与XML模式相关联?XSD模式应该始终与命名空间相关联吗?

提问于
用户回答回答于

它们允许组合多种标记语言,而不必担心元素和属性名称之间的冲突。

例如,查看任何XSLT代码,然后考虑如果您不使用名称空间并试图编写一个XSLT,其中输出必须包含“模板”、“for-each”等元素,会发生什么情况。语法错误,是什么。

用户回答回答于

这几乎等同于问“为什么我们使用Java/C#的包?”:

  • 可重用性::您可以重用跨不同类型的XML文档定义的一组标记/属性。
  • 模块化:如果需要向XML添加一些“方面”,那么向XML文档中添加名称空间比更改整个XML模式定义更简单。
  • 避免混淆“主”命名空间:您不需要强制解析器使用庞大的模式定义,只需使用所需的名称空间即可。

扫码关注云+社区