カテゴリー別アーカイブ: 構造化文書

focheck を使って XSL-FO のマークアップの妥当性を検証する

海外営業担当です。
本日は弊社アイルランドの社員 Tony Graham が開発しました focheck についてご紹介させていただきます。oXygen XML Editor をお使いの方必見です。最後までお読みいただくと focheck の使い方がわかります。ぜひお使いになってください。

XSL-FO を oXygen XML Editor でチェック

XSL-FO は、まずフォーマットオブジェクトとそのプロパティを表すために設計されました。 スキーマに準拠するようには設計されておらず、検証技術を考慮して設計されていませんでした。 その結果、XSL-FO ドキュメントの正当性をチェックする最良の方法は、AH Formatter でフォーマットしてログファイルを確認することでした。
Antenna House の focheck フレームワーク は、oXygen XML Editor を使用中に、Antenna House 拡張機能も含め、XSL-FO ファイルをチェックして修正することをついに可能としました。

フォーマッティングオブジェクトの構造

それぞれの FO に含めることができるものを定義する XSL 1.1 勧告 のコンテンツモデルは、単純です。 しかし、勧告にある記述は、しばしばコンテンツモデルに含まれない FO をも許容しています。
fo:marker はコンテンツモデルには表示されませんが、ほとんどの(ただしすべてではありません)FO の最初の子として使用が可能です。

1-focheck-marker.png
fo:change-bar-begin と fo:change-bar-end は、コンテンツモデルには表示されませんが、ほぼどこでも許可される、 地点を定義する  FO です。

2-focheck-change-bar-begin.png

fo:change-bar-begin と fo:change-bar-end には、スキーマで表現できないプロパティの制約もあります。
XSL 1.1 には、一部のFOが特定のタイプのFOの祖先または子孫として許可されないという制約も更に含まれています。 たとえば、fo:footnote は子孫として別の fo:footnote を持つことはできません。 明らかに、fo:footnote の祖先を持つこともできません。

3-focheck-footnote.png

プロパティ値

各 XSL-FO プロパティで許可されるタイプは、XSL 1.1 勧告で定義されています。 ただし、XSL-FO ファイルのプロパティ値は、必ずしも単一の値であるとは限りません。 ほとんどのプロパティは、 ‘2pt + 6em’ のような式にすることもできます。 AH Formatter は  ‘2pt + 6em’ を評価してから結果が正しいかどうかを判断する必要があります。 focheck は、AH Formatter のように、式を解析するパーサーを含んでいます。 focheck はプロパティ値の式を評価し、結果のタイプをチェックします。 ‘ from-table-column()’ などの XSL 1.1 で定義されているすべての関数名や Antenna House 拡張機能を認識し、パラメータをチェックしますが、まだ関数を評価していません。 AH Formatter とは異なり、focheck は、 ‘font-family’ や  ‘border’ など、異なる構文を使用するプロパティを一部解析しません。

4-focheck-property.png

警告を追加

focheck は、エラーではない条件についても警告することができるので、AH Formatter には問題はありませんが、おそらく意図したものではありません。 たとえば、fo:flow または fo:static-content に非標準の  ‘flow-name’ 値があり、 ‘region-name’ の値が一致するページ領域がない場合は、エラーではありません。fo:flow または fo:static-content は単に使用されないだけです。 これは設計によってというよりも偶発的に発生する可能性が高いため、focheck はこれらの不一致と、決して使用されない ‘region-name’ の値について警告します。

5-focheck-flow-name.png

XSL-FO のリストは、’provisional-label-separation’ と ‘provisional-distance-between-starts’ プロパティをfo:list-blockに設定し、なおかつ 各 fo:list-item-label  に ’end-indent’ を、各 fo:list-item-body に ’start-indent’ を設定してリスト項目のラベルと本文との間隔を指定します。 これらのいずれかが見つからない場合は、エラーにはなりません。 AH Formatter は、XSL 1.1 勧告に従って、各プロパティに対して継承または初期値を使用します。 しかし、これはおそらく期待したものではないので、プロパティのいずれかが見つからないときに focheck が警告します。

6-focheck-list.png

オーサリングのサポート

XSL-FO は手作業で作成することを目的としたものではありません。 ほとんどの人は XSLT を使用して XSL-FO を生成しています。開発者以外や、サポートスタッフあるいは AH Formatter をテストまたは文書化している人以外に手作業で XSL-FO をオーサリングする必要のある人はほとんどいません。 ほとんどの人にとって、XSL-FO をオーサリングする唯一の理由は、後で XSLT 変換の出力として自動的に生成されるものを試作することです。

XSL-FO をオーサリングする必要がある場合、focheck は、現時点で許可されている FO またはプロパティのリストを提供してくれるので、役に立ちます。

7-focheck-structure-editing.png

また、FO 又はプロパティを説明するポップアップツールチップを表示することもできます。

8-focheck-tool-tip.png

また、focheck では問題の報告だけでなく、XSL-FO の一般的な問題をいくつか修正する「クイック修正」も行うことができるようになっています。例えば、上記のような警告があれば、クイック修正をします。

focheck を入手する

focheck は、2015年にリリースされた oXygen 17 以降の oXygen XML Editor にバンドルされています。ただし、oXygen の focheck バージョンは 2015 年以降に更新されていません。最新の focheck バージョンを入手して、 oXygen アドオンとして focheck をインストールすることができます。
GitHub から focheck をインストールするには:

  1.  [ヘルプ] メニューから [新しいアドオンをインストールする] を選択します。 9-focheck-help-new-add-on-install.png
  2. アドオンの場所にhttps://github.com/AntennaHouse/focheck/raw/master/add-on-ja.xml を入力し、「focheck」を選択してインストールを続行します。10-focheck-new-add-on-install.png

仕組みの説明

focheck は、RELAX NG スキーマと Schematron を oXygen フレームワークに同梱しています。 RELAX NG スキーマは、FO の構造に関する規則の大部分、およびプロパティがどの FO に適用されるかの規則を提供しています。 Schematron は、プロパティ値の解析など、RELAX NG で表現できない制約をチェックします。 パーサーは、XSLT として実装され、それは REx パーサジェネレータによる言語構文用の EBNF のバージョンから生成しています。
正確度を保証するために、RELAX NG、Schematron for XSL 1.1 FO およびプロパティの大部分は、XSL 1.1 勧告の XML バージョンにある XSLT を実行することによって自動的に生成します。

ライセンス

focheck はオープンソースであり、Apache License、Version 2.0 の元、ライセンス許容されています。

アンテナハウス海外サイト
http://www.antennahouse.com/
http://rainbowpdf.com/

AH Formatter関連ページ:focheck(oXygen アドオン) – XSL-FO と AH Formatter 拡張仕様のバリデータ


Office Server Document Converter V6.1、Web Interface for OSDC 海外展示会参加報告

海外営業担当2です。

前回(7月末)のブログ で紹介させて頂いたTexas 州 Austin での 展示会SDxE(と同時開催の Channel Partner Evolution 9/25~27)に参加して参りました。 市内中心部の4階建てコンベンションホールに出展者数 200 社以上の規模の展示会、ネットワークイベントです。地元テキサスだけでなく全米各地から最新の参加者が来ていました。

長野県の自宅から羽田で東京本社のスタッフと合流し、ロサンジェルスを経由してテキサス州オースチンまでほぼ24時間。東京現地でニューメキシコ州在住のアメリカ人スタッフとも無事合流。
テキサス州の州都で、テキサス大学(学生数:約5万人、アメリカンフットボールの強豪校)のある街です

こちらの展示会では、7月に日米でリリースした Office Server Document Converter V6.1 と、Web Interface for OSDC を英語圏でも売りこむべく、アンテナハウスUSAと日本本社の製品紹介を載せた英語版パンフレットを準備して各社ブースを廻って来ました。サーバー経由での高速、大容量、高精度の文書変換をアピールして来ました。

*  英語版チラシ(日本取扱製品)
SDxE-flyer

*  会場の外観(Austin Convention Center)

DSC_0217

会場の外観(Austin Convention Center)

今回はソフトウエア関係、マーケティング、オンラインマガジン出版社などを中心に 10 数社と話しをする事ができました。すぐに売り上げ増につなげるのは難しいかも知れませんが、全体的にのんびりした雰囲気だったので、じっくりお話させて頂いたブースもあり、マーケティングのヒント等も頂きました。これを次のステップに繋げられるよう引き続き頑張って行きます。

製品紹介サイト(英語)
http://rainbowpdf.com/about-us/
https://www.antennahouse.com/antenna1/

久しぶりに訪問したアメリカはトランプ政権の影響か、すっかりセキュリティーが厳しくなっていて、羽田空港で買ったお土産用のお菓子まで中身を検査される状況で入国検査は長蛇の列となっていました。アメリカ旅行で乗り換えを方は時間に余裕を持ってお出かけ下さい。

*  テキサス州庁舎の写真

DSC_0221

テキサス州庁舎の写真

 

*  オースチン市内の観光バス

DSC_0220

オースチン市内の観光バス

 


『アンテナハウス得意技フェア』いよいよ明日開催!!

アンテナハウスは長年培ってきたシステム開発力と提案力を活かし、企業内のシステム構築のための支援ツールとして、システム開発者、システム・インテグレータ向けに、独自技術によるシステムコンポーネント製品を数多く開発し、日本国内及び海外に販売してまいりました。

この度、弊社主催の展示会『アンテナハウス得意技フェア』において【We love PDF!~PDFを使い倒そう!~】をテーマに、「PDF技術」と「文書レンダリング技術」を生かした製品をご紹介させていただきます。

■ 講演内容 セミナー会場:4階第2集会室
□ 10:30-11:30 【書けまっせ】を使いこなすためのテクニック大公開!
□ 13:00-14:00 大幅に機能アップした【瞬簡PDF統合版10】 のご紹介!
□ 14:15-15:15 PDFの生成・表示・加工まで 自由自在のコンポーネント製品 をご紹介メドレー
□ 15:40-16:20 開発者が自ら語る!【PDF Server V3.1】 の最新バージョンと導入事例

◆ 開催概要
―――――――――――――――――――――――――――――――――――
■ 開催日時 2017年10月20日(金)10:00~17:00
■ 会場 中央区産業会館3階(受付/展示会場)
東京都中央区東日本橋2-22-4
■ 申込先 http://www.kokuchpro.com/event/ahfair1020/

当日は、3階の展示会場で各製品のデモをご覧頂けますので、是非とも足をお運びください。


『AntennaHouse AHPDFXML 変換ライブラリ』の用途は?

『AntennaHouse AHPDFXML 変換ライブラリ』は PDF を XML に変換するライブラリです。お客様から、XML に変換することでどのような用途に利用できるか?との問い合わせを度々頂きます。

そこで今回は、XML 変換することで、どのような事が出来るのか、活用方法をいくつかご紹介致します。

  • PDF コンテンツの活用
    ・PDF に入っている画像を抜き出し、画像の活用。
    ・表だけを抜き出し、データベースへ転用。
  • 位置情報の取得で、意味のあるテキストを抜き出し
    ・帳票の決まった位置にあるテキストを取得して帳票の振り分けや、データベースへ転用。
  • PDF からの変換、再構築
    弊社 AHFormatter を合わせて利用することで、
    ・PDF から HTML、EPUB、DocBook 形式等への変換に利用。
    ・元の PDF のレイアウトを変更して再度 PDF の生成に利用。
  • PDF チェッカーとして活用
    ・出力した XML を比較して改定箇所のチェックに利用。
    ・フォント(フォントタイプ・サイズ)情報、版面のサイズを取得。

評価版をご用意しております。
AntennaHouse AHPDFXML 変換ライブラリ 評価版のお申し込み

是非使ってみてください。

AntennaHouse AHPDFXML 変換ライブラリ
https://www.antenna.co.jp/pdfxml/


「Formatter Club セミナー2017冬」開催 緊急予告!

ご無沙汰をしています。Formatter Clubセミナー事務局です。

大盛況のうちに終えることができた7月7日のセミナーを自画自賛したきり、3ヶ月間の惰眠を貪っておりました。
この間、AH Formatter V6.5が公開され、前回のセミナーで予告した開催時期の11月も迫って来たということで、生存確認も併せて、次回「Formatter Club セミナー2017冬(仮称)」の予告をさせていただきます。

既に、Formatter Clubの会員の皆様にはご案内をしていますが、12月のお忙しい時期と重なりますので(11月開催ではなかったのかとの突っ込みについては、また別の機会にご説明を差し上げます)、取りあえずご予定だけでも押さえていただければと思います。

==============================================================
□ AH Formatterユーザーのための事例紹介セミナー「Formatter Club セミナー2017冬(仮称)」を開催致します。

■ 開催日:12/8(金)午後
■ 会場:未定(東京都内)10月下旬確定予定
■ 講演内容

  • AH Formatter V6.5製品案内とお役立ち機能紹介
  • 事例紹介
    株式会社ウイング様:ドキュメント出力管理システム
    株式会社ニューキャスト様:新規事例
  • AH Formatter周辺事情:内容未定
  • XML関連製品案内
    CAS-UB:新バージョン機能紹介
    AHPDFXML:(私達が考えた)お薦め利用法ご紹介

※講演内容については変更の可能性もありますことをご了承願います。

会場、日程等の詳細については、改めてご案内をさせていただきます。
==============================================================

なお、講演向けの導入事例紹介については、引き続き募集をしております。
是非とも「AH Formatter」を使った事例を公開したい、「AH Formatter」を組み込んだオリジナルアプリの発表の場にしたい、という方がいらっしゃれば、ご連絡をいただけますでしょうか。

また、「講演の時間は取れないが」と言う方は、AH Formatterの導入事例 でご紹介をさせていただきます。
如何に困難を克服したかなどのトピックがあれば、同様の課題を抱えている方の参考になると考えています。

今後も「AH Formatter」を導入されているユーザーや、関心を持っていただいている皆様と開発者とを繋ぎ、会員同士の交流、情報交換により製品の利用技術を向上させ、より皆様のお役に立てる製品としていくために努めてまいります。

次回「Formatter Clubセミナー2017冬(仮称)」も、乞うご期待!

「Formatter Club」へ参加ご希望の方は、紹介サイト より、参加申込書用 PDF をダウンロードしていただき、ご記入の上メールもしくは FAX でお申し込みください。
メールアドレス:naganawa@antenna.co.jp または nukaga@antenna.co.jp(Fomatter Club 事務局担当)
FAX 番号:03-5829-9024
また、「Formatter Club」へご要望も、同様の連絡先宛にお願い致します。


『We love PDF! ~PDFを使い倒そう!~』 ご紹介します、アンテナハウスの得意技!

連日となりますが、『アンテナハウス得意技フェア』の紹介が続くことになりました。

偶然のいたずらか、セミナー当事者のブログ当番が連続したという、内輪の事情によるもので、ある意味十分に予測できたことではあるのですが、「ネタが被った」などと臆することはなく、これでもかと行かせていただきます。

内輪話をついでにもう一つ。
セミナー申込サイト のセミナータイムテーブルをご覧いただければわかりますが、セミナー会場が2カ所に分かれます。
『まるごと! スキャナ保存セミナー』と『We love PDF! ~PDFを使い倒そう!~』とサブタイトルを掲げています。
統一性が無いとか一貫性が無いとか、突っ込みも聞こえてきそうですが、弊社の「得意技」と呼べる製品をとにかく持ち寄って、バザーと言うか縁日と言うか、そんな雑多の空間でそれぞれの製品をご紹介しようというのが事の始まりでして、如何に自分の店先に客寄せするか声の限りに競い合っているのが、ただ今の状況となります。

そんな訳で、今回は私の担当する『We love PDF! ~PDFを使い倒そう!~』(4階第2集会室)を中心にご紹介をさせていただきます。

ところで、セミナーのサブタイトルに付けた「We love PDF!」、お気づきの方も多いでしょうが、本ブログの前身となるタイトルをもじったものです。
やはり、原点はここにあるのではないかとの思いも込めてみました。

==============================================================
アンテナハウスは長年培ってきたシステム開発力と提案力を活かし、企業内のシステム構築のための支援ツールとして、システム開発者、システム・インテグレータ向けに、独自技術によるシステムコンポーネント製品を数多く開発し、日本国内及び海外に販売してまいりました。

この度、弊社主催の展示会『アンテナハウス得意技フェア』において【We love PDF!~PDFを使い倒そう!~】をテーマに、「PDF技術」と「文書レンダリング技術」を生かした製品をご紹介させていただきます。

■  講演内容 セミナー会場:4階第2集会室

□ 10:30-11:30  【書けまっせ】を使いこなすためのテクニック大公開!
□ 13:00-14:00  大幅に機能アップした【瞬簡PDF統合版10】 のご紹介!
□ 14:15-15:15  PDFの生成・表示・加工まで 自由自在のコンポーネント製品 をご紹介メドレー
□ 15:40-16:20  開発者が自ら語る!【PDF Server V3.1】 の最新バージョンと導入事例

==============================================================
4つのセミナーを用意していますが、できれば通しで聴いていただくことをお奨めします。

「PDF技術」と一言で言いますが、PDFの生成、編集、加工、Office変換、OCR変換、PDF書き込みを始めとして、様々な機能があります。これらを、利用環境に合わせて製品化したものを、それぞれの担当からご紹介を致します。

前半の2件は、デスクトップでのPDF活用に便利な「瞬簡PDFシリーズ」ご紹介です。

● 続くシステムコンポーネント製品は、サーバに組み込むことを前提としているため、一般の方にはちょっと敷居が高いと感じるかもしれませんが、それぞれの機能を知っていただければ、是非とも業務に活用したいと思うこと請け合いです。機能の違いを中心に、一気にご紹介いたします。
一言で各製品の機能紹介。

  • PDF Driver API:各種ファイルをPDFに変換
  • PDF Tool API:PDFファイルの加工、編集、情報取得
  • Office Server Document Converter:MS-Officeの無い環境でPDF変換
  • Office変換ライブラリ:PDFファイルをOffice形式に変換
  • AHPDFXML変換ライブラリ:PDFファイルをXML形式に変換

実際はもっと奥が深いですから、是非とも足をお運びください。

● 最後の【PDF Server V3.1】は、サーバサイトで使用することを前提に、PDF活用に便利な機能をパッケージ化した製品で、コンポーネント製品のように構築の手間いらずにお手軽に導入できます。

製品の種類が多すぎて、環境や用途によってどの製品が最良の選択なのか分からない。
単品で要件が実現可能なのか、製品の組み合わせが必要なのか、ライセンスの種類や契約の形態など、 直接ご質問をいただければ即解決いたします。
4階のセミナー会場だけではなく、3階の展示会場にもスタッフが待機していますので、お気軽に足をお運びください。

◆ 開催概要
―――――――――――――――――――――――――――――――――――
■ 開催日時  2017年10月20日(金)10:00~17:00
■ 会場  中央区産業会館3階(受付/展示会場)
東京都中央区東日本橋2-22-4
■ 申込先  http://www.kokuchpro.com/event/ahfair1020/


CAS-UB 9月28日の保守更新でEPUBアクセシビリティの機能強化

アンテナハウスの電子書籍制作サービスCAS-UBは、9月28日の定期保守更新でEPUBアクセシビリティ関連の機能強化しました。

一番大きな項目は、紙の本(PDF)を元にEPUBを制作するとき、原本のページ区切り位置(ページ分割マーク)をEPUBの中に設定する機能です。これにより、例えば、教室で紙の本と電子書籍(EPUB版)の両方を一緒に使って授業するとき、先生が紙の本でページ数を指定すると、EPUB版で読んでいる生徒も一緒に指定されたページを開けるようになります。

具体的にはEPUBのテキスト(XHTML形式)の中に、ページ分割マークをIDとして設定します。そして、ページ番号の一覧を表示するページ(ページリスト)を用意しておいて、EPUBリーダーがページリストからそのページにジャンプできるようにします。

便利な機能とは思いますが、普及はまだまだのようです。

◎普及していない原因としては次のことが考えられます。
サポートするEPUBリーダーが少ない。リーダーの機能としては、実現は難しいことではないと思います。しかし、今、市場に出回っているEPUBリーダーは残念ながらページリストを表示する機能をサポートしていないものが多いようです。

制作の手間がかかる。数百ページの本になると、1つのEPUBの中に数百のIDを埋め込まないといけないので、制作作業も負担になりそうです。

◎CAS-UBでは、ユーザー指定IDのマークアップ機能がありますので、これを利用してページマークを記入できるように工夫しました。

さらに、サンプルがないと実際には使い方を理解してもらいにくいかと考えて、サンプルを用意しました。サンプルは2種類あります。

(1)「暗号舞踏人の謎」(アーサー・コナン・ドイル著、三上於菟吉訳、青空文庫NDC K933)を利用して、PDF版を制作し、PDF版のページ番号をEPUBに設定したサンプル。

(2)上のサンプルは、タイトルと見出しがなく、本文中にページ分割マークを記述しています。しかし、実際にはタイトルや見出しにページ分割マークを設定する方法が重要そうです。そこで二つ目のサンプルとして、「タグ付きPDF とはなにか」という冊子作成しました。

いづれも、次のページからダウンロードしていただくことができます。

CAS-UBは本日の定期保守で、EPUBアクセシビリティ関連の機能追加などを行う予定です。

関心のお持ちの方はご覧になってみてください。


[XSL-FO] side-float 使ったリストの謎

こんにちは。
AH Formatterサポート担当です。
ドラクエがまだ終わりませーん。
やり込み要素は全部クリアしないと気が済まないタイプです。
最強装備全て揃えるまで頑張ります。
えと、ドラクエも FF も初代からリアルタイムでやっております。
(あっ、年がばれる)
3DS のすれ違い通信機能、田舎なんで誰にも会いません。。。車移動だし。

少し前のブログで、AH Formatter(XSL Formatter)の発売当初から携わっているというお話を
書かせていただきましたが、
xx年もやっております間に、
国内/海外のたくさんのお客様の XSL-FO を見てきました。
こちらが勉強になるようなテクニックもたくさんありました。

そんな中でひとつ、ずーーーーっと疑問に思っていることがあるのです。
それは、リストを fo:float で実装されるケースが度々あること。

簡単に書くと、こんな感じ。

 <fo:block><fo:float float=”start”><fo:block>1.</fo:block></fo:float>リスト項目の内容です。</fo:block>

実際にはもう少し複雑だったりしますが。

自分で XSL-FO(XSLTスタイルシート)を書いてもリストに fo:float を使ったことはありませんし、
念のため、弊社の XSLT開発の者に聞いてみたんですが、そういう方法は使わない、とのこと。
まぁ、リストは fo:list-block で書くもんだと思ってるからかもしれませんけど。

特定の会社のマニュアルのみとかですと、そういう方針?なのかな?と思ったりしたのですが、
別々のお客様で同じような手法を使われていることがちょくちょくあったりするのです。
これって、どうしてなんでしょう。
どこかにお手本あったりしたんでしょうか?
しかも、日本国内のみで、海外ではまず見たことありません。

XSL-FO のfo:list-block、難しいですか?めんどくさいですか?

リストの構造

うん、めんどくさいかも。。。。

もしこのブログを見たお客様で、
こんな理由で float 使ってるよと教えてくださる方、
いらっしゃいませんでしょうか。

■XSL-FOの仕様紹介:『XSL-FO の基礎 第2版 – XML を組版するためのレイアウト仕様』(クリックで紹介文章へ)


[XSL-FO] margin-top と space-before

こんにちは。
AH Formatterサポート担当です。
先日、私たちが暮らす長野県でもJアラートの音が鳴り響いて驚きました。
朝起きないことで定評のあるわたくしですが、一発で飛び起きました(^^;
一瞬で聴いた人を不安にさせるあの音?メロディ?を考えた人、ある意味すごいなぁと思います。
でも怖かった~。

丈夫な建物か地下に避難してください、って言われても
田舎なんで。。。。。。地下が。。。。ない。。。。(笑)

さて、今日は margin-top と space-before について、です。
margin-top は皆さまご存じのとおり、指定されたブロックの上端側にアキを作ります。
XSL-FO ではもうひとつ space-before というのがあります。
こちらは “before” なのでエリアの before側のアキということで
“top”(絶対位置指定)とはちょっと意味合いが違ってきますが
通常の横書き(lr-tb)の文書ですと “before” と “top” は同じですので
ここでは同じものとしてお話しします。

space-before を使った便利なケースはこんな場合です。

space-before を使った便利なケース

“1.1.1 Tree Transformations” と “1.1.2 Formatting” のサブタイトルのブロックには
どちらも space-before=”24pt” が指定してあります。
ページ途中にある場合は前のブロックとの区切りとしてアキを作り、
サブタイトルがページの先頭にある場合にはアキは不要ということでページ上端から始まります。
サブタイトルのブロックがどこに位置するか、ページの先頭にくるかどうかは
組版してみないとわからないですが、
space-before を指定しておくとこのような組版が可能です。

この振る舞いを定義するのが、
space-before の .conditionality です。
.conditionality の値は “discard” と “retain” です。
既定値は “discard” で、上記のような結果になります。
“retain” の場合は 常に(アキを)残す という意味なので
このサンプルのような場合でも、ページ先頭にアキが作られます。

XSL-FO で書く場合は、space-before.conditionality=”discard” のように指定します。
(既定値が discard なのでわざわざ指定しなくてもこうなります)

XSL-FO は元々 CSS2(2.1)を元に考えられているので
仕様の互換性のために margin-top が残されています。
では、margin-top と space-before のどこが違うのかというと、
この .conditionality です。

margin-top には .conditionality の概念はありません。指定もできません。
さらに (lr-tb のドキュメントにおいて)margin-top が指定された場合は
space-before.conditionality は “retain” が指定されたものとして扱うということが
XSL-FO の仕様で決められています。
space-before の方が実用的に考えられているんですね。

CSS は今のところ、残念ながら space-before はまだありません。
CSS3 の仕様策定が進んでいますので将来的には検討されるのかもしれませんね。

■XSL-FOの仕様紹介:『XSL-FO の基礎 第2版 – XML を組版するためのレイアウト仕様』(クリックで紹介文章へ)

 


[書籍紹介] MathML 数式組版入門

MathML 数式組版入門

昨年 6月に販売を開始した、W3C が定めた数式記述言語 MathML3.0 を使って数式組版を行うための入門書「数式組版入門」を、より MathML をご理解、ご活用いただけるよう、初版の内容を精査し、説明の追加や内容の整理を行い 8月に第1.1版をご用意しました。

本書はこの第1.1版より全文を PDF形式で無料公開しています。是非ともご覧ください。
PDF版

なお POD も販売しておりますので、
紙でお読みになりたい方は次の販売店よりお買い求めください。
販売店:Amazon.co.jp三省堂書店楽天ブックスhonto


Pages: Prev 1 2 3 4 5 6 7 8 9 10 ... 15 16 17 Next