Guide / 03

XMLとXSLをブラウザでHTML表示する仕組み

aiboux XMLは、XMLとXSLを読み込んでブラウザ標準のXSLTProcessorでHTMLへ変換します。サーバー変換やファイル送信APIは使いません。

XSLTProcessorとは

XSLTProcessorは、XMLにXSLTスタイルシートを適用して別のXMLやHTMLへ変換するブラウザ標準APIです。e-GovのようにXMLとXSLがセットになっているデータを表示する用途に向いています。

aiboux XMLではFileReaderでファイルを読み込み、DOMParserでXMLとして解析し、XSLTProcessorでHTMLフラグメントへ変換して画面に出力します。

DOCTYPE外部参照を削除する理由

XMLに外部DTD参照が含まれると、ブラウザが外部リソースへアクセスしようとしてCORSエラーや読み込み失敗につながることがあります。そのため変換前に <!DOCTYPE ...> を削除します。

変換結果の安全化

XSLの内容によっては、変換結果にscript要素やイベント属性が含まれる可能性があります。aiboux XMLでは表示前にscript、iframe、object、embed、イベント属性、外部srcなどを取り除きます。