XSLT

XSLT入門(変数編)

XSLTは基本的なことを知ってるだけだから、とりあえずまとめながら勉強していこう。いつまで続くかな。 昨日Hello, world!はやったから、次は変数かな?ということで変数。 XSLTには、xsl:variableとxsl:paramという2つの変数(のようなもの)が存在します。 …

プログラミング言語XSLT

プログラミング言語XSLTの特徴 関数型言語 チューリング完全 引数はすべてキーワード引数 データ構造はすべて木構造(というかXML) 入力データに起動するプログラムを記述する必要がある*1 C++のtemplateよりも遥かに冗長な構文 DSL(XPath)の力を借りないとほ…

末尾最適化はされてない

合計を求めるXSLTに、30000渡したら、 XSL プロセッサ スタックがオバーフローしています。無限のテンプレート再帰が原因となった可能性があります。 だってさ。 以下XSLT本体。 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> </head></html></xsl:template></xsl:stylesheet>

XSLTに計算をさせてみる

とりあえず、階乗を出力するXSLTを書いてみた。 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>factorial</title> </head> <body> <p> </p></body></html></xsl:template></xsl:stylesheet>

サイト記述用言語としてのXML+XSLT

XML+XSLT*1 *2でWebサイトは記述できるけど、Webサイト記述するだけならすでにHTMLやXHTMLがある。 わざわざ長ったらしいXSLT書いてまで、XML+XSLTをサイト記述言語として使う意味ってあるんだろうか? 風呂に入りながらぼーっと考えてたけど、複雑なサイト…

XSLTなんて久しぶりに書いた

2ちゃんを徘徊していたら、たまたまこんなの見つけた。 XML+XSLTでインライン要素ってどうやって実現するの? 例えば、 <top> <block> テキスト<link url="http://example.jp">リンク</link> </block> </top> というXMLがあったときにXSLT側はどうすれば <p> テキスト<a href="http://example.jp">リンク</a> </p> のようにできるの? <top> <block> <text>テキスト</text><link url="http://example.jp">リンク</link> </block></top>