validation具有基于树的结构的文件

我正在寻找validation器来validation基于树结构的配置文件。 egastudent.name joe a.student.class arts

你能否就validation这样的配置提出任何建议。 到目前为止,我已经搜索过,我只能找到xml文件的validation器。

不幸的是,配置文件的模式validation在XML之外很少见。 我所知道的另一个选择是Config4J (我写的)。

如果您访问该网站,则应向下滚动到主网页的底部以访问完整的手册集(PDF和HTML版本均可用)。 我建议您查看手册的以下部分,以获得Config4J的概述,并确定它是否满足您的validation需求。

“入门指南”的第2章和第3章概述了配置语法和API。 特别是,第3.10节提供了模式语言的快速示例。

“入门指南”的第9章提供了模式语言的完整定义。

“Java API指南”的第3章讨论了用于编写自己的模式类型以扩展模式语言function的API。

更新:我从kiran.kumar M的答案中发现, YAML的Java和Ruby实现有一个名为Kwalify的模式validation器。

更新:现在有一种JSON模式语言 。

试试www.yaml.org。 Yaml支持树结构。

以下是一些解析器列表,jYaml,SnakeYaml,YamlBeans Yaml是一种文件格式,支持复杂的层次结构。 大多数结构validation可以由上面列出的解析器自动执行。 您可能需要附加代码来validation您的业务需求。

此外,也有少数在线validation器可用

看:

http://yaml-online-parser.appspot.com/

http://instantyaml.appspot.com/

另请参阅https://stackoverflow.com/questions/450399/which-java-yaml-library-should-i-use

validationhttps://stackoverflow.com/questions/287346/yaml-validation

如果结构与Java属性文件相同,则可以从中读取属性。 然后,您需要通过“validation”来决定您的意思。 如果适用,您可能有一种简单的方法来解决您的问题。

没有看到任何forms的样品。 如果你想validation某些东西的结构,并且语义不是问题,你可以使用lex / yacc(read flex / bison)。

根据问题,可以冒险出去并在此之后使用牛。 基本上开始写一个迷你编译器。