- PR -

DTDを外部に置き、XTパーサーでHTMLを作る方法について

1
投稿者投稿内容
subaru
会議室デビュー日: 2002/03/15
投稿数: 6
投稿日時: 2002-03-15 18:56
初めてこちらに書かせて頂きます。私はXMLを勉強し始めてまだ間もないのですが、
JDK、XTなどをインストールしてXMLデータをXT(XSLT)でHTMLに吐き出すことはできました。

でも、DTDの文書型宣言(<!DOCTYPE・・・・・)をxmlデータに入れると
今まで動いていたパーサーで以下のようなエラーが出るのです。
「file:・・・・・・.dtd:66: Attribute name expected」

DTDの記述を使う時にはXSLスタイルシートの方にも何か記述したりしないと
いけないのでしょうか?どなたかご理解・知識のある方のご回答お待ちしております。
subaru
会議室デビュー日: 2002/03/15
投稿数: 6
投稿日時: 2002-03-18 14:03
質問が抽象的ですいません。

一応、外部にDTDを指定してHTMLを作ることはできたのですが、
以下のような問題が残ってしまいました。

<!DOCTYPE・・・・・>のみだとHTMLは作れるが、
<!DOCTYPE・・・・・>の中に[<!ENTITY % ・・・・>]などを
エラーが出てしまい、HTMLが作れないのです。
XML初心者なので、どんなささいなことでも良いのでご指摘願います。

パーサーはXTをしようしています。
やなぎ
会議室デビュー日: 2001/12/11
投稿数: 12
投稿日時: 2002-03-18 19:25
パラメータエンティティの使い方が間違っているのでは?
<!ENTITY % ・・・・>の部分を外部DTDに移すとOKなのでは?
subaru
会議室デビュー日: 2002/03/15
投稿数: 6
投稿日時: 2002-03-19 10:31
やなぎ様、返答ありがとうございます。

私の参考本は「XMLクイックスタートガイド」で、P41の
「DTD用のショートカットを作成および使用する」という項目。

<!ENTITY % test.dtd SYSTEM "test.dtd">
%test.dtd

上記のような記述を<!DOCTYPE・・・>の中に入れてエラーが出ます。
ただ、上記のDTD用ショートカットという「%test.dtd」の部分を消すと動くのです。

<!DOCTYPE ・・・・test.dtd"
[
<!ENTITY % test2.dtd SYSTEM "test2.dtd">
%test.dtd;
]>

このやり方では間違っているのでしょうか。
まだ私も勉強不足な部分が多々あると思いますので、よく調べてみます。
やなぎ様には、私の抽象的な質問に返答して頂き感謝しております。
やなぎ
会議室デビュー日: 2001/12/11
投稿数: 12
投稿日時: 2002-03-19 12:06
引用:

subaruさんの書き込み (2002-03-19 10:31) より:

<!DOCTYPE ・・・・test.dtd"
[
<!ENTITY % test2.dtd SYSTEM "test2.dtd">
%test.dtd;
]>




%test2.dtd;の「2」が抜けているのが原因とか?
または外部と内部、両方のDTDを使おうとしているので
宣言が重複しているとか?
subaru
会議室デビュー日: 2002/03/15
投稿数: 6
投稿日時: 2002-03-19 17:38
>%test2.dtd;の「2」が抜けているのが原因とか?
す・・・すいません。これは私の打ち間違えでした。

<!DOCTYPE ・・・・test.dtd"
[
<!ENTITY % test2.dtd SYSTEM "test2.dtd">
%test2.dtd;
]>

このようなXMLデータをXSLスタイルシートでXTパーサーを使って
HTMLを作ろうとすると以下のようなエラーが出るのです。
「file:・・・・・・test.dtd:66: Attribute name expected」

これが「宣言が重複している」というエラーなのでしょうか。
そもそも色々な本にDTDの説明はされているのですが、XSLTに関して
「HTMLを作る」ページになるとDTD記述を抜かしてサンプルが
書かれてあるので、すごく困ってますの。やなぎ様の返答助かります。

もう少し色々と調べてやってみたいと思います。
1

スキルアップ/キャリアアップ(JOB@IT)