如何将一个xml元素设置为可选的?(使用trang xml->xsd转换器)

5 浏览
0 Comments

如何将一个xml元素设置为可选的?(使用trang xml->xsd转换器)

我正在尝试验证从用户那里获取的XML。我用一个XML格式的参数列表(可能会不时更改)提供空值。用户应该填写值并上传它。然后我应该验证上传的XML并将值保存在数据库中(Mongodb)。

我尝试使用trang从XML文件生成XSD。它可以工作,但我不知道如何指定用户可以留下一些没有值的参数。

我读到一些关于在XSD中使用nillable = true或minoccurs = 0的内容,然而,我不想手动修改生成的XSD。有更好的解决方案吗?如果无法使用trang,您建议使用哪个转换器?(我正在使用java)

0
0 Comments

问题的原因是:使用trang工具来将xml元素设置为可选的是不可能的,因为这需要“读懂我的想法”的指令。trang只能用于设置xsd的批量内容,生成的xsd文件需要手动修改以适应业务逻辑,使用trang只能完成大部分基本的工作。如果参数发生变化,xsd文件也需要相应地进行更新。

解决方法是:

1. 使用trang工具对模板和用户输出进行处理。

2. 使用手动编辑或者使用“XML Copy editor”等编辑器对生成的xsd文件进行修改。

3. 验证xsd文件是否与用户输入的内容匹配,根据需要进行编辑(创建单元测试)。

4. 如果参数变化,根据需要编辑xsd文件。如果有较大的参数变化,可以使用trang生成的输出的子集来修改xsd文件。

如果参数不变,xsd文件也不需要变化。如果每个用户输入都要更改xsd文件,那么使用方法是错误的。

0