Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スキマトロン(Schematron)勉強会 / 20150513-xml-Schematron

XSPA
May 16, 2016

スキマトロン(Schematron)勉強会 / 20150513-xml-Schematron

スキマトロン(Schematron)勉強会
日時:2016年5月13日 15時から17時
場所:科学技術振興機構 別館4F-H会議室

XSPA

May 16, 2016
Tweet

More Decks by XSPA

Other Decks in Technology

Transcript

  1. Schematron とは
    学術情報XML推進協議会 (XSPA)
    時実 象一
    2016/5/13
    2016/5/13 スキマトロン勉強会 1

    View Slide

  2. Schematron とは
    • Schematron プログラムは整形式 (well-formed) の
    XML 文書
    • 各要素は「コマンド」
    • プログラムは「スキーマ」とも呼ばれる
    – schema, の他に、specification, rule set, program,
    pattern set, assertion set, などとも呼ばれる
    • データの変換はおこなわない
    • 記述には XPath 1.0 を用いる
    • プロセッサが必要 (oXygen)
    2016/5/13 スキマトロン勉強会 2

    View Slide

  3. Schematron の利用法
    • 人がチェックできるようにレポートを出力
    (例)「図表のタイトルとキャプションを出力」
    • スキーマでチェックできないチェックをおこなう
    (例)「受理年は 2014 年以降でなくてはならない」
    • パターンを発見する
    – (例)「著者履歴が記載されていない著者の一覧を
    出力」
    • 要素の値を用語表を用いてチェックする
    • プログラムの入力と出力を比較する
    2016/5/13 スキマトロン勉強会 3

    View Slide

  4. Schematron のテスト例
    – 複雑なチェックも可能
    • 「図は本文中に引用が必要」
    • 「セクション表題の長さは最大450文字」
    • 「Lab Reportの著者の数は最大6名」
    • 「引用文献はすべて文中て引用が必要」
    • 「図は文中で少なくとも1回、最大5回まで引用」
    • 「キーワードは重複してはいけない」
    • 「記事の先頭ページは最終ページより小さい、ただし編
    集後記は最終ページで始まって、内部ページにつづいて
    もよい」
    • 「出版日は の中以外はISO dates」
    • 「抄録は1パラグラフ」
    • 「意見欄の筆者は になる」
    2016/5/13 スキマトロン勉強会 4

    View Slide

  5. JATS と Schematron
    • Schematron を利用すると
    – JATS XML データの内容の確認ができる
    – 人手のチェック作業が大幅に削減できる
    – 雑誌毎の「ビジネス・ルール」に正しく
    のっとった製品ができる
    – 製品の品質が向上する
    – 学会・著者の満足度が向上する
    2016/5/13 スキマトロン勉強会 5

    View Slide

  6. Schematron 実施例
    • SAGE
    • ISO
    – DTDの管理・更新
    • ある航空機・軍需会社
    – 数千のルールを表で管理
    • ある大出版社
    – 雑誌ごとに異なるビジネス・ルールを管理
    • 研究助成情報をCrossrefのFunding Informationと照らして
    チェック (OSA)
    • QA ツールに利用 (De Gruyter)
    • 自社 SGML/XML データの JATS 変換に利用 (AIP, Cambridge
    University Press)
    • oXgen 上で Schematron によるリアルタイム・チェック / 修正
    (le-tex)
    2016/5/13 スキマトロン勉強会 6

    View Slide

  7. Schematron の構造
    • Assertions テストする内容
    • Messages テストの結果の報告
    • Rules テストの集合
    • Patterns Rule の集合
    • Phases Pattern を実行するタイミ
    ング
    2016/5/13 スキマトロン勉強会 7

    View Slide

  8. Schematron の実行
    • Rule
    – 一連のテストをまとめたもの


    Check Sections 12/07


    This section has no title
    This section has no
    paragraphs


    2016/5/13 スキマトロン勉強会 8

    View Slide

  9. oXgen での Schematron の実行 (1)
    • デモ用サンプルあり
    – https://www.oxygenxml.com/demo/Schematron_V
    alidation.html
    2016/5/13 スキマトロン勉強会 9

    View Slide

  10. oXgen での Schematron の実行 (2)
    • sample.xpr > schematron > 1.5 > tournament
    – tournament-schema.sch スキマトロン・ルール
    – Tournament.rng RELAX NG
    – Tournament.xml サンプル XML
    – Tournament.xsd W3G XML Schema
    2016/5/13 スキマトロン勉強会 10

    View Slide

  11. oXgen での Schematron の実行 (3)
    1. XML ファイルを開く
    2. 「検証」 > 「次で検証...」
    2016/5/13 スキマトロン勉強会 11

    View Slide

  12. oXgen での Schematron の実行 (4)
    3. Phase を選択して実行
    4. エラーの表示
    2016/5/13 スキマトロン勉強会 12

    View Slide

  13. oXgen での Schematron の実行 (5)
    5. エラーを右クリック > 「メッセージを
    表示」
    – Team 要素の個数は @nbrTeams の値と一
    致しなくてはならない
    – The
    number of Name elements in should match
    the @nbrParticipants attribute.
    2016/5/13 スキマトロン勉強会 13

    View Slide

  14. oXgen での Schematron の実行 (6)
    6. XML を修正して Schematron を再実行
    – エラー・メッセージは表示されない
    2016/5/13 スキマトロン勉強会 14

    View Slide

  15. • このスライドは下記の資料を参考にしていま
    す。
    • Introduction to Schematron. Version 90-1.0
    (November 2008), © 2008 Mulberry
    Technologies, Inc.
    • Hands On Schematron. Version 3.3 (August
    2014). ©2013, 2014 Mulberry Technologies,
    Inc.
    2016/5/13 スキマトロン勉強会 15

    View Slide