アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

Windows7上のActivePerlで、
use XML::SAX;
use XML::LibXSLT;
モジュールを利用中に、
start_elementイベント時のタイミングで、
取得したタグ文字を、
そのタイミングで、XSL変換することは可能なのでしょうか?

今回の目的は、
XSL変換した後の各値を、
配列などにセットできればOKという状況ですので、

もしSAXで無理でしたら、
たとえばDOMやXPathなどで、
use XML::LibXML;
use XML::LibXSLT;
モジュールを利用中に、
随時取得したタグ文字を対象として、
そのタイミングで、XSL変換して配列にセットできれば、
それでもOKという状況です。

PS:
(ちなみに、
 XSLファイル内で、
 <xsl:output method="xml">
 を指定してから、
 XSL変換を実施すると、
 まとめてXSL変換自体は、
 一通り正常に行われているのですが、
 なぜか、出力されたファイルは、
 XML形式ではなくて、
 text形式でファイルが出力されてしまう為、
 (タグ文字が全て空白文字に置換されています)
 XMLパーサが一切利用出来なくなってしまい、困っています)

以上になります。
もしご存じの方がいらっしゃいましたら、
よろしくお願いします。

A 回答 (2件)

[ANo.1] の補足をみて、一つわかったこと。



|ちなみに、
|XSLファイル内で、
|<xsl:output method="xml">
|を指定してから、
|XSL変換を実施すると、



|XML形式ではなくて、
|text形式でファイルが出力されてしまう

xslt が XML を出力するように書いてないからじゃない?
    • good
    • 0
この回答へのお礼

「dscripty」様

お世話になっております。
ご回答いただきました件を、
もっと調べなおしてみます。

ご回答をいただきまして、
本当にありがとうございました。

お礼日時:2012/06/07 12:36

「XSL変換を実施すると、 まとめてXSL変換自体は、 一通り正常に行われているのですが、……」



えーと。
xslt のソースはどんな感じ?

省略しないで全部書くと、よい回答がつくかも。

この回答への補足

レスポンスありがとうございます。
全部書くと何十ページになってしまうので、
こんな感じというのを下記いたします。
(とはいえ、シンプルな内容ですが・・・)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>

<xsl:template match="test1"><xsl:apply-templates /></xsl:template>

<xsl:template match="test2">置換START<xsl:apply-templates />置換END</xsl:template>

</xsl:stylesheet>

以上になります。
よろしくお願いします。

補足日時:2012/06/06 13:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!