在XML上表示逐位定义

时间:2014-05-20 12:16:31

标签: xml xml-parsing xsd

这是我的问题:

我在XML文件的“文档”字段中收集了一些信息,我想知道在XML格式上保存这些信息的最佳方法是什么。

我为我的项目定义了新的数据格式。这些数据格式由某些特定属性定义,通常按其大小定义。我首先尝试收集有关每种数据格式的大小(N位)的信息以及描述字段中每个位的定义,但我意识到解析XML是不可能的。

此后的一个例子:

<xs:complexType name="parameterizedDataFormat1">
<xs:sequence>
    <xs:element name="attribute1" type="xs:int" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>
size: 2 bits
00 - Func1
01 - Func2
10 - Func3
11 - Func4
        </xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>

关于大小这很容易,我只是定义了一个新属性“size”(在这种情况下size = 2)。 但是,我不知道如何为XML格式的每个位表示添加细节。

他们是否有任何其他方式使用特定标记来逐位定义?还有其他提案吗?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

documentation元素可以包含任意XML; appinfo元素也是如此(文档的兄弟,注释的孩子)。如果目标是让信息是机器可读的,我将其放入appinfo;如果目标只是让人类读者可以访问,我会把它放到文档中。在文档元素中,我使用XHTML来标记自然语言散文描述。 (当然,并非每个人都这样做,并且并非所有工具都会对XHTML做任何有用的工作。)