Strict TaskとGeneral Task、制約条件をつける

会社で引き続きDITAの勉強会をやっています.今まではDITA 1.1ベースの「DITA 概説書」(DITAコンソーシアム訳)でしたが、途中でDITA 1.2でないともう古すぎるという話になり、英語版原書の「Introduction to DITA Second Edition」に切り替わりました.今…

itemgroupとは何か?

むかしtask/taskbody/steps/stepの実装をしようとしたとき、要素モデルの中にitemgroupが出てきて「こりゃなんだ?」と言われたことがありました.プラグインでは、itemgroupを基本的にブロック要素でレイアウトしようとしたのですが(実際そうしないと見た…

マイクロソフト伝説マネージャーの世界№!プレゼン術

私自身はあまりプレゼンを行う機会はありません.あまりというよりほとんどないのが本当です.昨年仕事のオファーがあって、必死に提案プレゼンをお客様に行ったのが、今考えれば最後です.(プレゼンが悪かったのか、結局失注しました!)という訳でどちら…

DITAを学ぶ

今さらと言われるかもしれませんが、会社でDITAの輪読会をずっとやっています.テキストはJoAnn Hackos博士の「DITA概説書」,DITAコンソーシアムによる訳で2010年の発刊です.原書が「Introduction to DITA - A User Guide to the Darwin Information Typing…

Stackoverflowの世界

私がいわゆるパソコンをやり始めた頃はまだインターネットなんて普及しておらずもっぱらモデム+電話回線を通じてのいわゆるパソコン通信でした.ダイアリングしてモデムが相手のモデムと同期するまでスピーカーからピー、ガガーという音がして、同期が終わ…

DITA Festa 2017

DITA Festa 2017 今年も恒例のDITA Festaが東京六本木の東京ミッドタウン/富士ゼロックスを会場に開催されました.今回も会社から「いいよ!」と言われたので出張で参加させていただきました.今回最も興味深かったのは1日目最初のセッションの、「DITA 導入…

Windowsのシンボリックリンク

恥ずかしながらシンボリックリンクというものはUnix専門と思っていてWinodwsにあるのを知りませんでした.例えば会社ではバージョン管理システムでSubversionを使用しています.Subversionはサーバーにあるリポジトリから任意のフォルダを指定して作業コピー…

XSLT 2.0で便利になった機能(59) ロケーションステップでの式記述

今まで知らなかったといえばそれまでなのですが、掲題の機能は非常に便利です.一般的にソースドキュメントからなにがしかの値を求める場合、ロケーションステップを使用します.例えば /doc/chapter/sect/p など.でもこれを求めるときに入力ドキュメントに…

DITA儲かりまっか?個人的妄想(その3)

以下はあくまでも私の妄想です.実在の組織、人物には関係ありません. という訳で、そんな妄想ならとお感じになられた方は読み飛ばしてください. DITAが開く可能性というのは"Intelligent Content"(知的コンテンツ)を作れるということになるのではと思い…

XSLT3.0への道(32) 使ってみた感想

XSLT 3.0はやはり実際の開発現場で使ってみるべきだと思います.そうしないとなかなか感触というものがわからない.(もちろん顧客の条件でおいそれとXSLTのバージョンを上げるわけにはゆかない場合もあるでしょうが) ちなみにXSLT勧告上の従来の2.0との違…

DITA儲かりまっか?個人的妄想(その2)

以下はあくまでも私の妄想です.実在の組織、人物には関係ありません. という訳で、そんな妄想ならとお感じになられた方は読み飛ばしてください. 「DITA儲かりまっか?」といってもこれはDITAを生業としているベンダーのお話ではありません.いわば私たち…

DITA儲かりまっか?個人的妄想(その1)

以下はあくまでも私の妄想です.実在の組織、人物には関係ありません. という訳で、そんな妄想ならとお感じになられた方は読み飛ばしてください. [あるDITAユーザとの会話] (ユーザーA)DITA入れてどうですか? (ユーザーB)うちは以前はほとんどFrame…

XSLT3.0への道(31) パッケージを試してみる(その2)

ちょっと進んで(?)次のように複数のパッケージを試してみます. [test-pkg-xslt3.xsl]

XSLT3.0への道(30) パッケージを試してみる(その1)

2017年の4月頃からずっとxsl:packageに興味を持ちいろいろやってみたのですが、仕様を読む力不足でなかなか動くところまでたどり着きませんでした.すこしだけですが試せるところまで来れたので、紹介します. まずxsl:packageを作るのは、それほど難しくあ…

XSLT3.0への道(29) ついにXSLT3.0は勧告となりました.

XSLT 3.0は2017年7月8日にW3C勧告となりました.以下はxsl-listに投稿されたEditorのMichael Kayのものです.せっかくなので日本語訳してみました. Subject: [ANN] XSLT 3.0 and Saxon 9.8 From: Michael Kay <mike@saxonica.com> Date: 2017/06/09 2:26 To: xsl-list <xsl-list@lists.mulberrytech.com> XSLT 3.</xsl-list@lists.mulberrytech.com></mike@saxonica.com>…

XSLT3.0への道(28) パッケージとは何なのか?..

そもそもパッケージとは何なのでしょうか? Saxonのメーリングリストなんかを見ているとMichael Kay博士はまずXSLT 3.0の記述を読んでほしいといっています.という訳で、2.8 Packages and Modulesを自分なりに訳してみました. In previous versions of the…

&#160;Office&#160;Open&#160;XML&#160;File&#160; Formatsのスキーマの誤り

DITAからMicrosoft Wordに落とす(変換する)というのは結構重要だと思います.今でこそXSL-FO⇒PDFになっていますが、いったんXSL-FOに落としてしまうといわゆる「ちょっと直す」ということがほとんど不可能になってしまうからです.まあDITAのパブリケーシ…

XSLT3.0への道(27) 閑話休題:無名関数で再帰する.

XSLT 2.0はxsl:functionが導入されて、これがXPathの中から呼び出せるのでずいぶんと便利になったものです.よくある関数の再帰でも、例えばxのn乗を求める場合、 <xsl:function name="ahf:powerOfY" as="xs:integer"> <xsl:param name="prmX" as="xs:integer"/> <xsl:param name="prmY" as="xs:integer"/> <xsl:choose> <xsl:when test="0 lt $prmY -1"> </xsl:when></xsl:choose></xsl:param></xsl:param></xsl:function>

石楠花

毎度のことながら5月の連休は農家でなければもっとゆっくりできるのにと思います.今年は長くとれば9連休の方もおられたのかもしれませんが、家で田んぼを作っていると田植えの準備で毎日毎日何かは仕事をしなければなりません.圃場の草を刈ってみると、今…

XSLT3.0への道(26) パッケージへの期待

XSLT 3.0ではパッケージが導入されます.そしてどうもパッケージについては、いろいろと勉強しなければならないことが多そうです. まず初めにXSLT 2.0までのXSLTスタイルシートの開発方法について振り返ってみました.例えばDITA-OTのプラグインのスタイル…

XSLT3.0への道(25) Exselt XSLT プロセッサ

XSLT 3.0は2月にW3Cの勧告候補(Candidate Recommendation)も出て佳境の感じがします.実は私がXSLT 3.0に期待していることの一つにパッケージ機能があります.これは機会があったらまた書きたいと思いますが、今までのXSLTのxsl:include/xsl:importによる…

2017年のトレンド

毎年この時期(DITA North Americaの前)に発表されていたと思うのですが、CIDM(Center for Information-Development Management)とDCL(Data Coversion Laboratory Inc.)が行っているトレンドのアンケート結果の発表のWebinarがありました.3/30の夜中に…

スキーマトロンを作ってみる.

どうもいつまでたってもDITAのスキーマはDTDが主流のようです.でもDTDではいつまでたっても属性値や要素の値を適切な値に強制することができません.そういうときに力を発揮してくれるのがSchematron(スキーマトロン)です.今まであまり作ったことがなか…

XSLT3.0への道(24) 閑話休題;その昔と今のマイクロソフト

もう昔なので確たる年は忘れてしまいましたが社長から「XMLに命をかけろ(!?)」と言われて、XSLTの勉強をしだしたのが2000年頃だっと思います.XSLT 1.0は1999年11月に勧告になっていましたが、そのころ和書でXSLTが載っている本と言えばこのCD-ROMがオマケ…

年度末がやってきた!

3月です!年度末です.毎年ほぼ同じようなパターンでお仕事がやってきます.年度内検収必須!という訳で結構忙しくなります.あと今年の年度末はちょっと違います.いよいよ新入社員が4月から来てくれます.今どき貴重な新入社員に呆れられないようにと、オ…

XSLT3.0への道(23) 配列型(オマケ)

前にも述べましたがXSLT 3.0の「高階関数」の機能はオープンソースのSaxon HEでは使えません.と思っていたら最新のoXygenで外部プラグインとして、最新の9.7.0.15が使用できるとのメールがありました.早速ダウンロードして見ると次のように組み込むことが…

XSLT3.0への道(22) 配列型

次々と技術が進化するのでとてもキャッチアップできませんが、2月7日はXSLT 3.0にとって特別な日になったようです. XSL Transformations (XSLT) Version 3.0 W3C Candidate Recommendation 7 February 2017 https://www.w3.org/TR/2017/CR-xslt-30-20170207…

HTMLから覗き見るCSS組版とXSL-FO組版

DITAのHTMLへの変換をやっていてしみじみわかるのですが、HTMLへの変換をカスタマイズするのにCSSをちょこちょこっと修正して、それが一発で生成したHTMLに反映されるのはある意味「快感」です.何かとても自分がすべてをコントロールしているように思えてく…

DITA-OT標準のリテラル文字列を変更/追加する

ずっとXL-FO⇒PDF一本でしたが最近はHTMLもやっています.HTMLというとDITA-OTについてくるプラグインはまだまだそっけないですが、oXygenについてくるWeb Helpはそこそこの見栄えもあって完成度も高く、使用しておられるお客様も多いようです. さて、Web He…

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

キャラクタマップ(xsl:character-map)についてはすでに以前書きましたのでダブルポストです.xsl:character-mapは、XSLTスタイルシートで入力XMLを出力XMLに変換し、それを実際のファイルに書き出す(シリアライズ)するときに、自動的に「指定した文字」…