我在试图解释我的意思时遇到了困难,但我还是走了。
我正在寻找一个配置解析器,它可以执行以下操作。
允许我配置所需的设置,如果没有设置,程序将不会启动。
允许用户根据需要定义任意多的“自定义设置”。例如,假设您想要向配置添加某种重定向,我希望它看起来像这样。
重定向-1: 100->200
而这将有望“重定向”100到200。我显然会将这个逻辑构建到我的程序中,但是有没有一个库可以读取顺序设置,比如redirect-1,redirect-2等等,直到它到达EOF?希望我说的有道理。
发布于 2014-06-01 19:30:40
我认为您正在寻找的是一个配置文件解析器,它还提供了一个“模式验证”引擎。在模式验证语言的语法中,您将指定需要哪些配置变量(以及它们的类型),以便验证引擎可以验证这些变量是否存在,以及它们的值是否符合它们的类型(例如,"42"是一个有效的整数,但"hello, world"不是)。
XML有几个相互竞争的schema validation languages,包括XML Schema和RELAX NG。如果你在亚马逊上看,你可以在上面找到书。
JSON也有自己的schema validation language。
我能想到的唯一一种具有自己的模式验证语言的其他配置语言是Config4*,它是我开发的一种。如果您想了解有关Config4*的更多信息,我建议您阅读Config4*入门指南(PDF和HTML)的第2章和第3章,以获得其语法和应用编程接口的概述。然后跳到第9章,找到它的模式验证语言的完整细节。忽略规则(在第9.2.6节中讨论)可用于指定模式验证引擎应忽略某些配置变量/范围。
https://stackoverflow.com/questions/23954425
复制相似问题