XSL/XSLT (558レス)
1-

97: 結局さぁ 02/06/27 00:28 ID:kFFjIjuv(1) AAS
XSLTってXSLの鬼っ子でしょ?
とっとと改名しる!
98: 02/07/03 10:46 ID:??? AAS
なんだか難しそうだな
99
(1): 02/07/03 19:07 ID:P21eikik(1/2) AAS
Cocoon2でXSPを使ってHTMLを出力するとなぜか文字化けしちゃう。
XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
100
(3): Cocoon2 02/07/03 19:07 ID:P21eikik(2/2) AAS
Cocoon2でXSPを使ってHTMLを出力するとなぜか文字化けしちゃう。
XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
101
(3): 02/07/04 23:36 ID:QxzpOV1b(1) AAS
あるxml文書をコピーする過程で、決まった要素にだけtemplateを適用したいのですが
どーにもこーにもうまくいきません.

<xsl:template match="@*|node()" priority="2">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>

としておいて、例えば要素fooだけはそのままコピーするのではなく

<xsl:template match="foo" priority="1">
<xsl:text>foo</xsl:text>
省8
102
(1): 02/07/05 01:35 ID:??? AAS
>>100
ここ見れ↓
外部リンク[cgi]:www.emergence.jp
103: Cocoon2 02/07/05 10:46 ID:o63MT+vE(1) AAS
>>102
まじで感謝!
104
(1): Spm 02/07/06 00:35 ID:zVcgsDeC(1/2) AAS
>>101

そりゃあ、priority属性の値の高いほうが優先してマッチしますから、
その例の下のテンプレートは適用されないに決まっているのですけど:

>どーにもこーにもうまくいきません

とのことですので、もちろん最初は、priority属性をつけないで
試しては見たのでしょう?
下のテンプレートの方が規則からいって優先度が高いのは自明ですし……

xalanてそんなものですか。いやXTから乗り換えようと思っていたので。
105: 101 02/07/06 02:17 ID:vHzD1DJG(1) AAS
>>104
すいません,書いた後に気付きました...
priority の値を逆にしてもやはり意図通りになりません.

もちろん,仰るとおり,より限定されているfoo要素の方が
優先順位が高いのは自明なのですが,苦肉の策で試してみました.

<xsl:template match="*" prioriry="0"> と
<xsl:template match="*" prioriry="1"> では
後者が確実に適用さますが,match の内容が異なるとダメみたいですね...

ちなみにXTでも試してみたのですが,xalanと挙動は同じでした.
むぅ.
106
(1): 101 02/07/06 02:20 ID:??? AAS
s/prioriry/priority/g
です
107
(1): Spm 02/07/06 20:49 ID:zVcgsDeC(2/2) AAS
>>106
当方のXTはきちんとfoo要素だけfooというテキストノードにしてくれてます。
priority属性もみてくれてますし。
これはxalanのせいじゃないかもしれないですね。

考えられるのは、qname(qualified name)が間違っていることくらいでしょうか。
マッチすらしてないって事です。
ソース文書のfoo要素に名前空間ついてませんか?
ルート要素にデフォルトの名前空間(xmlns="uri")つけてませんか?

名前空間を除いたものを返すからname()関数による分岐はうまくいくのでしょう。

これしか考えられないのですが、違ってたらすみません。
108
(1): 02/07/07 00:44 ID:wYb8dbIP(1/2) AAS
>>107
>ソース文書のfoo要素に名前空間ついてませんか?
>ルート要素にデフォルトの名前空間(xmlns="uri")つけてませんか?

う,ビンゴです...
デフォルトの名前空間指定のないxml文書なら xalan でもうまくいきました.

ちなみに,デフォルトの名前空間がある場合にマッチさせる手段はあるのでしょうか?
match=":foo" なんて安直な方法じゃダメでした(恥)

# 「デフォルトの名前空間に関する問題は XSLT 2.0 で解決される」
# と聞いたことがあります.
109
(1): Spm 02/07/07 03:49 ID:ZDF4GXlm(1) AAS
ソースファイルが
(一般的にデフォルト名前空間が使われる)
XHTMLだったとすれば:

<xsl:stylesheet
xmlns:xsl="外部リンク:www.w3.org"
xmlns:xht="外部リンク:www.w3.org"
>
と、名前空間接頭辞を定義して、
NodeTestでNameTestを使う際、その接頭辞をくっつけます。

<xsl:template match="child::xht:h1">
省5
110: 108 02/07/07 16:47 ID:wYb8dbIP(2/2) AAS
>>109
もう目からウロコです.
ばっちりです,助かりました.
ありがとうございました.
111
(1): 02/08/11 23:48 ID:77b+zq0z(1) AAS
XSLTは変数の値変更できなくて不便でしょうがないので、
もう使用しないことにした。
112
(3): 02/08/16 08:50 ID:q4PLH8KO(1/2) AAS
初めてXMLを扱うものですが、たのしいXMLの
外部リンク[html]:www.cityfujisawa.ne.jp
ここを改造してソースを作っているのですが、うまくいきません。

とりあえず三つのソースを作りました。

-- test4.html --
<html>
<head>
<title>test4</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<xml id="list" src="testxml.xml"></xml>
省16
113
(1): 112のつづき 02/08/16 08:50 ID:q4PLH8KO(2/2) AAS
-- testxml.xml --
<?xml version="1.0" encoding="Shift_JIS" ?>
<test>mod</test>

-- c1.xsl --
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="外部リンク:www.w3.org">
<xsl:template match="/">
<html>
<body>
<p>before<xsl:value-of select="test@pid" />after</p>
省9
114: 112 02/08/16 11:12 ID:??? AAS
>>113
ちょっと訂正


<p>before<xsl:value-of select="test@pid" />after</p>


<p>before<xsl:value-of select="test" />after</p>
115: Spm 02/08/16 14:52 ID:WjrAiya2(1) AAS
c1.xsl のxsl:stylesheetに、version="1.0" を追加してください。

<xsl:stylesheet version="1.0" xmlns:xsl="外部リンク:www.w3.org">

これで駄目ならスレ違い。MSXMLの話題になります。
116: 02/08/20 03:03 ID:??? AAS
>>112
そこねー、たまに間違いあるよね(苦笑)
1-
あと 442 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s