2014-08-01から1ヶ月間の記事一覧

DITA 1.3とRELAX NG

DITA 1.3は2015年の第1四半期を目標に開発が進められているようです.先だってDITA 1.3の概要を紹介するWebinarが開催されましたが、そのプレゼンテーションが以下で紹介されています. Recording of DITA 1.3 Webinar now available https://groups.yahoo.c…

テンプレートと変数(3)

テンプレートの例ですが、変数の方はありきたりでしたのでちょっと極端なものを書いてみました. 次のテンプレートは、戻り値がitem()*で、いろいろな型のインスタンスを返します. <xsl:template name="generateSeq" as="item()*"> <xsl:sequence select="'ABC'"/> <xsl:sequence select="1"/> <xsl:sequence select="3.141567"/> <xsl:sequence select="true()"/> <xsl:element name="element"> </xsl:element></xsl:sequence></xsl:sequence></xsl:sequence></xsl:sequence></xsl:template>

テンプレートと変数(2)

XSLT2.0ではテンプレートと変数の構造は次のように定義されています. 6.1 Defining Templates http://www.w3.org/TR/xslt20/#defining-templates <xsl:template match? = pattern name? = qname priority? = number mode? = tokens as? = sequence-type> </xsl:template>

generate-id()は使うべきではない!?

入力XMLにユニークなidがあれば良いのですが、丁度良いものがなくて出力XMLにidが必要な場合、よくgenerate-id関数を使用します.今までなんの疑問もなく使用してきたのですが、致命的な弱点に出会ってしまいました. 例えばスタイルシートに非常に微妙な修…

テンプレートと変数(1)

XSLT1.0が勧告になり、やがてMicrosoftがMSXML3を出し始めた頃は、結構スゴイということ話題になりました.使い始めたのですが、ともかく動かすこと優先でした.サンプルを見てトライアンドエラーでやっていて、恥ずかしながらXSLT1.0勧告を根本から理解して…

ScalaでRTFをパースする.

会社でたまたまRTFからテキストを抽出しなければならない問題に遭遇しました.RTFというのは私は専門家ではないのですが、実は付き合いだけは長くて、10年前くらいにWordのバイナリーとつき合わせて必死に解析した覚えがあります. WEBを見るとRTF⇒テキスト…

XSLTのキホン

最近XSLTの学習を始めた方がおられました.既存のXSLT2.0のスタイルシートを元にそれを改造するということをやっておられたそうです.そこでたまたまWEBで私のブログを見て参考にしていただいたようなのですが、以下のようにお叱りをいただきました. ① 「思…