2ch勢いランキング 全部 1- 最新50

XSL/XSLT


名無しさん@お腹いっぱい。 [] 01/09/05 10:49:dYMWGvtU
語ろう。ていうか教えて。
nobodyさん [] 2006/07/10(月) 11:50:48:AyMgINi+
えっと、XML 文書を XSL で HTML に変換し、
それに CSS を適用して見せるページを作っています。
意図するように見えているのですが、
Firefox がどのような HTML に変換しているのかを
確認したいと思っています。

Firefox で XSL による変換結果をファイルに
保存することってできますか?
つまり XSL 適用後の文書を保存したい、
Firefox を単に XSL プロセッサとして使いたいのです。
nobodyさん [] 2006/07/11(火) 17:58:57:Wcdm37qK
XML ファイルの先頭で XML プロセッサに対して XSL ファイルを指示しますよね?
<?xml-stylesheet title="XSL_formatting" type="text/xsl"
href="ttp://resource.example.com/sample.xsl" ?>
XML プロセッサとして Firefox を利用すると、
XML ファイルをおいてある場所以外の XSL ファイルを
指定した場合に「Security Error」になります。
これはいかんともしがたいのでしょうか?
nobodyさん [sage] 2006/07/11(火) 18:20:50ID:???
Security Errorのあとにコロンがついてエラーの内容が書いてない?
セキュリティ上、別ドメインからのスクリプトの呼び出しはダメとかじゃなくて?
nobodyさん [] 2006/07/11(火) 18:24:23:Wcdm37qK
Security Error: Content at ttp://example.com/test.xml
may not load data from ttp://orz.2ch.net/test.xsl

表示内容は上記の通りです。スクリプトと同じで他のドメイン
からの XSL ファイルは信用しないよってことですか。
全部ローカルにおいてたら Gecko でも IE でも処理
できるファイル群なので、ファイルの内容自体に誤りはないと思います。
nobodyさん [sage] 2006/07/11(火) 18:38:12ID:???
CheckSameOriginError, Security Error: Content at %S may not load data from %S. セキュリティエラー: %S のコンテンツが %S からデータを読み取ることは禁止されて います。
456=458 [] 2006/07/11(火) 18:38:47:Wcdm37qK
IE だと ttp://example.com/ を信頼済みサイトに
登録することで、他のサイトの XSL ファイルも
ダウンロードして処理してくれるようになりました。
Firefox ではそれに対応する設定を見つけられませんでした。
身内で共通の CSS とか XSL 使おうと思ってて
どうせ内容いじれるのが自分だけなんで一カ所に
集めちゃおうと思ったんですが、セキュリティの
こと考えたらなんか根本的に間違ってた気がするので
あきらめます。
nobodyさん [] 2006/07/11(火) 20:19:18:Wcdm37qK
ところで、 XPath による要素・属性の指定において、
「ルート直下の a または b という要素の下にある c という要素」
に関するテンプレートを書きたい時って、

/a/c に対するものと /b/c に対するものを別に
書く必要がありますか?まとめて /{a|b}/c のように記述
する方法はありませんでしょうか?
nobodyさん [sage] 2006/07/11(火) 20:46:36ID:???
a and b
nobodyさん [] 2006/07/12(水) 09:47:10:CjrVtdTv
<Arguments>

<Argument Name="Service" Value="" />
<Argument Name="AssociateTag" Value="test" />
<Argument Name="ItemPage" Value="1" />

</Arguments>

xsl:value-of selectを使って、testの値だけ抜き出したいのですが、
どのように書けばいいんでしょうか?
nobodyさん [sage] 2006/07/12(水) 11:36:40ID:???
たまたま弄ってた所だから特別に教えてやる
Arguments/Argument[@Name='AssociateTag']/@Value
入門書くらい買え








ちがってたらゴメンネ
nobodyさん [] 2006/07/13(木) 16:00:41:Lxav0c83

どうもありがとうございます。
うまくいきました!
nobodyさん [] 2006/07/13(木) 17:27:49:Lxav0c83
document関数は外部のサイトも取得できるんでしょうか?
nobodyさん [sage] 2006/07/13(木) 18:25:06ID:???
やってみよう!
わからなかったら聞いてみよう!
わかったことはみんなに知らせよう!
いけ!
nobodyさん [] 2006/07/14(金) 20:02:42:BpYZj7V/
がんばって見た結果、たぶんできるっぽいです。

ところで

<xsl:for-each select="document('ttp://test.xml')

見たいにurlを入力したとき、urlに=だとか&だとかが入っているとエラーが出てしまいます。
どうやって書けばいいんでしょうか?
nobodyさん [] 2006/07/14(金) 21:29:08:MY15XHq0
&は&だったかな。?だったかもしれない。
=はそのままでよかった気がする。

ttp://www.ne.jp/asahi/minazuki/bakera/html/reference/charref
nobodyさん [sage] 2006/07/14(金) 21:30:47ID:???
すまん、参照がともに変換されてしまったorz
示したURLのページをもとにがんばってくれ。
nobodyさん [] 2006/07/14(金) 23:47:41:BpYZj7V/

ありがとうございます
nobodyさん [age] 2006/07/22(土) 10:37:07ID:???
xml文章の中から、ユーザー側から入力した条件を元に、
検索して結果を表示するようなことは、xslのみで実現するのは可能でしょうか?
postができなそうなのでやっぱり不可能でしょうか?
nobodyさん [sage] 2006/07/23(日) 00:28:31ID:???
xslのみ の意味がわからない
nobodyさん [sage] 2006/07/23(日) 00:29:42ID:???

CGIでやるなら、いまのところCGIからXSLTプロセッサを呼び出すしかない。
472 [sage] 2006/07/23(日) 09:47:44ID:???

やっぱそうなりますよね。
xml文章中の特定の語句を検索して表示するような、
スクリプトが紹介されていたので、
postができれば検索システムも作れるそうだなと思った次第です。


xslって簡易プログラミング言語みたいなものだと思っていたので、
変な言い方だったらすみません。
nobodyさん [] 2006/07/24(月) 14:48:21:uSZzoH8+
文字列をエンコードする関数って
どんなのがありますか?
nobodyさん [sage] 2006/07/25(火) 01:05:04ID:???
postされたデータを使ってXSLTを作り変換すれば?
xsl:if の test 部分をpostされたデータにすれば出来そうな気がする
nobodyさん [] 2006/08/02(水) 19:55:15:qF5sPr3L
document関数でurlを指定するとき、xsl:variable nameはつかえないんでしょうか?

<xsl:variable name="●●">○○.xml</xsl:variable>

<xsl:for-each select="document($●●)/▲▲/■■">

</xsl:for-each>

こんな感じで入力すると、$●●に○○.xmlが入らずに
$●●のままなんですが・・・
nobodyさん [] 2006/08/02(水) 20:13:17:qF5sPr3L

すいません自己解決しました。
nobodyさん [sage] 2006/08/06(日) 02:13:08ID:???

自己解決したら、解決法かけや
nobodyさん [sage] 2006/08/17(木) 06:59:21ID:???
すみません、XML で特定の条件に一致する要素だけにちょっとした変更を
加えたいのですが、それ以外の要素を無変換で出す処理はどう書けば良いの
でしょうか? 例えば XML 中の password という要素の内容をマスクする場合:

<xsl:template match="/">
 <xsl:apply-templates />
</xsl:template>

<xsl:template match="*">
 <xsl:choose>
  <xsl:when test="name(.)='password'">
   <password>****</password>
  </xsl:when>
  <xsl:otherwise>
   <xsl:element name="(ここはどうすれば?)">
    <xsl:for-each select="@*">
     <xsl:attribute name="(ここはどうすれば?)"><xsl:value-of select="." /></xsl:attribute>
    </xsl:for-each>
    <xsl:apply-templates select="node()" />
   </xsl:element>
  </xsl:otherwise>
 </xsl:choose>
</xsl:template>
nobodyさん [sage] 2006/08/17(木) 15:51:08ID:???
<xsl:template match="password">
<password>****</password>
</xsl:template>

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

ただし、password要素が空でないネームスペースに属しているならば、予めxmlns:foo="ttp://..."としておいて、match="foo:password"としなければならない。
xmlns="ttp://..."としておいてmatch="password"としてもだめ。
nobodyさん [sage] 2006/08/18(金) 18:36:22ID:???

お、出来た! W3C の <xsl:copy> のところに書いてありますね。意味が分からんかったのでスルーしてましたが。
nobodyさん [sage] 2006/08/26(土) 03:28:19ID:???
すみません、文字列の一括置換は XSL でどうやったら良いんでしょうか。
XML から JavaScript の文字列リテラルに変換するときにエスケープする必要があるのですが。

<foo>say "good morning"</foo>
 ↓
var msg = "say \"good morning\"";
nobodyさん [sage] 2006/09/27(水) 01:19:07ID:???
XSLT内で外部のJavaScriptファイルを読む宣言をするとIEでホワイトアウトするのですが。
諸事情により内部に直接JavaScriptを書きたくなくて。。
どうしたらよいのでしょうか?
nobodyさん [sage] 2006/09/27(水) 02:25:20ID:???
document関数はXMLしか読み込めないよ。Javascirptを読もうとするとエラーになるので多分それでホワイトアウトしてる。
<script src="(スクリプトのURL)"/>
みたいな要素を出力した方がよいかと。

#エスパーレベル低いので外してるかな?
485 [sage] 2006/09/27(水) 09:27:24ID:???
分かりにくい書き方してすんません。
で、ご指摘の方法でやっていたんですがうまくいきません。
むしろJavaScriptソースを直接書けば動きます。
Firefoxならどっちでもちゃんと動くんですけど。。

もう少し詳しく状況を説明しておくと
・JavaでXSL変換を行っている
・変換後データはStringとして吐き出される
・それをそのままサーブレットのPrintWriterを使って表示
してます。
nobodyさん [sage] 2006/09/29(金) 01:06:23ID:???
>487
<script src="(スクリプトのURL)"/> でリンクしたJSファイルと
PrintWriterが吐くページのエンコーディングが合ってないとかか?
nobodyさん [sage] 2006/10/03(火) 16:26:40ID:???
>487
文字コードはすべてUTF-8で統一してあります。
さらに、response.setChar〜でUTF-8を設定してあるので完璧。。だと思います。

javascriptのソース次第でなんとなりそうな気もしてきたのでとりあえずそっちで試行錯誤してみます。
nobodyさん [] 2006/10/26(木) 13:25:08:5D6Zlz9T
変鉄もないxmlファイルのルート以下のタグ名をmethodはhtmlで表示させるだけのxsltがなにも表示されません。
環境のせいだと思うのですがIE5で動作しますか?
起動時は拡張子xslのファイルをダブルクリックするだけです。
事情により環境をいじれないので確認させてください。
よろしくおねがいします
nobodyさん [] 2006/10/26(木) 18:28:24:Ni4Tuu8+
ウンコ
nobodyさん [sage] 2006/10/26(木) 18:34:48ID:???
元となるXMLにXSLTを<?xml-stylesheet ...?>で関連付けて、そっちを開けばOK。
nobodyさん [] 2006/10/26(木) 18:38:30:5D6Zlz9T
492
記述が漏れていてごめんなさい。
手順はそのようにしています。
nobodyさん [sage] 2006/10/30(月) 11:26:45ID:???
XML+XSLTのformからPostされたページをリロードすると、
データの再送信が行われないんだけど、
これってXSLで再送信するように変更することはできる?
nobodyさん [sage] 2006/11/18(土) 20:13:39ID:???
ブラウザの仕様のような気がする。
nobodyさん [sage] 2006/11/19(日) 06:15:00ID:???
JavaScript のリテラル部分に値を埋め込みたいんだけど、" → \" とかの変換て XSL でどうやるの?
nobodyさん [sage] 2007/01/25(木) 13:51:41ID:???
テンプレートの呼び出しについてですが、
呼び出されたテンプレートで、呼び出し元の要素名を使いたいです。
どのようにすればいいですか?
nobodyさん [] 2007/01/25(木) 14:20:29:GKXwIW4P
俺もテンプレートで聞きたいことが。
例えば

<fruit>
<apple>うまい</apple>
<banana>あんまりすきじゃない。</banana>
フルーツ。
</fruit>

っていうXMLがあったとして、
「フルーツ。」の部分にテンプレート適用したいんだが、
XPathとかで指定できないの?
nobodyさん [sage] 2007/01/26(金) 01:44:49ID:???
XQuery, XSLT 2 and XPath 2 Are W3C
Recommendations

だそうな。



呼び出し元が親の場合:
select="local-name(..)"
そのほか、親の親なら"local-name(../..)"


親以外から呼ばれる場合:

呼ぶ方:
<xsl:apply-template select="ほげほげ">
<xsl:with-param name="parent" select"."/>
</xsl:apply-template>

呼ばれる方:
<xsl:template match="ほげほげ">
<xsl:param name="parent"/>

<xsl:value-of select="local-name($parent)"/>
</xsl:template>


<xsl:apply-template select="text()"/>
ただし、appleとbananaの間などの空白や改行にも適用される。
498 [] 2007/01/26(金) 06:55:42:BzbrIFkB

どうも!できた
nobodyさん [sage] 2007/02/14(水) 12:09:05ID:???

半年以上経っているが…

Firefoxでページほぼ全てを選択(全部はダメ)→
右クリックから「選択した部分のソースを表示」
これで行ける。
nobodyさん [sage] 2007/02/14(水) 14:32:44ID:???
半年経ってりゃVerもあがるわな
nobodyさん [] 2007/03/15(木) 02:01:11:Qxvsm42D
手詰まってます。質問させてください。
servletでIEにXMLを返却して、サーバに置いてあるXSLTを読ませて画面を表示させたいです。
↓レスポンスのXML
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="サーバに置いてあるXSLTのパス"?>

画面の表示はできたのですが、レスポンスが異常に遅いです。
HTTPのリクエストを確認したところ、
IEがサーバからXMLを受け取ってから、XSLTに対して再度HTTPリクエストを投げるのに時間がかかっているようです。
これはIEのXMLプロセッサ(MSXML)の問題なのでしょうか?
そうなのであれば、レスポンスを向上させる手段としてどういった方法が一般的なのでしょうか?
何かご存知の方、いらっしゃいましたら助言いただきたいです。
よろしくお願いします。
nobodyさん [sage] 2007/03/15(木) 02:18:33ID:???
XMLのサイズ小さくしてみたらどうなる?
503 [] 2007/03/15(木) 02:32:34:Qxvsm42D
XSLT入門ページにあるような簡単なXMLで試してみましたが、結果は同じでした。
nobodyさん [sage] 2007/03/30(金) 22:01:54ID:???
>503
IEにXMLの変換をやらせるんじゃなくて、サーバ側で変換した結果をクライアントにかえしたら?
nobodyさん [] 2007/03/31(土) 11:26:38:jJ1h8S+F
XSLT2.0/XPATH2.0が勧告されているんだが...

興味無いか...○| ̄|_
nobodyさん [sage] 2007/04/03(火) 01:44:44ID:???
具体的に何が変わったのかは気になる
nobodyさん [sage] 2007/04/05(木) 19:40:38ID:???
力いっぱい亀レスしてみる。


<xsl:template match="foo">
<xsl:text>var msg = "</xsl:text>
<xsl:call-template name="escape">
<xsl:with-param name="str" select="."/>
</xsl:call-template>
<xsl:text>";</xsl:text>
</xsl:template>

<xsl:template name="escape">
<xsl:param name="str"/>
<xsl:if test="string-length($str) != 0">
<xsl:variable name="char" select="substring($str,1,1)"/>
<xsl:choose>
<xsl:when test="$char = '\'">\\</xsl:when>
<xsl:when test="$char = '&quot;'">\"</xsl:when>
<xsl:when test="$char = '&#10;'">\n</xsl:when>
<xsl:when test="$char = '&#9;'">\t</xsl:when>
<xsl:otherwise><xsl:value-of select="$char"/></xsl:otherwise>
</xsl:choose>
<xsl:call-template name="escape">
<xsl:with-param name="str" select="substring($str,2)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
nobodyさん [] 2008/03/05(水) 06:00:45:d95zJRJ0
SourceForge.net: PHP - XML_XSLT2Processor
ttp://sourceforge.net/projects/xslt2processor/
JavaのXSLT2.0プロセッサ(SaxonとAltovaXML)をPHPで使えるようにするためのクラスらしい

ttp://xiss.g.hatena.ne.jp/orzccc/20080301/php_xslt2processor 経由
nobodyさん [sage] 2008/03/26(水) 19:55:43ID:???
XSL-FOの話題はここでいいの?
nobodyさん [sage] 2008/03/26(水) 23:41:09ID:???
いいんでないの
ほかにスレもないし
nobodyさん [sage] 2008/04/12(土) 16:43:38ID:???
すいません、XSLTの使用を今日から検討し始めたド初心者です。
掲示板の様な物を作成する為に、掲示板のタイトルと本文と書き込み日時をXMLで出力するPHPを書き、
別途表示の為のXSLTをスキンとして固定ファイルで用意しようと考えているのですが、
この方式で何処まで出来るのかがわからず、戸惑っています。

質問1:
例えば掲示板で良くある処理として、「3日以内の書き込みの場合にタイトルの最後に[最新情報]と追記する」等がありますが、
掲示板XMLのデータが「タイトル」「本文」「書き込み日時」しかなかったとした場合に、
XSLT側で[最新情報]と追記する方法はあるのでしょうか?

質問2:
仮に固定ファイルのXSLTでは「質問1」の処理が出来ないと仮定した場合での質問なのですが、
これらの処理の実現方法として、PHPで作成されるXML側で日付を判断し、
<status>NEW</status>
等を挿入しておくという方法を考えてみたのですが、
XML+XSLTでこの様な方法は一般的に行われているのでしょうか。(変じゃないですか?という事です^^;)

質問3:
XSLTを使う目的が「掲示板のスキン(見た目)変更をしやすく」といった目的なのですが、
質問1や質問2で例に挙げたような機能をいくつも追加した場合、
かえってスキンPHPファイルを用意してそれを変更するほうが簡単になってしまうのではないかと思ってしまいます。
スキン機能をXML+XSLTで実現するか、PHPで実現するか、どちらの方が良いか率直なご感想をお聞かせ願えないでしょうか?
(XSLTであればこんな時便利なはず!等etc...)
nobodyさん [sage] 2008/04/12(土) 17:46:42ID:???
A1.
無理

A2.
俺だったら要素じゃなくて属性を使うかもだけど
まあ好きにすればいいんじゃないの

A3.
世の中XSLTに対応したブラウザばかりじゃないとか
XSLTで込み入ったことをやろうとすると果てしなく面倒くさいとか
そもそもXMLにこだわる必要がどれだけあんのかとか
いろいろ思うことはあるけど
まあ好きにすればいいんじゃないの
nobodyさん [sage] 2008/04/12(土) 18:11:14ID:???
XSLTってどうみても帯に短し襷に長しだよな
もっと割り切った仕様にすればいいのに
中途半端に文字列処理とか入れるから
nobodyさん [sage] 2008/04/19(土) 01:12:06ID:???
A4.
お前が好きだ
nobodyさん [sage] 2008/04/20(日) 18:54:06ID:???
つまんね
nobodyさん [sage] 2008/06/11(水) 03:05:25ID:???
xalanを実行するときに元のXML文書に文書型宣言が含まれていると、xalanが
validationを行いDTDを毎回ダウンロードしてしまうのですが、これを止める
ことはできないでしょうか。xalanはjava版でバージョンは2.7.0-5です。
nobodyさん [] 2008/06/21(土) 10:42:11:k45WphEu
XSL-FOのテーブルで

<fo:table>
 <fo:table-row>
  <fo:table-cell><fo:block>(短いテキスト)</fo:block></fo:table-cell>
  <fo:table-cell number-rows-spanned="2"><fo:block>(すごく長いテキスト)</fo:block></fo:table-cell>
 </fo:table-row>
 <fo:table-row>
  <fo:table-cell><fo:block>(短いテキスト)</fo:block></fo:table-cell>
 </fo:table-row>
</fo:table>

これをレンダリングするとセルの大きさが
-------------------------
|********|**************|
|--------|**************|
|****  |**************|
|    |**************|
|    |************ |
|    |       |
-------------------------
このようになってしまいますが、左の列の高さを均等にする方法内でしょうか
事前に計算しろという選択肢は無しで
nobodyさん [sage] 2008/06/21(土) 10:43:16ID:???
だいぶずれてしまいましたねorz
nobodyさん [] 2008/06/21(土) 23:22:26:Cd2mCbay
XMLファイルAの中の要素1に入っている、
「〜〜.html%3FA」
というURLを
xslで、
<xsl:value-of select="要素1"/>
と指定して変換したXMLを見ると、%3FAの部分が「?」に
なってしまって、リンクできないんですけど、対処法
ご存知の方居ませんかね?
nobodyさん [] 2008/06/21(土) 23:41:49:Cd2mCbay
521ですが、どうも勘違いしていたようで。。。
<xsl:value-of select="要素1"/> の指定でも出力されたXML自体は
のソースちゃんと%3FAになってました。

%3FAを エンコード済みの?と解釈してしまっている側の問題ですね、
本質的には。
ただ、ブラウザを弄るのは現実的ではないので、何とかxsl側で対処
出来ないでしょうか。
nobodyさん [sage] 2008/06/21(土) 23:53:44ID:???
お騒がせしてすみません。
出力されたXMLをhtmlにもう一回変換して
ブラウザから見たらちゃんとしたURLへの
リンクに成ってました。
RSS出力してた時はリンクが上手く飛ばなかった
んですが、同じ<a〜〜>のタグでも、ブラウザは
RSSとHTMLで違う解釈するんですね、、、
nobodyさん [sage] 2008/08/23(土) 12:22:35ID:???
相変わらずの過疎スレ
需要ないのかなあ
nobodyさん [sage] 2008/08/24(日) 23:33:07ID:???
使い方によっては面白いんで適当に使い始めたけど
PHPだと言語側の対応がイマイチで使いづらいんだ。
nobodyさん [sage] 2008/08/25(月) 09:55:30ID:???
「なにがなんでもXML」みたいな風潮じゃなくなったのもあるかな
nobodyさん [sage] 2008/10/31(金) 11:22:13ID:???
XSLTバイブルだれか譲ってくれませんか?

nobodyさん [] 2009/02/13(金) 15:22:35:X83R2PAW
for-each使って、指定したノードが存在する回数分、テキストを配置していくプログラムが作りたいです。
fo:block-containerで直接的に画面内での座標指定をしているため、その時の周回の回数から座標をY方向に計算してズラしながら配置していきたいです。

CやJavaでは、forの構文では、この中でiを見ればいま何週目か?を参照できます。
for(int i=0;i<回数;i++){
〜処理〜
}

が、
XSLTのfor-each文(もしくはその他)で、これと同じように、内部から「現在何回目か」を見る方法ってありますか?
xsl:variableでは変数なのに代入はできないそうで困ってます。
nobodyさん [sage] 2009/02/13(金) 15:31:04ID:???

ループの中で何番目か調べるのはposition()

<xsl:for-each select="/parent/child">
<xsl:value-of select="position()" />番目のノードです
</xsl:for-each>
ただし最初が0でなく1なので要注意
nobodyさん [] 2009/02/13(金) 16:09:55:X83R2PAW


ありがとうございます。
ループに関しては思ったとおりのことができました。

XSLTでは、再代入できる変数のようなものを使うことは不可能ですか?
ループ以外でも、XSLT内で計算するために、蓄積的に数値を足していける変数を使いたいのですが。
nobodyさん [sage] 2009/02/13(金) 18:12:20ID:???
そういうのはcall-templateのパラメータを使う
nobodyさん [] 2009/02/18(水) 16:06:36:/wQ0UVxh
XSL:FOの構文で、HTMLで言うところの<hr>に相当するタグってありますか?
nobodyさん [sage] 2009/04/17(金) 04:58:20ID:???
自宅サーバ用に XSLT サーブレット作ったんで良かったら使ってください。
sourceforge.jp でソース公開してます。
ttp://www.koiroha.org/kwt/xsl/index.xhtml
nobodyさん [] 2010/01/11(月) 13:37:58:x+0DsgF/
保守
nobodyさん [age] 2010/01/14(木) 11:50:46ID:???
良スレ上げ (∩´∀`)∩
nobodyさん [] 2010/08/26(木) 10:38:32:CJC7O04v
<良スレ:age />

既に前レスから半年、ここ、まだ誰かいるかなぁ

XSLTで、例えば元データにaltタグが無ければ変換をエラーにするといったことは出来るのでしょうか?
簡易html-lintとして使えると嬉しいっす
nobodyさん [sage] 2010/08/26(木) 13:46:34ID:???
そういうのはXMLバリデータの仕事なんじゃ
nobodyさん [sage] 2012/02/29(水) 07:12:13.10ID:???
質問です。

@のような構造のXMLがあり、
@に従うデータがAのような形できます。
Aにおいて、Aは親で、BはAの子、
CはBの子となっており、Bのような形に変換したいです。

このときxsltではどのようにかけばよろしいでしょうか?

@ABのイメージは次レスで書きます。
nobodyさん [age] 2012/02/29(水) 07:12:37.26ID:???
-----------@----------
<choice>
 <element type="A">
 <element type="B">
 <element type="C">
<choice>
-----------A-----------
<A>
<B>
<C>
<C>
<B>
<B>
<C>
-----------B-----------

<A>
 <B>
  <C></C>
  <C></C>
 </B>
 <B></B>
 <B>
  <C></C>
 </B>
</A>
nobodyさん [sage] 2012/03/04(日) 02:16:44.31ID:???
いまいち何がやりたいんだかよく分からないけど
XMLじゃないデータ (2) をXMLであるデータ (3) に変換したいってこと?
だったらそれはXSLTの仕事ではない
nobodyさん [] 2012/09/13(木) 16:58:26.02:2LiGXsgg
xmlのツリーに、いくつものbookDescriptionがあります。
<table>
<bookDescription>
<bookCode>
<price>100<price>
</bookCode>
  <title>X</title>
〜〜〜
</bookDescription>
</table>
な感じで、bookDescriptionをpriceでascendingで表示したいと思います。
xsltで<xsl:sort select="bookCode/price" order="ascending"/>を入れるとエラーが出でしまいます。

nobodyさん [] 2012/09/13(木) 16:59:36.50:2LiGXsgg
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="ttp://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<xsl:apply-templates />
</html>
</xsl:template>

<xsl:template match="table">
<body>
<h2>Test</h2>
<xsl:apply-templates/>
</body>
</xsl:template>


<xsl:template match="bookDescription">
<!--<xsl:sort select="bookCode/price" order="ascending"/>-->
</xsl:template>

<xsl:template match="bookDescription">
<table border="1">
<tr>
<td><xsl:value-of select="bookCode"/></td>
<td><xsl:value-of select="title"/></td>
</tr>

</table>
<br />
</xsl:template>
</xsl:stylesheet>
どうすればいいのでしょうか?
nobodyさん [sage] 2012/09/14(金) 01:56:17.60ID:???
にーとがひまつぶしに実験したので間違えてる可能性大ですが
こう書くとエラー無くそれらしく表示されました
<xsl:template match="table">
<body>
<h2>Test</h2>
<xsl:apply-templates>
<xsl:sort select="bookCode/price" order="ascending"/>
</xsl:apply-templates>
</body>
</xsl:template>
nobodyさん [] 2012/09/14(金) 06:24:33.02:B4mrueCy

無事できました。
ありがとうございます。
nobodyさん [sage] 2014/01/15(水) 12:22:25.95ID:???
XSL/XSLT
nobodyさん [sage] 2014/01/22(水) 10:21:56.60ID:???
XSL
nobodyさん [] 2014/06/29(日) 13:39:21.42:dCDFM+DD
◎2chスレッド勢いランキングサイトリスト◎

★+ニュース板
・ 2NN (推薦)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推薦)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推薦)
・ READ2CH
・ i-ikioi

※ 要タイトル名検索
※ 2chブラウザ併用推奨
nobodyさん [sage] 2014/07/31(木) 09:58:51.14ID:???
ぬるぽ
nobodyさん [age] 2015/01/24(土) 00:21:23.20ID:???
XSL/XSLT
nobodyさん [sage] 2015/01/24(土) 02:05:19.28ID:???
俺が当初に言ったとおり、
糞な技術だったよなこれw
nobodyさん [] 2015/12/04(金) 21:00:28.84:3kTScjwO
会社で使ってるんだけど、
これ覚えてて需要あるかな?
自分、ただのプログラマ
nobodyさん [sage] 2017/08/02(水) 11:25:11.01ID:???
テンプレート各種あるが、たいがいデータベース操作まで書けちゃうよな。
この現状を一言で言うと、PHP化。
マジアホかと思う。

統一的にテンプレートはXSLTだけで良くないか?

分離がわりと明確。
資格があるからスタッフの最低限能力を保てる。

少なくともこれらのメリットがある。

デメリットは、「&amp;」とかかな。
しかし、資格があるから、ここらへんのマークアップの初歩くらいはクリアできている人を雇えるわけで、問題無いか。
nobodyさん [] 2017/12/30(土) 12:37:45.92:YhlYw6jg
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

8YYDKVBRAU
nobodyさん [sage] 2018/02/20(火) 04:59:08.56ID:???
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

2ch勢いランキング 全部 1- 最新50 WebProg板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したキャッシュです。元のページはこちら。削除についてはこちら