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

发布于 2024-10-10 18:49:07 字数 242 浏览 6 评论 0原文

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

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

您在过去的 XML 模式创建中是否有过关于什么是好的、可行的解决方案的经验?我尝试在网上查找信息,但大多数示例仅使用非常通用的目标名称空间,例如“http://exampleSchema”等。我实际上正在尝试寻找一些现实生活中的例子。

I'm looking for some ideas for good naming conventions for xsd target namespaces.

Basically I just need to make a definite decision on how to name the target namespace of my xsd so I try to get it right the first time. Changing it later would require changes to another system which is not in my control.

Do you have any experience from past XML schema creations on what is a good and working solution? I've tried to find information online, but most examples just use very generic target namespaces like "http://exampleSchema" and similar. I'm actually trying to find some real life examples.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七分※倦醒 2024-10-17 18:49:07

W3C 自己的长期 URI 选择实践是 XML 命名空间 URI 的一个非常好的基准。请参阅酷 URI 不会改变以获取一些建议,但命名空间 URI 需要的例外不可检索,因此其中一些准则可能不适用。

  • 使用与规范所有者明确关联的前缀,例如 Web 服务器的 URI。如果架构可以在线使用,那么如果可以在其命名 URI 中找到它,那就太好了。使用 HTTP URL 不是必需的,但这是常见的做法。
  • 包含一个粗略的结束日期(年份和月份即可),这样,如果您将来重新组织命名空间,名称的年份(及其内部组织)就不会含糊不清。请注意,这是首次分配 URI 的日期,而不是当前版本的日期。
  • 添加名称来标识此特定架构的主题,以便您可以将其与其他相关架构区分开来。即使主题的营销名称必须更改,该名称也应该是不可变的。也许拥有商标的其他人让您感到惊讶,也许销售部门想要尝试新的旋转,但代码不应该被破坏。
  • 最后,如果同一概念架构的后续版本不相互兼容,请添加唯一的版本控制组件以指示兼容性中断。另一方面,如果版本控制是在词汇表的范围内处理的(例如通过版本属性),则将其忽略。

XSLT 使用以下内容:

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

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

在紧要关头,您甚至可以摆脱

mailto:[email protected]?Subject=2008+XML+Basketweaving+specification

也适合该模式的问题,但建议一个联系点而不是信息存储库。

W3C's own practices for long-lived URI selection are a pretty good baseline for XML namespace URIs. See Cool URIs don't change for some suggestions, with the exception that a namespace URI need not be retrievable and so some of those guidelines may not apply.

  • Use a prefix that is unambiguously tied to the specification owner such as the URI of your Web server. If the schema will be available online, it's a nice touch if it can be found at its naming URI. The use of HTTP URLs is not required, though it is common practice.
  • Include a rough date close after (year and month is good) so that if, in the future, you reorganize your namespace, the vintage of the name (and therefore its internal organization) is unambiguous. Note that this is the date the URI was first allocated, not the date of the current version.
  • Add a name to identify the subject matter of this particular schema, so you can tell it from other related schemas. This name should be immutable, even if the marketing name of the subject has to change. Maybe someone else who holds a trademark on it surprised you, maybe the sales department wants to try a new spin, but code shouldn't break.
  • Finally, if subsequent versions of the same conceptual schema are not mutually compatible, add a unique versioning component to indicate the compatibility break. If the versioning is handled within the scope of the vocabulary (such as by a version attribute), on the other hand, leave this out.

XSLT uses the following:

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

This fits the pattern above. Owner identifier, date, and name; and no versioning component because versioning is handled within the XSLT vocabulary.

In a pinch, you can even get away with

mailto:[email protected]?Subject=2008+XML+Basketweaving+specification

which fits the pattern as well but suggests a point of contact instead of an information repository.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文