XSL/XSLT (558レス)
1-

197: 山崎 渉 [(^^)] 03/08/15 22:59 ID:??? AAS
AA省
198: 03/09/07 21:17 ID:PQrT+UlA(1) AAS
<x>a b c <y>d</y> e <y>f</y> <y>g</y> h</x>



<p>a b c <q>d</q> e <q>f</q> <q>g</q> h</p>

に変換する XSL が分からん。for-each じゃ出来ないよね?
199
(1): 03/09/07 23:33 ID:X8dU+/Y3(1) AAS
xにマッチしてpにおきかえるテンプレートと
yにマッチしてqにおきかえるテンプレートをかけばいいだけじゃんよ
200
(1): 03/09/09 01:09 ID:??? AAS
>>199
あー、徹夜明けでボケてた。
その通りです失礼
201
(1): 03/09/26 10:15 ID:Hq0iAR6d(1) AAS
<date>9月2日</date>
<title>ちょっとここを通られた</title>
<p>なぞの白い物体に我が家をあらされてしまった。</p>
<p>訴訟を起こして謝罪と賠償を要求したい。</p>



<div class="section">
<h2><date>9月2日</h2>
<div class="subsection">
<h3>ちょっとここを通られた</h3>
<p>なぞの白い物体に我が家をあらされてしまった。</p>
省4
202
(1): 03/09/26 11:50 ID:??? AAS
>>201
まず整形式にしろ。話はそれからだ。
203
(1): 03/09/26 17:56 ID:??? AAS
>>202
すみません
<h2><date>9月2日</h2> は <h2>9月2日</h2> の誤りです。
204: 03/09/26 22:18 ID:??? AAS
>>203
整形式にしなきゃいけないのは変換前のほうなんだが。

本当にやりたいことは別にあるんじゃないかとも思うが、
とりあえず、親要素を???とすれば、こんな感じ。
<xsl:template match="???">
<div class="section">
<xsl:apply-templates select="date" />
<div class="subsection">
<xsl:apply-templates select="title" />
<xsl:apply-templates select="p" />
省6
205
(1): 03/10/10 20:26 ID:??? AAS
俺はサイトの文法は
<section>
 <title>TITLE</title>
 <sentences><p></p>....</sentences>
 <section>
  <title>子セクションTITLE</title>
  <sentences><p></p>....</sentences>
 </section>
 <section>
  <title>子セクションTITLE</title>(以下略&再帰的な文法)
省3
206: 03/10/14 00:50 ID:??? AAS
>>205
俺もそんな感じ
207
(1): 03/10/17 21:05 ID:ckGd54O2(1) AAS
質問です。
XSLTで、元の構造を保ったまま、
XMLのテキストを一部分だけ変えるというのは簡単に出来るのでしょうか?

例えば、簡単な例ですが、
<A>
<B>hoge</B>
</A>
とあったときにhogeを何か別の文字列に変換したいという事です。

やはりその構造にあった、スタイルシートを書くしかないのでしょうか?
208
(1): 03/10/18 00:03 ID:??? AAS
>>207
どの要素内容のテキストのhogeも全部書き換えていいなら簡単。
でも、そのためにXSLTを使うなんて馬鹿げてる。
209
(1): 03/10/18 14:56 ID:??? AAS
>>208
そういうことのためにXSLTがあるんじゃないの?
それが馬鹿げてるってことはXSLT自体が馬鹿げてるってことだろ。
210: 03/10/19 10:59 ID:??? AAS
>>209
スキーマを換えるためにあると考えるのが普通だろ。
単なる置換とはぜんぜん違うよ。
211: 03/10/19 17:43 ID:??? AAS
XMLをXSLでHTMLに変換して、↓のような感じにしたいです。
何がしたいのかというとページ内リンクがしたくて、
c要素を変換した(1*)や(*2)などを押すと、
f要素の(*1)や(*2)に飛びたいのです。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="sample.xsl" type="text/XSL"?>
<A>
<b>テキスト1<c id="A" /></b>
<b>テキスト2<c id="B" /></b>
<b>テキスト3<c id="A" /></b>
省13
212: 211の続き 03/10/19 17:44 ID:??? AAS
ページ内リンク自体は簡単にできるのですが、
(*1)、(*2)などの番号を振るのが難しいです。
f要素の番号は単純にnumberでカウントしているのですが、
c要素での番号が振れません。

xslはネットをうろついて見つけた近そうなものを
参考にしながら、こんな感じになっています。

213: 212の続き 03/10/19 17:48 ID:??? AAS
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="外部リンク:www.w3.org" version="1.0">
<xsl:output method="html" version="4.0" encoding="Shift_JIS" />
<xsl:template match="/">
<html><head><title>sample</title></head><body>
<xsl:apply-templates />
</body></html>
</xsl:template>
<xsl:template match="b">
<div><xsl:apply-templates /></div>
省9
214: 213の続き 03/10/19 17:49 ID:??? AAS
<xsl:template match="f">
<div>
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id" /></xsl:attribute>
(*<xsl:number count="f" />)
</xsl:element>
<xsl:apply-templates />
</div>
</xsl:template>
</xsl:stylesheet>
省3
215
(2): 03/11/29 01:53 ID:0RUQwDGu(1) AAS
AA省
216: 215 03/11/30 02:13 ID:??? AAS
「タグ付きで、そのまま出力」 は xsl:copy-of を使用して解決しました。

「タグを削って 32bytes に切り詰め、最後の 3bytes を '...' に変換し、出力」 は未解決です。
どなたか御協力を賜りたく思います。
1-
あと 342 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s