Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スキマトロン(Schematron)勉強会 / 20150513-xml-Schematron
Search
XSPA
May 16, 2016
Technology
0
1.1k
スキマトロン(Schematron)勉強会 / 20150513-xml-Schematron
スキマトロン(Schematron)勉強会
日時:2016年5月13日 15時から17時
場所:科学技術振興機構 別館4F-H会議室
XSPA
May 16, 2016
Tweet
Share
More Decks by XSPA
See All by XSPA
JATS XML初心者実践セミナー_20260116_ Nakanishi Printing Company, Ltd
xspa2012
0
94
J-STAGEの全文XML化推進について_20260116_Japan Science and Technology Agency
xspa2012
0
45
即時オープンアクセス義務化とXML推進_20250729_ Nakanishi Printing Company, Ltd
xspa2012
0
100
J-STAGEの現況とメタデータの重要性_20250729_ Japan Science and Technology Agency
xspa2012
0
70
力任せ法_20250609_ Nakanishi Printing Company, Ltd
xspa2012
0
75
eXtyles3B2-JATS-XML_20250609_komiyama printing co.,Ltd..
xspa2012
0
64
OxygenとAntenna House Formatterで作る_20250609_Antenna House
xspa2012
0
55
即時OA時代のJATS XMLの重要性_20250609_ Nakanishi Printing Company, Ltd.
xspa2012
0
58
AI活用_20250609_ Nakanishi Printing Company, Ltd.
xspa2012
0
77
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.8k
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
Webhook best practices for rock solid and resilient deployments
glaforge
1
290
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
200
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
450
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
410
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
180
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
230
配列に見る bash と zsh の違い
kazzpapa3
1
140
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
85
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Site-Speed That Sticks
csswizardry
13
1.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.9k
Context Engineering - Making Every Token Count
addyosmani
9
660
My Coaching Mixtape
mlcsv
0
48
A Soul's Torment
seathinner
5
2.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Information Architects: The Missing Link in Design Systems
soysaucechin
0
770
Transcript
Schematron とは 学術情報XML推進協議会 (XSPA) 時実 象一 2016/5/13 2016/5/13 スキマトロン勉強会 1
Schematron とは • Schematron プログラムは整形式 (well-formed) の XML 文書 •
各要素は「コマンド」 • プログラムは「スキーマ」とも呼ばれる – schema, の他に、specification, rule set, program, pattern set, assertion set, などとも呼ばれる • データの変換はおこなわない • 記述には XPath 1.0 を用いる • プロセッサが必要 (oXygen) 2016/5/13 スキマトロン勉強会 2
Schematron の利用法 • 人がチェックできるようにレポートを出力 (例)「図表のタイトルとキャプションを出力」 • スキーマでチェックできないチェックをおこなう (例)「受理年は 2014 年以降でなくてはならない」
• パターンを発見する – (例)「著者履歴が記載されていない著者の一覧を 出力」 • 要素の値を用語表を用いてチェックする • プログラムの入力と出力を比較する 2016/5/13 スキマトロン勉強会 3
Schematron のテスト例 – 複雑なチェックも可能 • 「図は本文中に引用が必要」 • 「セクション表題の長さは最大450文字」 • 「Lab
Reportの著者の数は最大6名」 • 「引用文献はすべて文中て引用が必要」 • 「図は文中で少なくとも1回、最大5回まで引用」 • 「キーワードは重複してはいけない」 • 「記事の先頭ページは最終ページより小さい、ただし編 集後記は最終ページで始まって、内部ページにつづいて もよい」 • 「出版日は <season> の中以外はISO dates」 • 「抄録は1パラグラフ」 • 「意見欄の筆者は <editor> になる」 2016/5/13 スキマトロン勉強会 4
JATS と Schematron • Schematron を利用すると – JATS XML データの内容の確認ができる
– 人手のチェック作業が大幅に削減できる – 雑誌毎の「ビジネス・ルール」に正しく のっとった製品ができる – 製品の品質が向上する – 学会・著者の満足度が向上する 2016/5/13 スキマトロン勉強会 5
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
Schematron の構造 • Assertions テストする内容 • Messages テストの結果の報告 • Rules
テストの集合 • Patterns Rule の集合 • Phases Pattern を実行するタイミ ング 2016/5/13 スキマトロン勉強会 7
Schematron の実行 • Rule – 一連のテストをまとめたもの <?xml version="1.0" encoding="utf-8" ?>
<schema xmlns="http://purl.oclc.org/dsdl/schematron" > <title>Check Sections 12/07</title> <pattern id="section-check"> <rule context="section"> <assert test="title">This section has no title</assert> <assert test="para">This section has no paragraphs</assert> </rule> </pattern> 2016/5/13 スキマトロン勉強会 8
oXgen での Schematron の実行 (1) • デモ用サンプルあり – https://www.oxygenxml.com/demo/Schematron_V alidation.html
2016/5/13 スキマトロン勉強会 9
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
oXgen での Schematron の実行 (3) 1. XML ファイルを開く 2. 「検証」
> 「次で検証...」 2016/5/13 スキマトロン勉強会 11
oXgen での Schematron の実行 (4) 3. Phase を選択して実行 4. エラーの表示
2016/5/13 スキマトロン勉強会 12
oXgen での Schematron の実行 (5) 5. エラーを右クリック > 「メッセージを 表示」
– Team 要素の個数は @nbrTeams の値と一 致しなくてはならない – <sch:assert test="count(t:Name) = @nbrParticipants">The number of Name elements in <sch:name/> should match the @nbrParticipants attribute.</sch:assert> 2016/5/13 スキマトロン勉強会 13
oXgen での Schematron の実行 (6) 6. XML を修正して Schematron を再実行
– エラー・メッセージは表示されない 2016/5/13 スキマトロン勉強会 14
• このスライドは下記の資料を参考にしていま す。 • 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