2014-01-24 78 views
48

如何创建符合XSDXML请求,以使请求有效?用于创建XML请求的拉链?

一种方法是创建整个请求,然后在XSD上验证它。 有没有办法在行走模式时创建请求?

首先想到的是拉链,但我真的不确定它们是否可以在这里使用。

也许我还没有很好地理解它,但是如果已经定义了一些结构并且需要在结构中改变某些结构,那么拉链似乎很棒。拉链可以用于变化的结构吗? (延续追加一个序列序列的阵列?)

+2

我倾向于有更好的数据结构和序列化良好的XML,而不是后来验证XML。但是,如果您可以添加一些代码,以及关于如何使用拉链的想法,它会有所帮助。 –

+4

看看HaXML包。它有XsdToHaskell从XSD模式创建haskell代码。不完全是你在问什么,但可能会有所帮助。 –

+1

@YogeshSajanikar Akshat并没有要求如何验证,而是在步行XSD时是否可以直接生成有效的XML。这大概需要一个拉链,走路有点像扫描走一个列表,输出东西。 –

回答

1

由于托默勒格在comment说,

这就像试图通过遍历正则表达式来创建有意义的字符串。它不这样工作。

拉链可帮助您在结构中蜿蜒漫步,检查零件并随意修改它们;最后,你可以选择“拉链”拉链来获得原始的修改版本。至少有两个主要问题与你的想法:

  1. 的XSD的结构是不一样的,甚至是非常相似的,它编码的文件的结构。如果您要使用拉链来修改XSD,以便根据该XSD生成XML有效性,则最终将完全重构它,并且类型系统无法帮助您获得正确的结果。

  2. 拉链是一种专注于某些数据结构的一部分的方式。在你认真考虑拉链之前,你应该考虑一下你正在解压的数据结构。根据你在做什么,你可能会或可能不会觉得使用拉链有用,但拉链及其不变量将始终与结构及其不变量相关联。

0

一旦曾有机会来测试这个工具:camprocessor 它没有实际的工作和生产,你可以从数据库中的数据定义有效的XML文件。

有一个在OASIS

-1

一些这方面的指导创建XMLHttpRequest对象

所有现代浏览器(IE7 +,火狐,Chrome,Safari和Opera)有一个内置的XMLHttpRequest对象。

创建XMLHttpRequest对象的语法: xmlhttp = new XMLHttpRequest();