#ソフトウェア

antでループを実現する

XSLTではなくて本当はantの話なのですが、ついでに書きます. 与えられているミッションはプログラムのバージョン(3バージョン)×XSLTプロセッサ(約3種類)×50言語のテストデータというものです.これをテストしなければなりません.バージョン、XSLTプロ…

あなおそろしきxsl:import

DITA 1.3のインプリメントをやってきてXML mention Domainの実装にさしかかりました.XML mention DomainはXMLの要素(<xmlelement>)や属性(<xmlatt>)を表す要素の集合体です.例えばxmlelementのp@class属性は次のようになっています. class="+ topic/keyword markup-d/mark</xmlatt></xmlelement>…

XSLTスタイルシートから XSLTスタイルシートを作る!

一般的にXSLTスタイルシートはコツコツと手作りするものとずっと考えてきました.しかしある言語関係のテストをしなければならなくなり、さすがに一個一個手作りしていては間に合わなくなりました.というより、言語数が増えすぎて、とても手で作っていては…

DITAは何故かくもむつかしいのか?

昨年だっと思いますがある日本の企業がDITAの導入を検討していて最終的に別のアーキテクチャを採用したというような話を聞いたことがあります.「DITAはむつかしすぎる」というのがその理由とのこと.それ以来ずっと頭の隅でくすぶっていたのですが、本当にD…

DITA-OT 2.2.1のチョンボ

DITA-OTは着々とDITA 1.3対応への準備を進めています.DITA-OT 2.2.xでは次のリリースノートに詳しく記述されています. DITA Open Toolkit 2.2.1 Release Notes http://www.dita-ot.org/2.2/release-notes/index.html#highlights このバージョンからDITA 1.…

DITA 1.3がOASIS標準に!

2015年12月18日のdita-commentsへの告知によれば、DITA 1.3はついにOASIS Standardとなりました.(でもWEBではあまり話題になっていないようです??秘密ではないと思いますが?) ---------- Forwarded message ---------- From: Paul Knight <paul.knight@oasis-open.org> Date: Fri, Dec</paul.knight@oasis-open.org>…

DITA-OT Day 2015 (報告)

去年のHoliday InnからHiltonに会場ホテルが変更になり、またDITA Europe 2015の前の日の開催となりました.事前の打ち合わせ議事録では約70人もの方が参加とのことです.このうちそれなりの割合の方がDITA Europe 2015には参加しないとのことでしたので、DI…

fo:page-sequence-master

この前fo:page-sequenceの話を出しましたのでついでに、そのページレイアウトを規定するfo:page-sequence-masterの話を書きたいと思います.と言っても仕様の解説という訳ではなく、陥りやすい間違いについてです.fo:page-sequenceはmaster-reference属性で…

DITA-OT Day 2015

昨年DITA Europe 2014カンファレンスへ行かせてもらった際に、その続きの日に開催されたDITA-OT Day 2014に参加してきました.いろいろな話が聞けて面白かったのですが、今年のDITA-OT Day 2015はDITA Eupopeカンファレンスの前日の11月15日に予定され、その…

fo:page-sequence ページ番号の制御

非常に素朴と言うか基本的な話なのですが、fo:page-sequenceのページ番号の制御で以前ハマっている例を見たことがあります.fo:page-sequenceというのは、XSL-FOのfo:rootの下の中核的なオブジェクトで一連の同じ特徴を持ったページコンテンツの集まりです.…

画像をオーバーフローさせずにページに収める.(2)

画像がページの縦方向(ブロックの進行方向)にオーバーフローするのを防止するのにはどうしたら良いのでしょうか?実は横方向(インラインの進行方向)の場合、max-width="100%"としてやればすみました.これは次のようなものになります.つまり左インデン…

画像をオーバーフローさせずにページに収める.(1)

以前横幅の大きな画像を左インデントを考慮してページ右端までに収めるXSL-FOのコーディングを紹介したことがあります.それは、画像をfo:block-containerで囲んで、fo:external-graphicにcontent-width="scale-down-to-fit", width="100%"を指定するもので…

DITA 1.3の便利なフィルタリング属性deliveryTarget

DITA1.3はなかなか勉強する時間がありません.でも今度正式なスキーマになるRELAX NGで特殊化のサンプルを作ってみました.さてそれで実際に文書を作り、どんなことがDITA 1.3でできるのか考えていたとき、deliveryTargetというフィルタリングの属性が加わっ…

「このレイアウトDITAでできますか?」

前から会社で話題になるときがあるのですが、DITAの導入でお客さんからやはりこう聞かれることがあるのだそうです.でもたぶん営業の人は一瞬答えに窮してしまうでしょう.何故でしょうか? まずDITA自身はOASISが定めたオーサリングアーキテクチャです.そ…

属性の特殊化

属性の特殊化ってやったことはありますでしょうか?既存のDITAの要素に自分の組織にあわせて便利な属性をつけようというものです.よくあるパターンでは次のようなものがあります. 1.xrefでトピックに対する相互参照を行うとき、参照先トピックの表題/参…

DITA 1.2 + XML Schemaの幻想(2)

「ああなんと簡単か!」と思ったのですが感激したのはそこまででした、と考えたのは次のような理由です. たまたまあとになってやめましたが、image/@placement="inline|block"に対して、"flost-left|float-right"を加えようと考えました.しかしそれはでき…

DITA 1.2 + XML Schemaの幻想

昨年DITA Europe 2104に参加させていただきましたが、Eliot Kimberさんのセッションで「スキーマとして何を使っているか?」という聴取者への質問があって、みんなが該当のものに手を挙げてもらう機会がありました.結果はやはりDTDが大部分で、XML Schemaを…

DITA 1.3を垣間見る

DITA-OT 2.1がリリースされています.DITA-OT 2.xは来るべきDITA 1.3のための実装が進んでいるようなのですが、ともかく私からすると目前の仕事に追われていて見る時間がありません.あとダウンロードしてもDITA 1.3のスキーマ/DTDはそもそもOASISからリリー…

【番外】 Trends in the Technical Communication Industry 2014

2月15日付のCIDM(Center for Information-Development Management)のBest Practices Newsletter(論文集のようなものです)を見ていたら、 The 2014 CIDM survey showed a marked decrease in the number of organizations publishing to PDF. というくだ…

他のスタイルシートをインポートして使う(2)

前に少し書きましたが、要素にマッチングするテンプレートで、インポートされる側にpriority="N"で優先順位をつけていても、インポートする側で一番低いpriorityのマッチングテンプレートをオーバーライドしてしまうと、話がやっかいになってしまいます. 以…

怖いXSL-FO

とある事情でXSL-FOを解析して元のスタイル仕様を探り当てるという仕事をすることになってしましました.いままでXSL-FOは自分が作ったスタイルシートのデバッグのために追っかけることはありましたが、このような目的の仕事はあまり馴染みがありません. そ…

XSLT3.0への道(20) Dimitre Novatchevのトレーニングコース

xsl-listで話題になっているDimitre Novatchevさんのトレーニングコースのお話です.現在次のようなコースがあります. http://www.pluralsight.com/search/?searchTerm=Dimitre%20Novatchev - What's New in XSLT 3.0: Part 1 - The Evolution of XPath: Wh…

他のスタイルシートをインポートして使う.

今まで自分でスタイルシートを作って自分で動かすのが常でした.しかしxsl:importを使用すればベースになるスタイルシートをインポートして、それに対する修正差分のみ記述すれば、少ない工数で目的を達成することができます.いちいちお客様やプロジェクト…

再利用の代償(2)

Kimberさんの反論の主要部分は次のようなものです.(和訳は私の勝手な意訳ですのであらかじめご了解ください.) I am sensitive to these issues: It is a necessary effect of indirection that it adds complexity to the development environment: auth…

再利用の代償

以前紹介した"Linking to a shared topic in a specific publication"という再利用topicが異なるmap(bookmap)に存在した場合、それへのリンクをどのように表すのか?というスレッドに出ているのですが、DITAの再利用に関する議論があります. Linking to a…

DITA 1.3と分冊間参照

昨年の秋のDITA Fest 2014で、来るべきDITA 1.3の紹介がありました.その中で別のbookmapへのリンク、いわゆる分冊間参照がDITA 1.3では出来るようになるというお話がありました.しかし私にはにわかに信じられませんでした.分冊間参照というのはxrefでやろ…

XSLT3.0への道(19) static変数とuse-when属性

XSLT 3.0にずっと触れる機会がありませんでした.先日たまたま<xsl:styleeheet version="3.0">とコーディングする機会があり、久しぶりに3.0の機能を使ってみました.W3Cを見ると昨年の10月でWorking DraftのLast Callという状態になっていますね. さてせっかくなので3.0で便利になった機</xsl:styleeheet>…

XMetaL 10.0とスキーマトロン

XMetaL10が発売になっています. http://xmetal.com/content-xmetal-author/ 10.0の特徴はいろいろありますが、その中にスキーマトロンのサポートがあります. Schematron support – Perform additional validation by applying ISO Schematron rules to a d…

どうにもスタイルシートの仕様がぐっちゃんぐっちゃんで決まらない時

スタイルシートを作っていて、お客様が悪いという訳ではないのですが、どうしても仕様が決まってくれないことがあります.なかなか決まりようがない、無理もありません.実際にやってみたらどうなるのか?がわからないとお客様も実装する方も判断がつかない…

JoAnn Hackos博士のWebinar (4)

JoAnn Hackosさんが成功のカギとしている次のカギは "Mapping out your re-use/reconfigure strategy in advance" 「前もってあなたの再利用/再構築戦略の詳細な計画を立てる」 というものです. このJoAnn Hackos博士のプレゼンの最初に紹介されている、CID…