XML命名空间URI的良好或通用命名约定

Ann*_*ler 15 xml xsd naming-conventions xml-namespaces

我正在寻找一些关于xsd目标命名空间的良好命名约定的想法.

基本上我只需要明确决定如何命名我的xsd的目标命名空间,所以我试着在第一次就把它弄好.稍后更改它将需要更改另一个不受我控制的系统.

您是否有过任何优秀且有效的解决方案的XML架构创建经验?我试图在线查找信息,但大多数示例只使用非常通用的目标命名空间,如"http:// exampleSchema"等.我实际上是想找到一些现实生活中的例子.

Jef*_*tin 16

W3C自己的长期URI选择实践是XML命名空间URI的一个很好的基线.请参阅Cool URI不会更改某些建议,但命名空间URI无需可检索,因此某些指南可能不适用.

  • 使用明确绑定到规范所有者的前缀,例如Web服务器的URI.如果架构可以在线获得,那么如果可以在其命名URI中找到它,那将是一个不错的选择.虽然这是常见做法,但不需要使用HTTP URL.
  • 包括一个粗略的日期(年和月是好的),以便在将来重新组织您的名称空间时,名称的复古(因此其内部组织)是明确的.请注意,这是首次分配URI的日期,而不是当前版本的日期.
  • 添加名称以标识此特定模式的主题,以便您可以从其他相关模式中进行说明.即使主题的营销名称必须更改,此名称也应该是不可变的.也许其他拥有商标的人会让你感到惊讶,也许销售部门想要尝试一个新的旋转,但代码不应该破坏.
  • 最后,如果相同概念架构的后续版本不相互兼容,请添加唯一的版本控制组件以指示兼容性中断.如果版本控制是在词汇表的范围内处理的(例如通过版本属性),另一方面,请将其保留.

XSLT使用以下内容:

http://www.w3.org/1999/XSL/Transform
Run Code Online (Sandbox Code Playgroud)

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

在紧要关头,你甚至可以逃脱

mailto:author@example.org?Subject=2008+XML+Basketweaving+specification
Run Code Online (Sandbox Code Playgroud)

这也符合模式,但建议联系点而不是信息库.