XSD元素层次结构/递归?

时间:2018-06-08 22:16:07

标签: xsd

如果这是一个愚蠢的问题,我道歉,但我上周并不知道如何拼写XSD,而且我必须快速加速。我已经完成了几个小时的谷歌搜索和阅读文档,但仍然无法理解我想要实现的目标。

我想描述一个使用XML的可评估函数构建器,并希望包含XSD来定义/验证所述XML文档。我设想XML看起来非常类似于以下示例:+二次方程式:( - b + sqrt(b ^ 2 - 4ac))/(2a):

<function>
  <div>
    <add>
      <mult>
        <number>-1</number>
        <param>b</param>
      </mult>
      <sqrt>
        <subtract>
          <power>
            <param>b</param>
            <number>2</number>
          </power>
          <mult>
            <number>4</number>
            <param>a</param>
            <param>c</param>
          </mult>
        </subtract>
      </sqrt>
    </add>
    <mult>
      <number>4</number>
      <param>a</param>
    </mult>
  </div>
</xeq:function>

函数元素将包含单个&#34;值&#34;元件。操作元素将包含1(例如,negation,log,sin),2(例如pow,div)或更多(例如add,mult)值元素。值元素可以是原始数值,已定义的参数值或操作元素。

  • 功能元素包含单个值元素
  • 操作元素包含1,2或更多值元素
  • 值元素是数字,参数或操作

我无法为此启动XSD。如果我正确阅读文档,教程和示例,则choice元素会提供父元素可以包含的元素类型列表,而不是选择元素可以是什么。

<xs:schema>
  <xs:element name="function" type="ValueType"/>
</xs:schema>

<xs:element name="ValueType">
**????**
</xs:element>

我错过了什么?

感谢您提供任何/所有帮助

0 个答案:

没有答案