5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

XSL/XSLT

1 :名無しさん@お腹いっぱい。:01/09/05 10:49 ID:dYMWGvtU
語ろう。ていうか教えて。

2 :名無しさん@お腹いっぱい。:01/09/05 10:50 ID:dYMWGvtU
XSLT文書の実行時書き換えってどうやるんでしょう。涙。

3 :名無しさん@お腹いっぱい。:01/09/05 12:46 ID:rFbk2SFA
DOMでXSLTを生成すりゃいいんでないの?

4 :名無しさん@お腹いっぱい。:01/09/05 19:00 ID:.fOk25kQ
XSLTで読み書き可能なグローバル変数を使うにはどうしたらいいの?

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="." version="1.0" exclude-result-prefixes="msxsl user">
<xsl:output method="html" version="4.0" encoding="Shift_JIS"/>

<xsl:variable name="default_name"/>

<xsl:template match="/root">
<html lang="ja">
<head>
<title><xsl:value-of select="title"/></title>
</head>
<body>
<h1><xsl:value-of select="title"/></h1>
<xsl:apply-templates select="book" />
</body>
</html>
</xsl:template>

<xsl:template match="talk">
<xsl:if test="@name!=''">
<xsl:value-of select="@name"/>「
</xsl:if>
<xsl:if test="@name=''">
<xsl:value-of select="$default_name"/>「
</xsl:if>
</xsl:template>

<xsl:template match="defaultname">
<xsl:variable name="default_name" select="."/>
</xsl:template>

こんな感じで書いてるんだが、変数の書き換えができないみたい。
環境は MSXML3.0SP1 + MSXSL.exe

5 :名無しさん@お腹いっぱい。:01/09/06 03:57 ID:cEL2v6yw
「読み書き可能なグローバル変数」の直接の解では無いし
元の XML ややりたい事がはっきりしないので的外れかもしれんが

<xsl:variable name="default_name"/>

のところを

<xsl:variable name="default_name">
<xsl:value-of select="/root/defaultname" />
</xsl:variable>

とかにするだけではダメなのか?

6 :名無しさん@お腹いっぱい。:01/09/06 23:44 ID:???
>>5
ありがとう。
defaultname要素の場所が固定なら、それでいいかも知れない。

とりあえずはスクリプトを使っておくよ…。
さりげなく下逸マンセー

7 :名無しさん@お腹いっぱい。:01/09/10 14:21 ID:CV8.18JQ
XSLTの文法チェッカってあり?

8 :名無しさん@お腹いっぱい。:01/09/11 12:11 ID:liJMw8bE
>>2 XMLパーフェクトブック になんか書いてあるみたいだよ?
目次しかしらん。
誰か読んでない?

9 :名無しさん@お腹いっぱい。:01/09/11 14:24 ID:liJMw8bE
XSLTで、たくさんある要素をテーブルにしたいんだけど
どう書けばいいんだろう???
<datalist>
<data>a</data>
<data>b</data>
<data>c</data>
<data>d</data>
<data>e</data>
<data>f</data>
</datalist>

a b c
d e f
という表にするイメージ。

10 :名無しさん@お腹いっぱい。:01/09/11 14:30 ID:???
(´-`).。oO(HTMLのtable要素なのか、
       データベースのテーブルなのか、TeXのテーブルなのか、
       一体どのテーブルなんだろう?)

11 :名無しさん@お腹いっぱい。:01/09/11 15:05 ID:liJMw8bE
あーごみんなさい。HTMLのtable要素です。
<table>
<tr><td>a</td><td>b</td><td>c</td></tr>
<tr><td>d</td><td>e</td><td>f</td></tr>
</table>
にしたいのです。

12 :名無しさん@お腹いっぱい。:01/09/13 14:48 ID:botIizDw
<xsl:for-each select="datalist/data">
<xsl:if test="position() mod 3 = 0"><tr></xsl:if>
<td>…</td>
<xsl:if test="position() mod 3 = 0"></tr></xsl:if>
</xsl:for-each>
のようにやってみたのですが、
(1)<td>〜</td><td>〜</td><tr><td>〜</td></tr>の順に出力される
(2)<tr>が<tr>と出力されるためタグとして機能しない
という状態になっています。かなりしょんぼりしています。

13 :9:01/09/13 14:51 ID:???
>>9=>>11-12です

14 :名無しさん@お腹いっぱい。:01/09/14 21:41 ID:LySoniQw
XSLTの文法チェッカってありますか?

15 :名無しさん@お腹いっぱい。:01/09/14 21:44 ID:LySoniQw
あ。>>7さんとだぶってた。すんません。

16 :名無しさん@お腹いっぱい。:01/09/19 19:09 ID:xIy8M15c
<xsl:for-each select=".." >
...
</xsl:for-each>
の中で、<xsl:value-of select="javascript:test(.)">
などとやった場合、
function test( arg )
に渡される引数argを文字列として扱いたいんですが、
どうにもうまく行きません。どなたか分かる方いらっしゃいますか?

17 :独学XML:01/10/25 14:59 ID:9/96eztC
ふーん

18 :乙葉:01/10/27 19:23 ID:F9QxoFrS
9に便乗なんだけど、9のXMLを <xsl:for-each> を使わずに
1 a
2 b
3 c
4 d
5 e
6 f
のように出力することってできます?<xsl:variable>をインクリメントさせながら
変換していくようなイメージ…。for-eachのカウンタを変数としてとれるならそれで
もいいんですけど…。

6 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)