- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我的目标是解析几个相对复杂的 DTD 以揭示元素的层次结构。 DTD 之间的唯一区别是版本,但每个版本都没有尝试保持向后兼容——那太容易了!因此,我打算将每个 DTD 定义的元素结构可视化,以便设计适合统一存储数据的数据库模型。
因为我在 Python 中研究过的大多数解决方案只会针对外部 DTD 进行验证,所以我决定从头开始我的努力。 Python 的 xml.parsers.expat
只解析 XML 文件并实现非常基本的 DTD 回调,所以我决定查看 original version ,它是用 C 编写的,并声称完全符合 XML 1.0 规范。但是,我对这种方法有以下疑问:
我的要求可能得出expat不合适的结论。如果是这样的话,我正在考虑为 XML 1.0 DTD 编写一个词法分析器/解析器。还有其他我应该考虑的选择吗?
下面更简洁地说明了我的意图:
<!--A concise summary of the disclosure.-->
<!ELEMENT abstract (doc-page+ | (abst-problem , abst-solution) | p+)>
class abstract:
member doc_page_array[]
member abst_problem
member abst_solution
member paragraph_array[]
member description = "A concise summary of the disclosure."
一个具有挑战性的方面是归因于 <!ELEMENT>
标记出现在其上方的评论。因此,如果我不能使用 expat 来完成此操作,则可能需要自行开发的解析器。
另一个问题是一些解析器在处理使用大于 #xFFFF 的 unicode 字符的 DTD 时遇到问题,因此这可能是另一个有利于创建我自己的 DTD 的因素。
如果事实证明 lexer/parser 路由更适合我的任务,有没有人碰巧知道转换 these EBNF expressions 的好方法?能够被解析的东西?我认为“最佳”方法可能是使用正则表达式。
无论如何,这些只是我对我的问题的想法。任何对上述问题的回答或对替代方法的建议都将不胜感激。
最佳答案
有几种现有工具可以满足您的需求,包括 DTDParse , OpenSP , Matra , 和 DTD Parser .还有articles关于创建自定义解析器。
关于python - 解析 DTD 以揭示元素的层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11020717/
是否可以在我的 DTD 中声明一个可以有任何名称的元素?到目前为止,我了解到 ANY 只能用于以下数据类型: 任何帮助将不胜感激。 --阿里 最佳答案 不,ANY 关键字仅适用于元素的类别。无论如何
我得到了以下 DTD: 有人问我: This DTD is recursive! How does the recursion end? 嗯……我不明白为什么要递归?唯一递归的接缝
是否可以在另一个 DTD 中包含一个 DTD? (我的意思不是将第二个 DTD 复制并粘贴到第一个 DTD 中。我的意思是在第一个 DTD 中有一个指向第二个 DTD 的指针。) 最佳答案 是的,这是
我知道我应该将所有 html 元素放在 body 标签中,但我需要将两个隐藏的输入放在 html dtd 之上。我猜它不会使我的 html 文件成为标准文件,但有那么糟糕吗?我有以下代码。 什么
在输入文档中没有 any 文档类型的情况下,如何在解析文档时强制 SAX 解析器(特别是 Java 中的 Xerces)使用 DTD?这可能吗? 以下是我的场景的更多详细信息: 我们有一堆符合相同 D
我正在尝试通过 .dtd 验证 xml 文件。我写了这个验证器: public bool Validation(XmlDocument xmlDoc) { var xm
我有一个处理 HTTP 请求的网络服务。它收到的文档有一个嵌入的 DOCTYPE,指定了一个 .dtd 文件。我希望使用更新的 XML 架构验证文件,以便在更新的设备连接到我的服务时使用。 我可以成功
我在弄清楚 HXT 为何要替换我的 DTD 时遇到了一些麻烦。首先,这是我要解析的输入文件: foo foo 这是我得到的输出: foo
我能否定义一个 DTD,使其中的元素具有在外部 DTD 中定义的结构?我的意思是类似于以下内容(这是一个我知道在某些方面无效的示例,但希望它能让您了解我在寻找什么): 此处的尝试是表示消息
如何使用外部 DTD 文件来验证我的 XML 文件? DTD 将位于某些 url 上,例如http://localhost/example.dtd 并且 DTD 未在 XML 文件中引用,因此我需要在
以下声明出现在 html 4.01 dtds 中 (参见 http://www.w3.org/TR/REC-html40/sgml/dtd.html 在 strict.dtd 和 loose.dtd
我想知道是否有一个程序可以读取 DTD 规范,使用规范创建表单或控制台提示,使用表单/提示获取用户输入的数据,然后根据输入的数据编写 XML 文档. 有这样的程序吗? 例如,想象一下: [开始想象]
我想使用 JAXB 从 dtd 文件生成 Java 类。 dtd 看起来像这样: 使
我正在尝试对 xhtml 文档执行 xpath 查询。使用 .NET 3.5。 文档看起来像这样: .... ... 因为文档包含各种字符实体( 等),我
我发现了很多这样的例子: public static boolean validateXMLSchema(String xsdPath, String xmlPath){ tr
大家好: 我想获得网络浏览器的实际高度,但我对 W3C DTD HTML 4.01 和 //W3C 有一些困惑//DTC XHTML 1.0,以下是我的问题详情: 如果我在页眉顶部使用 W3C DTD
我正在使用 Java 6 并尝试解析以 开头的格式良好的文档 我下载了实体 DTD“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”,并将其放置在
这个问题已经有答案了: Xerces error: org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl (2 个回答) 已关闭 5 年前。 在 jboss w
这个问题在这里已经有了答案: Xerces error: org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl (2 个答案) 关闭 5 年前。 我正在使用
在下面的代码中: private Document transformDoc(Source source) throws TransformerException, IOException {
我是一名优秀的程序员,十分优秀!