document()でcopy-ofを使用してSVGをXHTML出力に追加する
XMLの処理中にhref、次の行を使用して、属性から参照されているSVGファイルを出力HTMLに直接コピーしようとしています。 <xsl:copy-of copy-namespaces="yes" select="document(@href)"/> copy-namespacesデフォルト値はとにかく「はい」であるので、必要はありませんが、私はそれを試してみたかどうかについての質問を防止することを追加しました。 ファイルはHTMLにコピーされますが、名前空間要素はすべてホースされます。たとえば、コピーされる前は次のようなファイルです。 <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> <dc:title/> </cc:Work> </rdf:RDF> </metadata> <g transform="translate(-519.21143,-667.79077)" id="layer1"> <image xlink:href="data:image/png;base64 その後は次のようになります。 <_0:RDF xmlns:_0="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <_0:Work xmlns:_0="http://creativecommons.org/ns#" about=""> <_0:format xmlns:_0="http://purl.org/dc/elements/1.1/">image/svg+xml</_0:format> <_0:type xmlns:_0="http://purl.org/dc/elements/1.1/" resource="http://purl.org/dc/dcmitype/StillImage"/> <_0:title xmlns:_0="http://purl.org/dc/elements/1.1/"/> </_0:Work> </_0:RDF> </metadata> <g id="layer1" transform="translate(-519.21143,-667.79077)"> <image href="data:image/png;base64 href画像要素の値に欠落しているxlink名前空間は特に問題です。 解釈なしでSVGファイルを読み取るためにこれをどのように異なる方法で実行できるかについての考えはありますか? 「機能する」ソリューションが1つ見つかりましたが、これはハックであり、よりエレガントなものを希望します。 <xsl:template name="topic-image-svg"> <!-- Generate tags …