在 XML 模式中为不同命名空间声明属性

2024-01-26

我一直在使用 XML 格式,该格式混合了不同的现有格式和一些自定义元素和属性,并且我认为应该为这些自定义位编写一个架构。

我做的一件事是在现有格式的元素上使用自定义属性,如下所示:

<ns1:something attA="b" attB="a" ns2:extraAtt="c"/>

我知道这样做是允许的,但我不知道如何在 XML 模式中或者更糟糕的是在 DTD 中声明我的“extraAtt”。

我尝试过阅读规格 http://www.w3.org/TR/xmlschema11-1/,但就我而言,它也可以用中文写。大多数教程只讨论“名称”、“类型”和“用途”,例如this one http://www.liquid-technologies.com/Tutorials/XmlSchemas/XsdTutorial_01.aspx and that one http://www.w3schools.com/schema/schema_simple_attributes.asp.


每个模式文档定义一个名称空间的组件(模式的各个部分)。所以要定义你的属性ns2:extraAtt你想要一个像这样的模式文档:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://example.com/my-ns2">
  <xs:attribute name="extraAtt" type="xs:anySimpleType"/>
</xs:schema>

元素 ns1:something 的声明需要以某种方式允许该属性,或者使用属性引用 (<xs:attribute ref="ns2:extraAtt"/>) 或使用属性通配符 (<xs:anyAttribute namespace="http://example.com/my-ns2"/>或类似)。


对规范的易读性感到抱歉;这是一个很长的故事,但本质上工作组的一些成员并不认为像你这样的人存在(“除了实现者之外没有人阅读规范,只要他们不抱怨它就足够可读”——至少,这就是他们在一些实施者大声抱怨之前就说过;然后他们只是改变了话题)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 XML 模式中为不同命名空间声明属性 的相关文章

  • 是什么导致 Web 服务 URL 和命名空间之间存在差异?

    我有一个包含 Web 服务的 ASP NET Web 项目 当我运行该服务时 它会将我带到一个显示所有公开方法的页面 使用类似于以下内容的 URLhttp api example com game service asmx 在 Web 服务
  • 将 xsd:any 的类型限制为仅 xsd:string?

    所以我正在编写一个新的 XSD 但遇到了一个小问题 现在我承认我在这些方面并不是最好的 但我本以为我所做的应该有效 但事实并非如此 我所追求的是我有一个名为extraInfo该元素最多可以有 42 个子元素 其名称任意 但只能是字符串类型
  • Xml序列化顺序问题

    通常 所有这些都非常适合将我的对象序列化为 Xml 字符串 然后再序列化回对象 然而 不同最终用户之间存在这种不一致 我似乎无法追踪 基本上 当我序列化一个对象时 一旦转换为 Xml 它看起来就像这样
  • 使用 zeep / python 创建 XML 序列

    我正在使用 zeep Python 3 6 与 SOAP API 进行交互 并使用包含此部分的 WSDL 架构
  • XMI 2.1.1 的 XSD

    我必须使用 JAXB 解析 XMI 文件 xmi 版本 2 1 1 为此 我必须生成与 XMI 文件相对应的 Java 类 因此 我需要 xmi 文件的 shema 定义才能使用 jxc 工具执行此操作 我希望有人知道在哪里可以找到这个文件
  • 为什么我在本地项目中不断收到“必须为不属于项目的 XAML 文件指定程序集”错误?

    首先 我想强调的是 我do知道如何在我的 XAML 文件中正确定义 XML 命名空间 这个重复的错误是not由我的代码中的错误引起的 问题是not阻止我的项目成功构建或运行以及提到的Converter类工作完美 当我构建项目时 错误消失了
  • 在java中以编程方式生成XSD

    是否有任何API可以在java中以编程方式生成XSD 我需要从 Json Schema 生成 XSD 我将阅读 Json Schema 并根据我在解析过程中遇到的元素需要创建适当的 XSD 元素 因此 如果有任何可以支持 XSD 元素的 A
  • XSD 属性 NILLABLE 不起作用

    我正在努力获取一个 xml 文件来根据 XSD 架构进行验证 但我在验证时遇到了问题 每次我验证时都会收到错误消息 架构有效性错误 元素 http services website com ProgramResponse Populatio
  • Spring中需要多个相同类型的bean

    将其标记为重复之前的请求 我浏览了论坛 但在任何地方都找不到该问题的解决方案 我正在使用 Spring 3 2 编写代码 一切都是纯粹基于注释的 该代码接收从不同 XSD 文件派生的 XML 文件 所以我们可以说 有五个不同的 XSD A1
  • 使用 python 从 XSD 文件创建特定的 XML 文件

    我有一个现有的 xsd 架构 并且需要创建 希望使用 Python 带有一些特定输入的 XML 文件 最好的方法是什么 我尝试了 Element Tree 和 xmlschema 但我无法判断它们是否允许从已知的 XSD 架构开始生成 XM
  • 对其他元素值的 XSD 限制

    是否可以在 XSD 文档中对其他元素值进行限制 例如 我有国家和州元素 如果国家 地区等于美国 那么我需要限制指定枚举的状态元素值 否则状态可以只是固定长度的字符串 当前 XSD 的示例 始终将状态限制为枚举
  • 设计 XML 模式的最佳实践是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 作为一名业余软件开发人员 我仍在学术界 我编写了一些 XML 文档模式 我经常遇到导致 XML 文档难看的设计错误 因为我不完全确定
  • 何时对 xmlns 使用 URN

    对于 hello world 类型的 xml 文档
  • 使用lxml解析HTML时如何保留名称空间信息?

    gt gt gt from lxml etree import HTML tostring gt gt gt tostring HTML
  • 为什么我收到此错误“未绑定 XML 命名空间前缀”

    我几乎完成了一个简单的 Android 应用程序的编写 它似乎运行良好 但是 当我运行代码分析时 我收到大约 100 个有关 xml 文件的警告 我收到的错误是 未绑定 XML 命名空间前缀 和 命名空间未绑定 这是我的一个 xml 文件中
  • 反规范化 XSD

    我需要对 XML 模式进行非规范化 以便为将创建符合该模式的文档的人员生成文档 用户不了解 XSD 并且很可能永远不会学习 我见过的工具能够为其他 XSD 开发人员生成文档 但我的用户对如何构建架构的细节不感兴趣 他们只想知道他们可以做什么
  • 在解析之前使用 lxml 注册命名空间

    我正在使用 lxml 从具有命名空间的外部服务解析 XML 但未将它们注册到xmlns 我正在尝试手动注册它register namespace 但这似乎不起作用 from lxml import etree xml
  • 如何选择使用默认命名空间的节点?

    XML 文件的结构大致如下 a b b a
  • XMLReader - 如何处理未声明的命名空间

    Merged https meta stackexchange com questions 158066 what is a merged question with 如何使用 XMLReader 读取未定义命名空间的 XML 文件 que
  • 为 XSD 中的元素指定命名空间

    我有一个 XML 需要为其生成 XSD 我的 XML 如下 实例

随机推荐