【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?

msxslで、xmlからhtmlの変換をしたいと思っています。

試しに
「msxsl xmlファイル名 -pi」 と打ったのですが、

-----
Code: 0x80004005 不明 な方法です。
-->processing-instruction('XML-stylesheet'<--)
-----
と出て変換されません。

「msxsl xmlファイル名 xslファイル名」 では変換されましたが、xmlファイル内のhref属性からxslファイルを読み取りたいと思っています。

xmlファイルの先頭には
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="xslファイル名"?>
を記述しています。

googleで検索して同じような症状は見つけたのですが、リンク先が消えていて見れませんでした。
もう一つのリンク先に難しいプログラムが書いてありましたが、意味が分からず挫折しました。

ご存知の方いたら教えてください。

A 回答 (2件)

#1補足の内容でテストしてみたところ私の環境では問題ありませんでした。


msxsl index.xml -u 3.0 -pi
のようにバージョン指定して実行すると、質問文と同じエラーが表示されました。
msxsl index.xml -u 4.0 -pi
で実行した場合にはエラーはでませんでしたので、
MSXML 4.0 をインストールするとOKだと思います。
ちなみに、私が使っているmsxsl.exe のバージョンは4.0 です。
    • good
    • 0
この回答へのお礼

msxml4.0をインストールしたところ、正常に動作しました。ありがとうございました。

お礼日時:2006/04/23 12:00

msxsl のバージョン


xml ファイルの内容
xsl ファイルの内容
を補足していただけますか?
こちらで試したところでは、
msxsl xmlファイル名 -pi
で問題なく出力できました

この回答への補足

index.xml
----------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="index.xsl"?>
<h***>

 <s*******>
  <date>2006/04/11</date>
  <place>****</place>
  <text>************************</text>
  <imgfile>******.jpg</imgfile>
 </s*******>

 <s*******>
  <date>2005/12/28</date>
  <place>*******</place>
  <text>****</text>
  <imgfile>*********.jpg</imgfile>
 </s*******>

 繰り返し

</h***>
------------------------------------

index.xsl
------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" />

 <xsl:template match="h***">
  <html>
   <head>
    <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
    <link rel="stylesheet" type="text/css" href="***style.css" />
    <link rel="stylesheet" type="text/css" href="***print.css" media="print" />
    <title>***</title>
    <style type="text/css">

     スタイルシートの内容

    </style>
   </head>
   <body>

     本文ヘッダー部分

     <xsl:apply-templates />

     本文フッター部分

   </body>
  </html>
   
 </xsl:template>

 <xsl:template match="s*******">
  <div class="round"><xsl:apply-templates /></div>
 </xsl:template>
 
 <xsl:template match="date" name="date">
  <div class="date"><xsl:apply-templates /></div>
 </xsl:template>

 <xsl:template match="place" name="place">
  <div class="place"><xsl:apply-templates /></div>
 </xsl:template>
 
 <xsl:template match="text" name="text">
  <div class="text"><xsl:apply-templates /></div>
 </xsl:template>
 
 <xsl:template match="imgfile" name="imgfile">
  <div class="img">
   <img>
    <xsl:attribute name="src">img/<xsl:apply-templates /></xsl:attribute>
   </img>
  </div>
 </xsl:template>
 
</xsl:stylesheet>

補足日時:2006/04/21 18:43
    • good
    • 0

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


おすすめ情報