XML命名空间URI的良好或常见命名约定

17

我正在寻找一些关于XSD目标命名空间的良好命名规范的想法。

基本上,我只需要做出一个明确的决定,如何对我的 XSD 目标命名空间进行命名,以便第一次就能做到正确。之后更改将需要更改另一个不在我的控制范围内的系统。

您是否有过往 XML 模式创建的经验,了解哪种方法是可行且良好的解决方案?我已经尝试在网上寻找信息,但大多数示例都使用非常通用的目标命名空间,例如“ http://exampleSchema”等。我实际上正在寻找一些现实生活中的例子。

1个回答

18
W3C自己长期URI选择的实践是XML命名空间URI的良好基准。参见Cool URIs don't change提供的一些建议,但需要注意的是,命名空间URI不需要可检索,因此其中的一些指南可能不适用。
  • 使用与规范所有者明确相关的前缀,例如您的Web服务器的URI。如果模式将在线上提供,如果可以在其命名URI中找到,则很好。不要求使用HTTP URL,但这是常见做法。
  • 在之后加上一个近似日期(年份和月份很好),以便如果将来重新组织命名空间,则名称的年份(因此其内部组织)是明确的。请注意,这是分配URI的日期,而不是当前版本的日期。
  • 添加名称以标识特定模式的主题,以便您可以将其与其他相关模式区分开来。即使主题的营销名称必须更改,该名称也应保持不变。也许持有商标的其他人会让你感到惊讶,也许销售部门想尝试新的宣传方式,但代码不应该崩溃。
  • 最后,如果同一概念模式的后续版本不相互兼容,则添加唯一的版本组件以指示兼容性断裂。另一方面,如果版本控制在词汇范围内处理(例如通过版本属性),则将其排除。

XSLT使用以下内容:

http://www.w3.org/1999/XSL/Transform

这符合上述模式。所有者标识符、日期和名称;没有版本控制组件,因为版本控制在XSLT词汇中处理。

如果情况紧急,甚至可以使用以下方法

mailto:author@example.org?Subject=2008+XML+Basketweaving+specification

该模式同样适用,但它建议一个联系点而不是信息存储库。

谢谢,这帮了我很多。我喜欢添加大致日期的想法。这不仅增加了一些信息,而且也很好地说明了模式定义的时间。 - Anne Schuessler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接