PHP には、イベント駆動型 XML 解析用の「標準 SAX」インターフェースがありません。Expat インターフェースがあります。Expatにはオプションが必要です... しかし、LibXML2 には優れた高速の標準 SAX インターフェイス(!) があります... では、 PHPで LibXML2 の標準 SAX インターフェイスにアクセスするにはどうすればよいでしょうか?--enable-libxml
SAX インターフェイスを有効にする簡単な回避策はありますか?
関連する質問: XMLReader は SAX パーサーなのか、DOM パーサーなのか、それともどちらでもないのか?
用語(ディスカッションで「同じ言語」と言う場合):
イベント駆動型 XML パーサー: SAX と Expat は、1998 年の「競合他社」でしたが、今日 (2013 年) は「パーサー実装とインターフェイスするための参照モデル」に過ぎません。
イベント駆動型 XML パーサーの実装: LibXML2、expat.sourceforge、Oracle/Java/SAXなどを参照してください。これらは「具体的な実装」です (パーサーのバイナリ コードを生成できます)。
SAX インターフェイス: 「SAX 参照モデル」に基づく抽象化。saxproject.orgおよびWikipediaを参照してください。
Expat インターフェース: 「Expat 参照モデル」に基づく抽象化。jclark.com /xmlおよびWikipediaを参照してください。
イベント駆動型 XML パーサー インターフェイスに対するPHP のXML パーサー規則... Expat インターフェイスですが、それはExpatまたはLibXML2実装上ですか??
PHP の SAX インターフェイス: 存在しません (!)、しかし、複数の LibXML2 インターフェイスとして構築できますか?
PHP の「その他の XML パーサー インターフェース」: DomDocument、XSLTProcessorなどは LibXML2 実装への PHP インターフェースであることを思い出してください。
PS: より適切な説明または詳細な説明のために、このテキストを編集してください... 詳細な「ライブラリ インターフェイス」: 関数名、メソッド、およびプロパティのセットであり、PHP (プログラマーの抽象化用) とライブラリ実装 (ドライバー) の間の「モジュール インターフェイス」として使用されます。 、アセンブラー/バイナリの具象実装用など)。