03/06/29 15:54
ファイルリストをXMLで書いて、>>959のXSLを書き出すXSLを作ればいい。
963:Name_Not_Found
03/06/29 22:14
すいませんテキストノードに含まれる要素の置換ってどうするのでしょうか。
例えば
<text>foo<link href="bar">bar</link>foo</text>
このようにしているのですが、これを
<p>foo<a href="bar">bar</a>foo</p>
のように、linkをaとして出力したいのです。
964:Name_Not_Found
03/06/29 22:56
>>963は色々やってたら自己解決したので取り下げます。
解決策:
<xsl:template match="hoge/link">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@href" />
</xsl:attribute>
<xsl:value-of select="text()" />
</a>
</xsl:template>
965:Name_Not_Found
03/06/29 22:56
hogeじゃなくてtextです念のため…。
966:Name_Not_Found
03/06/29 23:08
今度は別の問題が(つД`)
<text>foo<br /><link href="bar">bar</link>foo</text>
<xsl:template>
<p>
<xsl:value-of select="text/text()" />
<xsl:apply-templates select="text" />
</p>
</xsl:template>
<xsl:template match="text/link">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@href" />
</xsl:attribute>
<xsl:value-of select="text()" />
</a>
</xsl:template>
<xsl:template match="text/br">
<br />
</xsl:template>
とした時に最初の一行(多分<text>~<br />まで)が重複して表示されてしまいます。
foofoo
bar以下略
これを回避するにはどうすれば良いでしょうか…。
967:Name_Not_Found
03/06/29 23:15
<xsl:value-of select="text/text()" />消す。
968:Name_Not_Found
03/06/30 18:19
ちゃちい質問かもしれないけどもしかしてRSSってサイト情報じゃなくて更新情報?
969:Name_Not_Found
03/06/30 18:21
RDF Site Summary
970:Name_Not_Found
03/06/30 19:17
ボーッとスレ読み返してたけどXML→XHTMLとするとき、
metaとかはどうやって入れてる?
ウチは元のXML文書にその辺りの情報は入れてないんで
<xsl:element name="meta">
<xsl:attribute name="http-equiv">Content-Type</xsl:attribute>
<xsl:attribute name="content">text/html;charset=UTF-8</xsl:attribute>
</xsl:element>
とかやってるけどなんだか最近ビミョーな気がしてきて…。
971:Name_Not_Found
03/06/30 21:04
>>970
ビミョーって、どの辺の観点の話?
972:Name_Not_Found
03/06/30 21:58
>968
神崎たんのサイト行け
973:Name_Not_Found
03/07/01 00:31
質問ですがXSLTで要素自体の有無による分岐は可能でしょうか。
例えば year month day と言う要素があり、
XSLTで year/month/day と言う形にして出力しているとして、
要素がない場合は ? で置き換えると言うような事をやりたいのです。
<year>2000</year><month>12</month><day>31</day>の場合、
year要素が無ければ <li>????/12/31</li>
month要素が無ければ <li>2000/??/31</li>
year要素もday要素も無ければ <li>????/12/??</li>
さらに三つの要素が全て無ければli要素を完全に出力しない、
という感じで。
974:Name_Not_Found
03/07/01 01:29
>>973
xsl:choose
975:Name_Not_Found
03/07/01 02:00
chooseについては調べてみたのですが
テキストや属性がどうであればこうするという例ばかりで
要素(や属性とか)そのものがあれば真、なければ偽というやり方がわからないのです。
976:Name_Not_Found
03/07/01 03:07
とか言ってたらデキター
perlのifとかと似たようなものなのね。
977:Name_Not_Found
03/07/01 21:17
平時XHTML1.1で文書を作っているのですが、既存のXHTMLでは満足できなくなって
div要素に新しい日記用属性を付け加えたくなりました。
それで
<xhtml xml:lang="ja" xmlns="URLリンク(www.w3.org)" xmlns:diary="(自分のWebSiteのURL)">
として
<div diary:date="2003-07-01">
ってな記述をしてみているのですがパースエラーが発生してしまっています。
自分のWebSiteのURLをつかって勝手に新しい名前空間を名乗ったりするのはダメなんでしょうか?
また、ダメな場合どうしたら回避できる(または回避できない)のでしょうか?
教えて君ですみません。識者の方助言をお願いします。
978:Name_Not_Found
03/07/01 22:00
>>977
パースエラーの発生するパーザとエラーメッセージがわからないことには
何とも言えないなあ。
979:Name_Not_Found
03/07/01 22:58
>>977
XHTML 1.1そのままの文書型宣言を付けてるんじゃないの?
DTDを弄らずに勝手に新しい属性を付加してたら、
DTD読むタイプのパーサには怒られると思われ。
980:Name_Not_Found
03/07/02 00:11
>>978-979
返答有り難うございます。
>XHTML 1.1そのままの文書型宣言を付けてるんじゃないの?
つけてました。そこで、改めて見てみるとおいらはパーサに
「XHTML1.1のdivにdiary:dateなんて属性はねぇぞゴラァ」(超訳)
と叱られてました。どうもすみません。
そこでXHTML1.1のDTDのCore.attribをこんな風に書き換えちゃおうかと
思ったのですが…
><!ENTITY % Core.attrib
> "%XHTML.xmlns.attrib;
(中略)
> %diary.attrib;">
><!ENTITY % diary.attrib
> "diary:date %LanguageCode.datatype; #IMPLIED">
><!ENTITY % diary.datatype "CDATA" >
(仮にこの書き換えがOKだとして(ちょっと自信ないです))これって
すでにXHTML1.1では無いわけで、つまりXHTML1.1のシステム識別子を名乗っちゃって
大丈夫なもんでしょうか?それとも、いっそ文書型宣言を削除して非検証の
整形済み文書である方がマシなんでしょうか?
なんか聞いてばっかりですみません。
981:Name_Not_Found
03/07/02 08:46
>>980
てかシステム識別子ってDTDの所在なわけで、書換え後のDTDのURIを書かないと意味がない。
XHTML1.1のものを名乗るとまずいのは公開識別子。
プロセッサによっては公開識別子だけでDTDを特定する可能性がある。
<!DOCTYPE html SYSTEM "書き換えたDTDのURI"> とかすればいいんじゃない?
必要なら適当に公開識別子でっち上げてもいいと思う。
妥当性検証が明らかに不要な文書であるなら
文書型定義・宣言を無理に書くことないとも思うけどね。
検証の可能性がある文書だったら、XHTMLMODとか参考になるかも。
URLリンク(msugai.fc2web.com)
漏れだったら %Common.extra.attrib; に追加するなあ。
982:Name_Not_Found
03/07/02 20:16
>>980
>>981 読めば大体大丈夫だと思うけど、付け加えて言うと、
DTD をいじるなら xmlns:diary 属性の定義をする必要がある。例えば
<!ENTITY % XHTML.xmlns.attrib
"xmlns %URI.datatype; #FIXED '%XHTML.xmlns;'
xmlns:diary %URI.datatype; #FIXED '何かURI'" >
とか。ただ、本当はわざわざ diary:date なんて属性を定義するより
Dublin Core の date 属性とかを使った方が幸せになれると思うけど。
# 「DTD を書き換える」ってのは、本当に宣言を書き換えちゃうんじゃなくて、
# 定義を追加して上書きするんだってことは分かってる…よね? (汗 念のため。
983:982
03/07/02 20:20
すまん、dc:date は要素型だ。
984:Name_Not_Found
03/07/03 07:24
新刷れのリンク集用に過去ログ参考にして作ってみた。
つーか今いい流れなんで新スレきぼん
[総本山]
日本XMLユーザーグループ WebPage URLリンク(www.xml.gr.jp)
[技術情報]
XML Cafe URLリンク(www.fxis.co.jp)
XML FAQ-J URLリンク(db-www.aist-nara.ac.jp)
XML eXpert eXchange URLリンク(www.atmarkit.co.jp)
XML SQUARE URLリンク(www.utj.co.jp)
[学習]
[入門者用]たのしいXML URLリンク(www.cityfujisawa.ne.jp)
[脱初心者用]Studying XML for beginners URLリンク(www.asahi-net.or.jp)
[リンク集]
[DTD集]XMLフォーマットのイエローページ URLリンク(it.jeita.or.jp)
[カテゴリ別]XMLディレクトリ URLリンク(www2.ocn.ne.jp)
[海外]
XML.org URLリンク(www.xml.org)
[あのオライリーのサイト]XML.com URLリンク(www.xml.com)
[フリーツール集]Homepage: Lars Marius Garshol URLリンク(www.garshol.priv.no)
[XHTML]
Web作成支援 URLリンク(msugai.fc2web.com)
[XML to HTML]
[専らサンプル]KOBA'S World URLリンク(www.mwc.ne.jp)
985:Name_Not_Found
03/07/03 08:09
XSLT1.0仕様(日本語) URLリンク(www.infoteria.com)
XPath1.0仕様(日本語) URLリンク(www.infoteria.com)
も需要高そうなので入れたい気分。
986:Name_Not_Found
03/07/03 09:11
W3C URLリンク(www.w3.org)
これは?当たり前すぎていらないかな。
987:Name_Not_Found
03/07/03 11:24
XML使った事無いけど、このスレに通りすがりついでに立てた。
XML使いのスレ 2.0
スレリンク(hp板)
988:Name_Not_Found
03/07/03 13:06
ふと疑問に思ったのだけどXMLの読みって「えっくすえむえる」で良いのかな?
いや他に読み方あるんかいなって思う事は思うけど
たまに予想外の読み方をさせる語もあるし…。
989:Name_Not_Found
03/07/03 13:12
>>988
脳内では「くすむる」として速読してる(´・ω・`)
990:Name_Not_Found
03/07/03 13:13
少なくともPNGみたいに「こんな風に発音します」って公式アナウンスはない。
# 新スレに書けって…。
991:Name_Not_Found
03/07/03 13:41
そなのかー。
作った人たちはどう読んでんだろ。
>990
いやぁ比較的どうでもよさそうな話題なので埋めついでに…みたいな。
992:Name_Not_Found
03/07/03 14:22
URLリンク(dictionary.reference.com)
「えっくすえむえる」でほぼOKな気が。