![]() |
1
4
我面临着一个类似的问题,我找到的最佳解决方案是编写自己的XJC插件。XJC插件可以访问XML模式和生成的类,因此它似乎是获取限制信息的最简单方法。我的插件向生成的类中的任何字段添加了注释,这些字段在架构中对其应用了限制。例如,一个元素
将表现为
在生成的类文件中。然后,可以使用反射从字段中提取限制信息。 创建插件的文档不是很好,但我发现了 article 有用的。看看源代码 Default Value Plugin 了解如何深入到XJC在内存中表示的XML模式和生成的类结构。这个 JAXB , XSOM 和 CodeModel API也会有所帮助。 |
![]() |
2
1
看起来XSD包含语义“指南”,而不是清晰的规则。imho如果同意XSD,不遵守它会导致违反。 如果不是这样的话,并且XSD包含一些需要解释的指导原则,我会花时间理解XSD解析API,并尝试以这种方式解决问题。在这里再发明轮子没用。 但是,我会质疑所采用的方法,并尝试在XSD内部就清晰的规则达成一致。 |
![]() |
pgsandstrom · 添加约束以防止表中出现NaN 7 年前 |
![]() |
Melolailo · 将约束与外键一起使用 7 年前 |
![]() |
QB1979 · 添加约束,使列仅接受来自另一列的逗号分隔值 7 年前 |
![]() |
ChemPaul · Python lmfit约束:a<b<c 7 年前 |
![]() |
Simone Bolognini · 多约束Scipy极小化 7 年前 |
![]() |
PaFi · 可视化格式语言多谓词 7 年前 |