2010-01-01から1年間の記事一覧

Word2010で苦戦...

年末年始休みというのに、仕事がうまく区切りがつかないと気になっていやなものです. 実はWord2010+アドインで苦戦しています.今までWord2003+VBAでやってきてなんの問題もなかったのですが、Word2010でVS2010で作ったアドインから自社製の同じActive-X…

閑話休題: 比較演算子(2)

前回比較演算子のことについて書きましたが、まだ例はAtomic valueとシーケンスの比較でした.シーケンス同士の比較になると、知っておいた方が良いことがあります.(実際のスタイルシートで問題になるということはほとんどないと思いますが...) ■ "="も"!…

DITA 1.2

ちょっと前になりますが、12月14日OASISでDITA1.2がStandardとして承認されました.以下のURLにニュースがあります. http://www.oasis-open.org/news/oasis-news-2010-12-14.php 肝心の1.2の仕様ですが、以下からダウンロードできます.仕様書の日付は12月1…

閑話休題: 比較演算子

スタイルシートでは必ず比較演算子を使用すると思いますが、みなさんはどの比較演算子をお使いでしょうか? 一般比較演算子: "=", "!=", ">", "<", "<=", ">=" 値比較演算子 : "eq", "ne", "gt", "lt", "le", "ge" XSLT1.0からXSLT2.0へスタイルシートを移行…

XSLT 2.0で便利になった機能(37) 数値型、演算子

XSLTといってもいわゆる「文書型」のXMLを変換するのと、「データ型」のXMLを変換するのとでは事情が変わります.私はもっぱら「文書型」のXMLの方しかやっていないので、数値型の詳細や演算子に触れる機会がなかったのですが、見る機会がありましたので紹介…

XSLT 2.0で便利になった機能(36) &quot;&gt;&gt;&quot;演算子

まず使うことはないと思っていた">>"演算子ですがたまたま使う機会がありましたので紹介します. 少し話がややこしいのですが、DITAを使っているお客さんがいます.<ol>の出力要求仕様があって、<ol>の入れ子レベルによって、1. 2. 3. と a. b. c. と i. ii. iii.と</ol></ol>…

ボロボロのXSLTスタイルシート

委託先からXSLTスタイルシートの納品を受けました.お客様に納品するものですが、私の会社で工数的に無理だったのでお客様の了解をいただいて外部に委託したものです.受け取ってコードを見て、そのあまりのひどさに愕然としました.複数のXMLファイル出力が…

秋菊

晩秋で朝晩は相当寒くなりました.霜も珍しくなくなり、早朝はまるで薄く雪が降ったように見えるときさえあります.菊はこのような時期でも最後まで花を咲かせていてくれています.数少なくなった花を求めて蜜蜂が一生懸命に蜜を吸っています. かたはらに秋…

XSLT 2.0で便利になった機能(35) コンテキストアイテム

コンテキストアイテムについての話です.どちらかといえば便利になったというよりは、拡張と制約の話ですが. コンテキストアイテムは"."で表されます.XSLT1.0を使っておられる方でしたら、"."は何かと問われれば間違いなくカレントノードと答えるでしょう…

XSLT 2.0で便利になった機能(34) デフォルトネームスペース

いまやXMLはどこもかしこも(?)XMLはネームスペースの世界です.あのDocBookもネームスペースが導入されています.DocBookのインスタンスを作成するとき、たぶん次のようにデフォルトネームスペースとして"http://docbook.org/ns/docbook"を指定するでしょ…

中央アルプスの初雪

11月になりさすがに寒くなりました.中央アルプスも初雪です.写真は街から見た中央アルプスの北部、将棋頭山.すっかり雪をかぶっています.一番左端はこの前TLMで行った権現山.よくあんなところまで行ったものだと自分でも驚きます.もうバイクの季節では…

Windows 7 + 5576-002

お客さんの会社ではずっとWindows2000を使ってこられたのですが、いよいよWindows 7に移行するとのこと、日経のニュースで読みました.私のマシンもメインがPentium 1.7GHz 512MBという貧弱なマシンだったのですが、お客さんのWindows 7移行のテストのために…

XSLT 2.0で便利になった機能(33) 文字列中の&quot;&#039;&quot;

ベーシックな文字列のの話です.どちらかといえばXSLT2.0というより、XPath2.0の範疇ですが. 私の作っているXSLT1.0のスタイルシートですが、お客さんのところでLinuxサーバーとスタンドアロンのWindowsの両方で使っていただいています.Linuxサーバーの方…

RHEL4インストール

お客さんにRed Hat Linuxで会社の製品を使っていただいています.今般製品のバージョンアップに伴ってRHELもRed Hat Enterprise Linux 4に上げることになったとのこと.私の方で、製品の動作試験の仕事が回ってきました.手元にはRHEL 3のマシンがあるのです…

動かないDITA-OT

そうでなくとも日本ではマイナーなDITA-OT(DITA Open Toolkit)を使っています.どういうわけか会社の2台のマシン(デスクトップ)では何の問題もなく動くのですが、NoteのThinkPad(なんとまだX40)では、どうしても動きません.何回やっても必ずエラーが起…

えっ!16時30分からの会議

なんど昨日は16時30分からの東京での会議です.別に都内に住んでいる人は何ということはない時間ですが、田舎からこの時間にお客様と会議となると頭が痛くなります.会社は朝から出て、昼からバスに乗って都内へ行けば間に合いますが、さて帰りはどうしよう…

XSLT 2.0で便利になった機能(32) xsl:message

スタイルシートをデバッグするときはどのような方法を使っておられるでしょうか?この前Visual Studio 2010の試用版をインストールしたら、.xslのファイルをクリックするとVisual StudioのIDEが開くようになってしまいました.Visual Studio 2010では、XslCo…

XSLT 2.0で便利になった機能(31) use-when属性

スタイルシートを作成するときはどんな構成にするでしょうか?私は納品するものでなくとも後で使うだろうというものは大体次のような構成にしています. xxx_shell.xsl --- 以下の.xslをincludeする. xxx_main.xsl --- メインコントロールの処理 xxx_param.…

閑話休題: xsl:attribute-set

前回はxsl:attribute-setの悪口を書いてしまいましたが、本当はいいやつです.何が良いかといえば、use-attribute-sets属性が使えるからです.これにより階層的なスタイル構造を作ることが出ます. Microsoft Wordをご存知でしょうか?これを書いているPCはW…

XSLT 2.0で便利になった機能(30) xsl:attribute

xsl:attributeについて変更点を紹介したいと思います.xsl:attributeはその名のとおり属性ノードを生成するものです.XSLT2.0からはselect属性がつきました.今までは <xsl:attribute name="font-weight> <xsl:choose> <xsl:when test="string(@bold)='yes'"> <xsl:value-of select="'bold'"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="'normal'"/> </xsl:otherwise>

紅玉

緊急のプレゼン準備で土日もずっと出勤していたので頭の中が仕事だらけになってしまいました.久しぶりの休みに女房とデパートに行ったら季節の食品売り場コーナーに一かごだけ私の好きな林檎が置いてありました.品種は「紅玉」、昔からのいわゆる酸っぱい…

XSLT 2.0で便利になった機能(29) xsl:numberを使う

xsl:numberについて紹介したいと思います.xsl:numberはXSLT2.0になっても大きな変更はありませんでした.select属性が加わったことだけの違いです.しかし、この違いは大きいです.従来は、カレントノードからしかカウントができませんでした.select属性を…

彼岸花

稲刈り後の土手にニョキニョキと生えていたので近寄ってみたら彼岸花でした.父がモグラ除けに植えたものですが毎年稲刈りの時期に花を咲かせます.以前はモグラの穴で上の田の水が下段の畑に漏れ出してしまって大変でしたが効果は抜群のようです. 彼岸花と…

XSLT 2.0で便利になった機能(28) xsl:next-matchを使う

xsl:next-matchについて紹介します.xs:next-matchは、複数のマッチングするテンプレートがあった場合に、最終的に選択されたテンプレート内から、次の優先順位でマッチングするテンプレートを階層的に呼び出せる機能です. 例えばDITA→XSL-FOでxsl:next-mat…

久しぶりに...

連休で「亭主元気で留守がいい.バイクでも乗ってきたら!」と女房が言うのでお言葉にあやかって久しぶりにTLMで西の里山に行ってきました.里山と言っても、権現山と言いれっきとした中央アルプス西駒ケ岳の登山道があります.前回はTYS125Fで途中で引き返…

XSLT 2.0で便利になった機能(27) キャラクタマップ

今回はxsl:caharacter-map、xsl:output-characterについて紹介したいと思います. この機能は主に「見る」文書を出力する際に使うものだと思います.例えば従来HTML出力では、HTMLで定義されている実体参照を書き込もうと思っても、disable-output-escaping…

萩の花

萩はやさしい秋の花です.私の大好きなNHKのラジオビタミンを聞いていたら、ノンフィクション作家の千葉望さんが、「万葉集で一番詠まれた花です」と言っておられました.調べてみたら確かにそうで、萩はダントツの一位です.(萩、梅、松の順) http://www2…

XSLT 2.0で便利になった機能(26) ソーティング

xsl:sortはXSLT1.0と比べてパラメータにcollationとstableが追加されていますが基本は変わっていません.しかし、selectで指定する式の自由度がXSLT2.0になって高くなっています.またXSLT1.0ではノードのソートしかできませんでしたが、XSLT2.0では任意のse…

稲刈り

今日、区の協業組合の方が稲刈りに来てくれました.今年は一区画しか稲を植えていなかったので、およそ30分もかからないうちにあっという間に刈り取りは終了しました.昔は近所の方にもお願いして、稲刈り鎌で一本づつ刈り取って束ね、ハゾと呼ばれる竹を渡…

閑話休題: 平坦なXMLを構造化する

前回の応用で、xsl:for-each-groupのグルーピングの属性、group-starting-withを使って、平坦なXMLの構造化をやってみました. あまり現実味がないと面白くないので、今回はソース文書としてWord2003の出力するWordMLを使います.Word2007、2010でもWord2003…