探検


XSL/XSLT

1名無しさん@お腹いっぱい。
垢版 |
01/09/05 10:49ID:dYMWGvtU
語ろう。ていうか教えて。
2名無しさん@お腹いっぱい。
垢版 |
01/09/05 10:50ID:dYMWGvtU
XSLT文書の実行時書き換えってどうやるんでしょう。涙。
3名無しさん@お腹いっぱい。
垢版 |
01/09/05 12:46ID:rFbk2SFA
DOMでXSLTを生成すりゃいいんでないの?
4名無しさん@お腹いっぱい。
垢版 |
01/09/05 19:00ID:.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
01/09/06 03:57ID:cEL2v6yw
「読み書き可能なグローバル変数」の直接の解では無いし
元の XML ややりたい事がはっきりしないので的外れかもしれんが

<xsl:variable name="default_name"/>

のところを

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

とかにするだけではダメなのか?
01/09/06 23:44ID:???
>>5
ありがとう。
defaultname要素の場所が固定なら、それでいいかも知れない。

とりあえずはスクリプトを使っておくよ…。
さりげなく下逸マンセー
7名無しさん@お腹いっぱい。
垢版 |
01/09/10 14:21ID:CV8.18JQ
XSLTの文法チェッカってあり?
8名無しさん@お腹いっぱい。
垢版 |
01/09/11 12:11ID:liJMw8bE
>>2 XMLパーフェクトブック になんか書いてあるみたいだよ?
目次しかしらん。
誰か読んでない?
9名無しさん@お腹いっぱい。
垢版 |
01/09/11 14:24ID: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
という表にするイメージ。
01/09/11 14:30ID:???
(´-`).。oO(HTMLのtable要素なのか、
       データベースのテーブルなのか、TeXのテーブルなのか、
       一体どのテーブルなんだろう?)
11名無しさん@お腹いっぱい。
垢版 |
01/09/11 15:05ID: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:48ID: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>と出力されるためタグとして機能しない
という状態になっています。かなりしょんぼりしています。
139
垢版 |
01/09/13 14:51ID:???
>>9=>>11-12です
14名無しさん@お腹いっぱい。
垢版 |
01/09/14 21:41ID:LySoniQw
XSLTの文法チェッカってありますか?
15名無しさん@お腹いっぱい。
垢版 |
01/09/14 21:44ID:LySoniQw
あ。>>7さんとだぶってた。すんません。
16名無しさん@お腹いっぱい。
垢版 |
01/09/19 19:09ID:xIy8M15c
<xsl:for-each select=".." >
...
</xsl:for-each>
の中で、<xsl:value-of select="javascript:test(.)">
などとやった場合、
function test( arg )
に渡される引数argを文字列として扱いたいんですが、
どうにもうまく行きません。どなたか分かる方いらっしゃいますか?
17独学XML
垢版 |
01/10/25 14:59ID:9/96eztC
ふーん
18乙葉
垢版 |
01/10/27 19:23ID:F9QxoFrS
9に便乗なんだけど、9のXMLを <xsl:for-each> を使わずに
1 a
2 b
3 c
4 d
5 e
6 f
のように出力することってできます?<xsl:variable>をインクリメントさせながら
変換していくようなイメージ…。for-eachのカウンタを変数としてとれるならそれで
もいいんですけど…。
19名無しさん@お腹いっぱい。
垢版 |
01/11/04 04:55ID:90OzPiaz
>>18

<xsl:for-each> と <xsl:number> を組み合わせれば良いのでは?

for-eachを使わない方法なんて考えられないでしょ
<data>が6個固定とかならいざ知らず
01/11/09 01:11ID:???
>>18
<OL>
<LI>a</LI>
<LI>  (以下略.............ワラ
21名無しさん@お腹いっぱい。
垢版 |
01/12/07 15:09ID:7lK3vz6F
>>9
かなーり遅レスですがこんな感じじゃだめですか?
<table border="1">
<tr>
<xsl:for-each select="datalist/data">
<td><xsl:value-of select="..."/><br/></td>
<xsl:if test="position() mod 3 = 0"></tr><tr></xsl:if>
</xsl:for-each>
</tr>
</table>
22名無しさん@お腹いっぱい。
垢版 |
01/12/08 21:23ID:Tssb4f+E
他鯖にあるXMLファイルを取り込んで表示とかはできるの?
239
垢版 |
01/12/08 21:41ID:???
>>21 さんきゅうです
24名無しさん@お腹いっぱい。
垢版 |
01/12/20 15:56ID:04pPLyWb
>>22
document()関数を使えばできそげ。
http://www.infoteria.com/jp/REC-xslt-19991116-jpn.htm#document

URI指定で他鯖を指定すれば良いんでないの?

ところでdocument()関数の説明に第2引数云々ってあるんだけど、
引数を2つ書くとinvalid number of function argumentsっていう
エラーがでてしまって鬱。
25名無しさん@お腹いっぱい。
垢版 |
01/12/27 18:06ID:2WckNNJE
XSLTの仕様を見ていて湧いた素朴な疑問なんですが…
Syntax Summaryの属性で、{}がついてるのとついていないのの
違いって何なのでしょう???

たとえば↓のqnameと{ qname }です
<xsl:apply-templates
select = node-set-expression
mode = qname>
<!-- Content: (xsl:sort | xsl:with-param)* -->
</xsl:apply-templates>

<xsl:attribute
name = { qname }
namespace = { uri-reference }>
<!-- Content: template -->
</xsl:attribute>
26名無しさん@お腹いっぱい。
垢版 |
02/01/22 17:26ID:kIM5fYXv
HTMLを出力するXSLTの中にJavaScriptを書いているのですが、
スクリプトの中で、"<"を使うにはどうしたら良いのでしょう?
&gt;や&lt;を使うと、そのまま出力されてしまい実行できません。
<[CDATA[ 〜 ]]>で囲んでも同じ感じです。
アイディアきぼんぬ、です。

可能なところは、!= で逃げているのですが、やはり大小比較は必要なのです。
2726
垢版 |
02/01/22 17:41ID:s+GnOL1u
>>26 すんまそん。<xsl:text>でできましたでやんす。
28助けてー
垢版 |
02/01/22 22:03ID:IcXQR5Jq
XML+XSLTでSVGを書き出し、Adobe SVGViewerで出力したいのですが
表示できません。
レスを投稿する


ニューススポーツなんでも実況