Microsoft社、Inso社、ArborText社の3社を中心に提案された
1999-11-16 | XSLT Version 1.0 |
---|---|
2007-01-21 | XSLT Version 2.0 |
<xsl:template match="/">
<xsl:variable name="example" select="..."/>
<xsl:if test="$example = 'foo'"> ... </xsl:if>
<foaf:interest dc:resource="{document('http://...')//foo[@bar='baz']}"/>
<xsl:apply-templates select="child::node()">
<xsl:call-template name="local-navi">
XML Path Language
XML の各ノードへのアクセス・取得
/html/body//li[substring-length(text()) = 40]
語彙集合の区別
<xsl:stylesheet
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:my="http://example.com/">
...
<foaf:interest/>
<my:interest/>
stylesheet version="1.0" {
match (/) {
if (...) {
<example/>
}
↓
<xsl:stylesheet version="1.0">
<xsl:template match="/">
<xsl:if test="...">
<example/>
</xsl:if>
例: ruby-xslt
require "xml/xslt"
class XML::XSLT
def do_this( arg )
...
end
end
xsltp = XML::XSLT.new()
xsltp.xsl = "example.xsl"
xsltp.xml = "example.xml"
XML::XSLT.extFunction("do_this", "http://example.com/ns", xsltp)
print xsltp.serve
ウェブブラウザ搭載の処理系を利用
<?xml-stylesheet href="example.xsl" type="text/xsl"?>
var xsltp = new XSLTProcessor();
xsltp.importStylesheet("example.xsl");
...
User Agent | Processor | XSLT | |
---|---|---|---|
Internet Explorer 6.x | MSXSL | 1.0 (部分実装) | エラーメッセージが他より分かりやすい |
Firefox 2.x | TransforMiix | 1.0 (部分実装) | 出力後のソースコードを見れる |
Netscape 7.x | |||
Safari 1.3 | ? | 1.0 (部分実装) | ? |
Opera 9.x | ? | 1.0 (部分実装) | text/xsl じゃないと読まない |
Processor | XSLT Version |
---|---|
libxslt | 1.0 |
Xalan | 1.0 |
Sablotron | 1.0 |
... | 1.0 |
Saxon (Java) | 2.0 |
AltovaXML (Java) | 2.0 |
「最もタグになる『初心者用言語』は XSLT」
Date | Event |
---|---|
2006-01-01 | 創立 |
2007-07-23 | 設立 |
2007-07-24 | 夏季合宿 |
2007-09-15 | 『Mozilla 24』のプログラムコーディネート |
2007-09-17 | 開発が頓挫 |
2008-03-01 | 開発の再開 |
2008-04-01 | 第一弾ウェブサービスリリース! |
ご清聴ありがとうございました
俺だけど、何か訊きたいことある?
Shibuya.xsl 発足しませんか?