- PR -

データにHTMLのタグを埋め込みたいのですが…

1
投稿者投稿内容
M.M
会議室デビュー日: 2002/07/25
投稿数: 2
投稿日時: 2002-07-25 18:05
以下要所を抜き出して質問をさせていただきます。
よろしくお願いします。

DTD内で以下の定義を行うとXMLのデータで<br/>等の
タグでエラーが出ます。DTDを使わなければ問題ないの
ですが、これを回避するうまい定義はありますでしょうか。

<!ELEMENT TEXT (#PCDATA) >

<TEXT>
HelloWorld
<br/><br/>
HelloWorld
</TEXT>


DTDを使わないというのも考えには考えたのですが
下記のように複数のファイルをくっつける必要があり、DTDを
使う必要がどうしても出てきてしまいます。DTDなしで
結合できる技があるなら、そちらでもOKなのですが………

<!ENTITY list0205 SYSTEM "main0205.xml" >
<!ENTITY list0206 SYSTEM "main0206.xml" >
<!ENTITY list0207 SYSTEM "main0207.xml" >

<LIST>
&list0205;
&list0206;
&list0207;
</LIST>
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2002-07-26 09:38
br を EMPTY で要素宣言するだけですみませんか。
(DTD とは何かを理解していると仮定して)

エンティティーを アドホックな フラグメントの結合
(ドキュメントアッセンブル)に利用するのは少し目的外では。
なぜなら、文書の型宣言に 一時的な記述が混入することに
なるから。(結合のネストがあったときどう処理します?)

普通は、XSLTで 結合とか、XInclude などを処理できるソフトを
作り処理するのが、これからの方向では?
XML-DBに入れてまとめて取り出すのも可能かもしれません。

他の方向ではプレーンなテキスト処理で、チョキチョキ貼り合わす
(XMLはテキストでもある)
M.M
会議室デビュー日: 2002/07/25
投稿数: 2
投稿日時: 2002-07-26 15:37
ありがとうございます。以下のようにして問題なく
動くようになりました(まだ詳しくわかってるわけでないので
本当に正しいのかどうかわかりませんが)

<!ELEMENT TEXT (#PCDATA | br)* >
<!ELEMENT br EMPTY >

後になりましたが、私がXMLを使おうと思ったのは日記に
属性をつけて検索をかけれると良いな、と思ったからなのですが
今までのフォーマットが
日付
内容(brやimg等のタグを含む)
だったのを以下のような形にして、今までの内容を単純に
コピペで<TEXT></TEXT>内に貼り付けるようと考え
エラーが出て困ってたという次第です。
あまり良い形ではないのかもしれませんが…

<!ELEMENT DIARY (DAY, ATRB, TEXT) >
<!ELEMENT DAY (#PCDATA) >
<!ELEMENT ATRB (#PCDATA) >
<!ELEMENT TEXT (#PCDATA) >

>普通は、XSLTで 結合とか、XInclude などを処理できるソフトを

そうですね。xsl:variableな値を書き換えるぐらいだったら
わかっているのですが………木を連結させる方向でやろうと
思います。それはサンプルがたくさんあるようなので見てみます。

>他の方向ではプレーンなテキスト処理で、チョキチョキ貼り合わす

最終的には3年分ぐらいのHTMLな日記(もちろん分割されてます)を
暇をみてXMLにしたいと思っているので…さすがにやめたいかな、と。
1

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