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
1.2k
0
Share
スキマトロン(Schematron)勉強会 / 20150513-xml-Schematron
スキマトロン(Schematron)勉強会
日時:2016年5月13日 15時から17時
場所:科学技術振興機構 別館4F-H会議室
XSPA
May 16, 2016
More Decks by XSPA
See All by XSPA
JATS XML初心者実践セミナー_20260116_ Nakanishi Printing Company, Ltd
xspa2012
0
200
J-STAGEの全文XML化推進について_20260116_Japan Science and Technology Agency
xspa2012
0
83
即時オープンアクセス義務化とXML推進_20250729_ Nakanishi Printing Company, Ltd
xspa2012
0
130
J-STAGEの現況とメタデータの重要性_20250729_ Japan Science and Technology Agency
xspa2012
0
95
力任せ法_20250609_ Nakanishi Printing Company, Ltd
xspa2012
0
99
eXtyles3B2-JATS-XML_20250609_komiyama printing co.,Ltd..
xspa2012
0
87
OxygenとAntenna House Formatterで作る_20250609_Antenna House
xspa2012
0
70
即時OA時代のJATS XMLの重要性_20250609_ Nakanishi Printing Company, Ltd.
xspa2012
0
73
AI活用_20250609_ Nakanishi Printing Company, Ltd.
xspa2012
0
110
Other Decks in Technology
See All in Technology
データ分析基盤の信頼を支える視点と設計
yuki_saito
1
640
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
290
その英語学習、AWSで代替できませんか?
suzutatsu
1
240
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
4
480
long-running-tasks
cipepser
2
310
checker.tsにチキンレースを仕掛けてみた:型エラー(TS2589)が発生する境界線を求めて
hal_spidernight
1
200
【ハノーバーメッセ振り返りイベントat名古屋】データは集約からAI起点の収集に ~組織内・組織間でのデータ連携~
tanakaseiya
0
110
GitHub Copilot CLI の Rubber Duck 機能を使ってコーディングの品質をあげよう #techbaton_findy
stefafafan
2
1k
シンデレラなんかになりたくない!ガラスの靴が割れた時代にどう歩く?
nomizone
0
190
GitHub Copilot のこれまでとこれから: From Copilot to Collaborative Agents
yuriemori
1
180
まだ道半ば、AI-DLCを歩み始めている話
news_it_enj
2
170
Agentic Design Patterns
glaforge
0
180
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Navigating Weather and Climate Data
rabernat
0
200
Rails Girls Zürich Keynote
gr2m
96
14k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
530
Site-Speed That Sticks
csswizardry
13
1.2k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Designing Powerful Visuals for Engaging Learning
tmiket
1
380
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
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