0
私はbase64でコード化された内容(画像ファイル)を持っています。これをXSLT/XPath 2.0を使って外部ファイルに書きたいと思います。base64の内容からバイナリファイルを書きます
これは
<root>
<img>iVBORw0KGgoAAAANSUhEUgAABAAAAAMAAQMAAACAdIdOAAAABlBMVEUAAAD///
+l2Z/dAAABpElEQVR42u3OQQ0AMAgEsHOAf7Wbhn0GIa2C5jSLgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMDgQB6UgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgMDKwB8CAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAu2BC6XQXOr9fnZDAAAAAElFTkSuQmCC</img>
</root>
し、ファイルの書き込みには、この私の私の試み私の入力ファイルです:私のようにmyimgでXMLファイルを取得することを意味する、
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:file="http://expath.org/ns/file">
<xsl:template match="img">
<myimg>
<xsl:variable name="filename" select="'hello.png'"/>
<xsl:attribute name="filename" select="$filename"/>
<xsl:value-of select="file:write-binary($filename,xs:base64Binary(.))" />
</myimg>
</xsl:template>
</xsl:stylesheet>
をしかし、「何も起こりません」ルートタグ(予想される)が、現在のディレクトリに書き込まれたファイルはありません。私はどうしたらいいですか?
私は酸素XMLとサクソン-PE-9.7.0.15を使用
編集:それはサクソンおよび使用に関連する問題を思わ
oXygenは変換に関する問題を示していますか? 'generate-id()'で作成されたファイル名に接尾辞を付けずに欲しいですか?そして、あなたはファイルが作成されていないと確信していますか?見つけにくいかもしれません。 ' 'を追加して、少なくとも何を探すべきかを知ることができます。 –
@MartinHonnen変換に問題はありません。はい、私はこのファイル名が必要だと確信しています。はい、ファイルは作成されていません。 (私は属性としてファイル名を持っているので、何を探すか分かります)。 – topskip
oXygenの内部で何が起こっているのか分かりません。oXygenの外でSaxon 9.7 EEでコードを試してみました。 oXygenのタグを追加したり、サポートフォーラムや電子メールサポートを試してより速いレスポンスを試したりすることもできます。最初に絶対ファイルパスを試してみると、oXygenにエラーメッセージが表示されないので、ファイルがどこに書かれているのかどうかがテストされます。ファイルが別のディレクトリに書き込まれてしまうのだろうかと思います。 –