我正在着手将我的基于 php 的 OOP Web 框架移植到 d 语言,我在确定依靠 phobos 的 std.xml 类从文件和/或流中读取 xml 是否安全时遇到了一些麻烦. 似乎有很多关于替换的喋喋不休std.xml
,甚至我正在考虑推出我自己的 100% d xml 解析器。
由于这是一个非常业余的项目,我不介意设计自己的轮子,这将是一个有趣的练习,让我有机会更快地了解更多关于语言的知识。另一方面,如果我不必自己动手,我可能会启动并运行得更快。
我需要支持几乎完整的xml 1.0 规范,最值得注意的是我需要 xml 命名空间和 xincludes 才能正常工作。我还希望我的 API 或多或少与 php DOMDocument
、c#System.Xml.XmlDocument
和 javascript 的 DOM 实现保持一致。特别是火卫一似乎缺少最后一点。此外,火卫一似乎仍然至少在某种程度上处于变化之中,而且我还没有跟上它所处的变化水平。
因此,最大的问题是:依靠 phobos 中的解析工具std.xml
能够满足我的大部分需求是否安全,或者我应该在自己的库中从头开始编写一些东西以确保安全?
回答时请考虑我的要求:
- 完整的 xmlns 支持
- x包括
- 应该能够从文件、流或字符串中读取
- 需要与大 DOM 实现和规范尽可能相似