【问题标题】:XML Schema .xsdXML 架构 .xsd
【发布时间】:2017-11-07 01:38:09
【问题描述】:

我似乎无法弄清楚如何为这个 xml 文件制作一个 xsd,谁能帮我为此编写架构?

<?xml version="1.0" encoding="UTF-8"?>
<raml version="2.0" xmlns="example.xsd">
  <cmData type="example">
    <header>
      <log dateTime="2017-11-03T08:18:01" action="created" 
       appInfo="exportr">UIValues are used</log>
  </header>
<managedObject class="aaaa" version="a" distName="name" id="1">
  <p name="link">example</p>
  <p name="name">xyz</p>
  <p name="other">abcd</p>
</managedObject>
<managedObject class="bbbb" version="a" distName="name1" id="2">
  <p name="auto">AB123</p>
  <p name="name">wrg</p>
  <p name="Other1">abcdef</p>
  <p name="height">11111</p>
  <p name="other">1234456</p>
  <p name="length">123454"</p>
  <p name="other2">65984984"</p>
</managedObject>
</cmData>

【问题讨论】:

标签: xml xsd schema


【解决方案1】:

对于任何给定的 XML 文档,都有无数的架构对其有效。要定义“正确”模式,您需要知道要定义的文档类别,而这不能通过提供单个实例来完成。例如,我们可以查看您的实例文档并注意到带有@name="name" 的段落始终具有由三个小写ASCII 字母组成的值:但我们不知道这是否是整个文档类的一般属性.

我怀疑(尽管这是一个疯狂的猜测)您想要定义某种规则,即“如果段落的名称是 X,那么内容必须是 T 类型”。您无法在 XSD 1.0 中定义这种规则,但您可以在 XSD 1.1 中使用称为“类型替代”的功能来定义。

【讨论】:

    猜你喜欢
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 2014-01-22
    相关资源
    最近更新 更多