2

PHP 没有用于事件驱动的 XML 解析的“标准 SAX ”接口,只有 Expat接口。Expat需要选项... 但是LibXML2 有一个又好又快的标准 SAX 接口(!)... 那么,如何使用 PHP 访问 LibXML2 的标准 SAX 接口--enable-libxml

有一个简单的解决方法来启用 SAX 接口?


相关问题:XMLReader 是 SAX 解析器、DOM 解析器,还是两者都不是?

术语(在讨论中说“相同的语言”):

  • 事件驱动的 XML 解析器:SAX 和 Expat,它们是 1998 年的“竞争对手”,但今天(2013 年)只是“用于连接解析器实现的参考模型”。

  • 事件驱动的 XML 解析器实现:参见LibXML2expat.sourceforgeOracle/Java/SAX等。它们是“具体实现”(可以为解析器生成二进制代码)。

  • SAX 接口:基于“SAX 参考模型”的抽象,参见saxproject.orgWikipedia

  • Expat 接口:基于“Expat 参考模型”的抽象,参见jclark.com/xmlWikipedia

  • 事件驱动的 XML 解析器接口的PHP 的XML 解析器约定......是 Expat 接口,但是,它是在ExpatLibXML2实现之上的?

  • PHP 的 SAX 接口:不存在(!),但可以构建为多个 LibXML2 接口吗?

  • PHP 的“其他 XML 解析器接口”:记住DomDocumentXSLTProcessor等是 LibXML2 实现的 PHP 接口。

PS:请编辑本文以获得更好或更详细的解释...详细说明“库接口”:是一组函数名称,方法和属性,用作PHP(程序员抽象)和库实现(驱动程序)之间的“模块接口”等,用于汇编程序/二进制具体实现)。

4

0 回答 0