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

つながる世界、分断される世界

DITA-OT Day 2015/DITA Europe 2015に参加する機会を得て、名古屋から13日11時45分で出発し、ヘルシンキ経由でミュンヘンに到着したのは現地時間で13日の20:00でした時差が8時間ありますので、日本ではもう14日の朝方4時ということになります. へとへとにな…

DITA-OT Day 2015 (報告)

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

XML、XSLT

先月久しぶりに出張があった名古屋に行ったのですが、会議の始まるまでに時間があったので駅の周辺をぶらぶらしていました.たまたま三省堂があったので入ってみたのですが、やはりコンピューター関係のところに目が移ります.さすが三省堂で大きな棚がいく…

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%"を指定するもので…

XSLT2.0で便利になった機能(57) Xpathのコメント

XSLTというよりは、XPathの話なのですが、この前DITA-OTのxslフォルダのスタイルシートを見ていたら次のようなコードが出てきました. <xsl:if test="(:not(@linking) and :)not($parent-linking='none')"> あまり見慣れていない"(:"と":)"という表記があります.これは何かというと実はXPathの中に書けるコメントです. エッ!</xsl:if>…

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

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

あたらしい憲法の話

8月14日の安倍首相の戦後70年談話をじっとテレビで聞いていて「なんと白々しい官僚の作文か!」と本当に心の底から怒りが湧いてきました.次の15日、家族と平和のための信州・戦争展に出かけました.そこで大変懐かしい本に出合いました.それは受付の横で販…

「このレイアウト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からリリー…

GitHubのエディタAtom

そうあまり使う機会はないのですが、いざというときにないと困るソフトってよくあるものです.例えばマークダウン(.md)を書くときはやはり専用エディタが欲しくなります.GitHubに出すときあらかじめ結果を見ておかないとやはり困るからです.マークダウン…

【番外】 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…

3RW-W0795-00 (その2)

3RW-W0795-00のセローのキックスターターキットの部品がようやく揃いました!!!やはり年月が経つとパーツは高くなってしまうのですが、それでも海外からウン万円で買うよりはずっと安く済みます.これを購入先のバイク屋さんに宅急便で送って取り付けても…

再利用の代償

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

XSLT2.0で便利になった機能(56) xsl:analyze-string

すでに取り上げていますが、xsl:analyze-stringをもう一度使ってみる機会がありましたので紹介します. 目的は"($Index_Indent_Value) * %level + 2mm"のようなスタイル記述の文字列で、"$"で始まっている変数的なものを取り出して値で置換する、他はそのま…

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>…