外部XMLの読込み

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
donguri
アクティブユーザー
記事: 12
登録日時: 2007年3月11日(日) 09:40
連絡を取る:

外部XMLの読込み

投稿記事 by donguri » 2007年3月12日(月) 23:25

具体的には、<cmsd:xml src="http://..." design="..." />タグにて、指定したURL

との記述にしたがひ、XMLとXSLTを読込まうとしましたが失敗。

たとへば、

http://peerclinic.com/Kangaroo.xml

http://peerclinic.com/XSLT/Hidakami2.xsl

このxslは、cssとJavaScriptにも、リンクしてあります。このCSSとJavaScriptのリンクは、一般的なhtmlのhead内のリンクでせうか。

また、内部のXMLとXSLTの呼び出しとCSSとJavaScriptのリンク記述をお知らせ下さい。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: 外部XMLの読込み

投稿記事 by webmaster » 2007年3月14日(水) 18:11

 donguriさん、ご質問ありがとうございます。
 「失敗」とは、具体的にはどのようになりましたでしょうか。

 エラーメッセージが表示されたのであれば、それを引用して頂けると解決の
一助となるかと思います。

 ところで、xslファイルをダウンロードして文字コードを調べたところ、どの
文字コードでも文字化けしてしまいました。
 一番近いのはUTF-7でしたが、これでも一部文字化けします。

 問題の切り分けの為に、あまり特殊な文字を使わず、例えばひらがなだけを
記述したシンプルなコンテンツを使ってUTF-8で保存し、再度ご確認頂ければ
と思います。

donguri
アクティブユーザー
記事: 12
登録日時: 2007年3月11日(日) 09:40
連絡を取る:

投稿記事 by donguri » 2007年3月14日(水) 22:16

お返事ありがたうございました。

■文字コードをUTF-8にして、

<cmsd:xml src="http://..." design="..." />

■SRCに、URL

■designに、同じく、xslのURL

これでいいでせうか。

donguri
アクティブユーザー
記事: 12
登録日時: 2007年3月11日(日) 09:40
連絡を取る:

投稿記事 by donguri » 2007年3月15日(木) 00:13

只今、

■文字コードをUTF-8にして、

<cmsd:xml src="http://..." design="..." />

■SRCに、URL

■designに、同じく、xslのURL

を記述して、http://watag.s268.xrea.com/testcms.php

にアクセスすると以下の記述が出ます。、

invalid design name : http://peerclinic.com/XSLT/Hidakami2.xsl

どこがをかしいでせうか。宜しくお願ひします。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

投稿記事 by webmaster » 2007年3月15日(木) 08:15

 webmasterです。

 何度もお手数をおかけしていて申し訳ありません。
 こちらでも説明させて頂きました通り、designにはURLは指定できません。
 http://cms.al-design.jp/phpbb/viewtopic.php?t=636
具体的にはこちらをご覧下さい。
http://cms.al-design.jp/phpbb/viewtopic.php?p=1655

例えば、元のXMLファイルが"myxml.xml"で、XSLファイルが"xml.mydesign.xsl"だったとすると、

<cmsd:xml src="myxml.xml" design="mydesign" />

と書く事で、その部分にXSL変換後のデータが埋め込まれて表示されます。
myxml.xmlは埋め込み先のページと同じ階層に、xml.mydesign.xslは、config/schema/xml フォルダに置いて下さい。
 xmlファイルについては、URL指定が可能です。

 デザイン定義ファイルを規定の名前にリネームし、所定の位置へ移動してから、
再度お試しいただけないでしょうか。

donguri
アクティブユーザー
記事: 12
登録日時: 2007年3月11日(日) 09:40
連絡を取る:

投稿記事 by donguri » 2007年3月15日(木) 23:36

只今、schemaといふfolderの中にxmlといふfolderを作り、
そこに、 xml.hidakami.desin.xsl といふfileを作り、

<cmsd:xml src="具体的なURL" design="hidakami" />

としましたら、

Warning: Sablotron error on line 1: XML parser error 19: encoding specified in XML declaration is incorrect in /virtual/watag/public_html/cmsdesigner/include/xmlutil.php.inc on line 201

こんなメッセージが出ました。
どこがどう、おかしいのでせうか。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

投稿記事 by webmaster » 2007年3月16日(金) 07:33

 donguriさん、何度もお手数をおかけしております。
 webmasterです。

 手順としては正しいと思います。
 xmlとxsltのサンプルを頂いているので、弊社でも実際に試してみました。

 すると、問題なく変換して表示させることができました。
 javascriptやcssがないのでこの変換が正しいものかどうかは分かりませんが、
少なくともhtmlが生成され、内容に元xml中の文章が入っています。

 今回donguriさんの方で発生したエラーは、

「行1: XML宣言部の文字エンコーディング指定が適正ではありません。」

 というものです。
 つまり、1行目の

 <?xml version="1.0" encoding="UTF-8"?>

 という部分の"UTF-8"が適正ではないという意味なのですが、私から見ても
この部分に問題があるとは思えません。
 ファイルの文字コードも正しくUTF-8になっていました。

 一つ可能性があるとすれば、お使いのサーバ環境にてUTF-8が使用不可になって
いるのかもしれません。が、XMLやXSLTライブラリが入っているにも関わらず
UTF-8が使用不可になっているというのは通常考え難い為、可能性としては低いです。

 ところで、CMS Designerのtestcms.phpは正常に動作しているでしょうか。
 コンテンツ管理画面などから編集処理などが正しく動くのであれば、UTF-8も
正常に使用可能になっているということになります。

 今のところ申し訳ありませんが他に思い当たるところがありません。
 もしよろしければ、メールでFTPサーバのIDとpasswordを教えていただければ、
こちらで少し調査いたします。その際にはサーバに簡単なテスト用スクリプトを
作成してテストさせていただく事になりますのでご了承下さい。
 あて先は cms(アットマーク)al-design.jpとなります。
 「(アットマーク)を@に置き換えてください)

 尚、今回弊社でテストした際の変換後のHTMLは次のようになりました。

コード: 全て選択

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:t="urn:schemas-microsoft-com:time">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
    <title>カンガルーくらぶ</title>

    <link rel="stylesheet" type="text/css" media="screen" href="CSS/Hidakami2.css">
    <link rel="stylesheet" type="text/css" media="print" href="CSS/Hidakami2Print2.css">
    <script type="text/javascript" src="JavaScript/ScriptHidakami.js"></script>
  </head>
  <body onload="blink()">
    <div class="shyudaiwaku" title="一頁/主題枠">
      <h1><span style="font-size:30pt">カンガルーくらぶ</span></h1>
    </div>

    <div class="fukudaiwaku" title="一頁/副題枠">
      <h2><span class="futoku"><span class="fukamidori"><span style="font-size:13pt">「訪問ボランティア」から「ぴあクリニック」</span></span></span></h2>
    </div>
    <div class="gousuuwaku" title="一頁/発行数枠">
最新版
</div>
    <div class="hakkouwaku" title="一頁/発行枠">
      <div class="hakkounaiyou">
        <pre>

	発行者  ぴあクリニック
	編集者  井出老成
	住  所  〒四三三ー八一〇八
	        浜松市根洗町五三七ー二
	電  話  〇五三ー四一四ー三三五五
	発行日  平成十九年 三月五日
</pre>
      </div>
    </div>
    
    :
(以下省略)


donguri
アクティブユーザー
記事: 12
登録日時: 2007年3月11日(日) 09:40
連絡を取る:

投稿記事 by donguri » 2007年3月17日(土) 12:03

■エヂタに問題がありました。

和タグエヂタは、Qxエヂタのマクロで出来てをり、エヂタを秀丸に
乗り換へられぬ事情あって、UTF-8対応してゐないQXエヂタのため、
マクロで対応してゐました。
しかし、そのマクロの使ひ方が不十分であったため、きちんとUTF-8対応になりませんでした。

■FTPも、UTF-8対応にしました。

朝から取り組み、今になってしまひましたが、
XMLが読み込めたので、次は、デザインに取り組みます。

また、不明の所は、質問させていただきます。
とりあへず、外部XMLの読み込みエラーは、

1、編集エヂタのUTF-8対応
2、FTPのUTF-8対応

この二つが障害となってをりました。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

投稿記事 by webmaster » 2007年3月17日(土) 20:42

 donguriさん、事後報告ありがとうございました。
 大変助かります。

 FTPソフト(FFFTPなど)を使ってファイルをアップロードする際に、自動的に
XMLファイルの文字コードが変換されてしまうケースは結構見受けられるので、
同様の事象が発生する方は、FTPソフトの文字コード自動変換機能についてご確認
下さい。基本的には「無変換」でOKです。

 donguriさん、また何か問題が発生しましたらご連絡頂ければ幸いです。

返信