我们有一个系统,其行为由许多XML文件定义。(大约50个不同的XML文件,每个文件控制子系统的行为。)
由于遗留原因,XML文件采用自定义格式,便于系统中各种组件的使用。
自定义格式对于人类来说不是非常直观和可读。(这对我们来说也是一个重要的考虑因素。)
那么我们如何解决这个可读性问题呢?
我觉得在这些XML文件之上编写的直观UI应该可以完成这项工作。
然而,我的同事认为用DSL替换XML文件是一个更好的主意,因为它们既直观又易读。
这是个好主意还是矫枉过正?我认为,与说UI相比,正确使用DSL非常困难。但我可能是错的。
非常感谢任何帮助。感谢。
答案 0 :(得分:2)
XML-to-XML转换是一种中途解决方案,可能就是我使用的方法。
UI必须非常完整才能取代基于文本的行为描述,以及常见的基于文本的习惯用语,例如copy&粘贴,搜索&替换等在UI中具有良好的可用性是很难实现的。
但是,使用自定义解析器的完整DSL可能是一个过程,特别是如果团队的多个成员没有解析器或编译器经验。不要误会我的意思 - 我不认为人们应该害怕解析器,我自己也是编译器工程师 - 但事实上有些人是害怕的,如果解析器做得不对,它可以得到凌乱很快。
所以,我主张设计一个理想化的XML格式,并编写一个工具,使用XSLT将该格式转换为真正的XML格式(如果它很容易 - 我不会太深入XSLT函数等)或者一个简单的翻译应用程序。
使用可读的文本格式进行规范有很多优点:ad-hoc编辑很容易(您只需要记事本),源代码控制的差异可读,片段可以通过电子邮件发送等等。获取具有以下功能的UI使用文本格式的可用性和功能奇偶校验并不容易。
答案 1 :(得分:1)
你应该看http://www.eclipse.org/Xtext/ - 这对你要找的东西很有帮助!