我很难解释我的意思,但在这里,我去了..
我正在寻找一个执行以下操作的配置解析器..
允许我配置必需的设置,如果未设置,则程序不应启动。
允许用户定义尽可能多的自定义设置'因为他们需要。例如,假设您想要在配置中添加某种重定向,我希望它看起来像这样。
redirect-1:100-> 200
希望能够重定向' 100到200.我显然会将这个逻辑构建到我的程序中,但是有一个库可以读取顺序设置,如redirect-1,redirect-2等,直到它到达EOF?希望我有意义。
答案 0 :(得分:0)
我认为您正在寻找的是一个配置文件解析器,它还提供了一个"模式验证"发动机。在模式验证语言的语法中,您将指定所需的配置变量(及其类型),以便验证引擎可以验证这些变量是否存在并且具有符合其类型的值(例如,{{1} }是一个有效的整数,但"42"
不是。)
XML有几个竞争schema validation languages,包括XML Schema和RELAX NG。如果你看看亚马逊,你可以找到关于这些的书籍。
JSON也有自己的schema validation language。
唯一具有自己的架构验证语言的其他配置语言我可以想到Config4*,这是我开发的。如果您想了解有关Config4 *的更多信息,我建议您阅读 Config4 *入门指南(PDF和HTML)的第2章和第3章,以获得概述它的语法和API。然后跳到第9章以查找其架构验证语言的完整详细信息。 忽略规则(在第9.2.6节中讨论)可用于指定模式验证引擎应忽略某些配置变量/范围。