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.orgおよびWikipediaを参照してください。

  • Expat インターフェース: 「Expat 参照モデル」に基づく抽象化。jclark.com /xmlおよびWikipediaを参照してください。

  • イベント駆動型 XML パーサー インターフェイスに対するPHP のXML パーサー規則... Expat インターフェイスですが、それはExpatまたはLibXML2実装上ですか??

  • PHP の SAX インターフェイス: 存在しません (!)、しかし、複数の LibXML2 インターフェイスとして構築できますか?

  • PHP の「その他の XML パーサー インターフェース」: DomDocumentXSLTProcessorなどは LibXML2 実装への PHP インターフェースであることを思い出してください。

PS: より適切な説明または詳細な説明のために、このテキストを編集してください... 詳細な「ライブラリ インターフェイス」: 関数名、メソッド、およびプロパティのセットであり、PHP (プログラマーの抽象化用) とライブラリ実装 (ドライバー) の間の「モジュール インターフェイス」として使用されます。 、アセンブラー/バイナリの具象実装用など)。

4

0 に答える 0