【问题标题】:How set an xml element optional ?(using trang xml->xsd converter)如何设置 xml 元素可选?(使用 trang xml->xsd 转换器)
【发布时间】:2014-04-24 15:24:05
【问题描述】:

我正在尝试验证我从用户那里获得的 xml。我提出了一个带有空值的 xml 格式的参数列表(可能不时更改)。用户应填写值并上传。然后我应该验证上传的 xml 并将值保存在 db(Mongodb) 中。

我尝试 trang 从 xml 文件生成 xsd。它有效,但我不知道如何指定用户可以将其中一些参数保留为没有值。

我读了一些关于 nillable =true 或 minoccurs=0 的东西,它们在 xsd 中使用,但是,我不想手动修改生成的 xsd。有更好的解决方案吗?如果 trang 无法实现,您建议使用哪个转换器?(我使用的是 java)

【问题讨论】:

  • 你在找这个吗? stackoverflow.com/a/9243789/3377857
  • 并非如此。在此链接中,它显示了如何更改 xsd 以使元素成为可选元素。但是,我不想手动更改它,因为我使用 trang 生成 xsd。我的问题是在 trang 或其他转换器中是否有可能?

标签: java xml xsd


【解决方案1】:

使用 trang 设置 xml 元素可选:

你没有。要使其正常工作,您需要“读懂我的想法”指令。

trang 允许您设置 xsd 的批量内容。您应该调整生成的 xsd 以正确编码您的业务逻辑。那是;使用 trang 完成批量样板文件。编辑以获取 trang 不可能知道的细节到 xsd。

你说:

我提出了一个带有空值的 xml 格式的参数列表(可能不时更改)。

xsd 更好地匹配参数列表。如果更新参数,更新xsd。

我自己用过trang。我推荐的步骤:

  1. 在您的模板和用户输出中使用 trang。

  2. 手动或使用“XML 复制编辑器”等编辑器编辑生成的 xsd。

  3. 验证它是否适用于用户输入的主体,根据需要进行编辑。 (创建单元测试。)

  4. 如果参数更改,请根据需要编辑 xsd。如果参数变化很大,请使用 trang 输出的子集来修改 xsd。

如果您的参数没有改变 - xsd 不会改变。如果您要为每个用户输入更改 xsd...您做错了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    相关资源
    最近更新 更多