XML模式:添加具有不可变值的元素

XML模式:添加具有不可变值的元素,xml,xsd,Xml,Xsd,我正忙于为行业标准报告构建XML模式。此报告有不同的部分,每个部分有多个标题,每个标题下有多个字段。大多数字段需要一些用户输入;但是,有些字段是不可变的,基本上用作文档 目标是使用户能够从XML+XSD构建报告,而无需参考任何其他文档。这意味着我需要在XSD中定义某些静态元素 基本上,我有以下几点: <heading> <field1>user input</field1> <field2/> (static) ** <field

我正忙于为行业标准报告构建XML模式。此报告有不同的部分,每个部分有多个标题,每个标题下有多个字段。大多数字段需要一些用户输入;但是,有些字段是不可变的,基本上用作文档

目标是使用户能够从XML+XSD构建报告,而无需参考任何其他文档。这意味着我需要在XSD中定义某些静态元素

基本上,我有以下几点:

<heading>
  <field1>user input</field1>
  <field2/> (static) **
  <field3>user input</field3>
</heading>

用户输入
(静态)**
用户输入
**这是我的问题领域

问题(根据Paul的回答编辑):

  • 如何定义所需的元素
  • 具有非变量预定义值的
  • 这是好的设计实践吗

  • 可以使用
    sequence
    元素定义具有固定子元素序列的元素内容模型

    您可以使用
    maxOccurs
    minOccurs
    属性来声明在任何给定情况下(包括“0”或“无界”)允许或需要任何给定元素的实例数

    关于simpleContent,您可以使用
    restriction
    元素来限制任何给定元素或属性的可能文本内容。在
    限制
    中,您可以使用
    模式
    (使用只传递所需内容的正则表达式)、
    枚举
    (使用单个选项)或
    断言
    (断言值必须是所需内容)

    annotation
    对于提供人类可读的文档非常有用,但对于任何针对机器消费的文档来说就没那么有用了

    新问题增编 强制性强制性内容并不完全是不合理的,但应慎重考虑使用情况。 如果仅仅从文件的存在就可以合理地推断出这些信息,那么将其包括在内真的值得吗


    如果你只是在编纂一个现有的标准,那么你真的没有选择的余地。如果内容必须存在,那么这个事实应该反映在模式中。

    我在XSD中使用这些元素和属性。我的问题是如何具体地使用这些组合来定义1。所需元素为2。应始终具有相同的预定义值和3。这是否是好的设计实践我怎么没有回答你的问题?给定一个序列,一个必需的元素是minOccurs=1的元素,如果你想让它有一个预定义的值,那么“关于simpleContent”开头的段落就提供了一些如何实现这一点的选项。重读你的回答后,我明白了。我剩下的一个问题是:这真的是一个好主意吗?这是一种常见的使用模式吗?