用于数据建模的XML

时间:2012-10-18 22:15:20

标签: xml data-structures data-modeling

是否可以使用XML格式定义具有各种引用的数据模型? 呃我意识到我刚写的东西毫无意义。让我解释。 假设我有一个模型代表3D空间中的一组点。让我们假设其中一些点具有全局坐标,这意味着它们的x,y,z只是纯实数

<model>
   <point id="1" x="120" y="200" x="300" />
   <point id="2" x="40" y="-200" x="900" />
</model>

到目前为止一切都很好......现在让我们假设另一个点,第3点取决于第1点和第2点的位置。例如,它位于沿着从第1点到第2点的直线的某个位置。

<model>
   <point id="1" x="120" y="200" x="300" />
   <point id="2" x="40" y="-200" x="900" />
   <point id="3" x="??" y=""??" x="??" />
</model>

我知道那些“??”代表。它们代表了中点。我可以计算出来,但是如何用XML表达呢?有没有办法定义一个函数,比如mid(point1,point2)并在XML文件中引用它?我怎样才能将point id =“3”定义为XML文档中其他节点的函数? (其他节点是点id =“1”和点id =“2”)。

如果有人有任何建议......有太多关于XML格式的信息,几乎无处不在,无法浏览可用信息量。 谢谢!

1 个答案:

答案 0 :(得分:0)

不可能。 XML语法不包括任何使解析器直接从文件返回计算结果而不是数据的方法。理论上,你可以想出一种纯粹用XML表示计算的方法,比如

<point id="3">
    <component id="x">
        <computation type="divide">
            <operand>
                <computation type="sum">
                    <operand>
                        <point_ref id="1" component="x">
                    </operand>
                    <operand>
                        <point_ref id="2" component="x">
                    </operand>
                </computation>
            </operand>
            <operand>
                2
            </operand>
        </computation>
    </component>
    ...
</point>
哇,这似乎很多工作。我想它可能会有用。