PMC登載データ作成に向けてチップス②「XML編集の方法とPMCのXML(JATS)の基本」
PubMed, 2024.06.03はじめに
こんにちは、トムです。前回の投稿から期間が空いていましたが、今回はPMCのXMLデータ作成とHTML変換のポイントについて紹介します。少しでもXMLの理解に繋がればと幸いです。
前回の「PMC登載データ作成に向けてチップス①」では基本的なことを紹介していますので、まだ読んでいない方は先に①を読んでいただくと分かりやすくなります。
XML編集の方法とPMCのXML(JATS)の基本
XML編集の方法
XMLはテキストベースのデータのため、テキストエディタ、XML編集ソフト、統合開発環境(以下IDE)など、様々な方法で作成・編集できます。以下、それぞれの特徴です。
テキストエディタ:
簡単に編集が可能ですが、構文エラーのチェックは手動で行う必要があります。
XML編集ソフトやIDE:
構文の自動補完やエラー検出などの高度な機能があり、効率的に編集できます。
PMCのXML(JATS)の基本
PMCのXMLは、JATS(Journal Article Tag Suite)という標準フォーマットに基づいて作成します。JATSは、学術論文のメタデータや本文を構造化するための規格であり、論文の内容を正確かつ効率的にデジタル化するために使用されます。
また、複数のプラットフォームでXMLを作成する場合、同じXMLを使用できるようにJATSのバージョンを統一することが重要です。PMCのXML作成にあたり、以下のサイトが参考になります。なお、JATSのバージョン統一は、J-STAGEと同じJATS 1.1のTag Libraryになります。
PMCのXML作成ガイド
PMCのXML作成
XMLは様々な要素や用途に合わせた記述方法がPubMed Central Tagging Guidelinesに掲載されており、データ形式に合わせて適切な要素を組み合わせて作成します。XMLを作成するにあたり、必要最低限な要素と構造の情報および各項目のテンプレートをまとめました。少しでもXMLの作成がスムーズに行えるよう、次に参考情報を記載します。
XML作成にあたり基本的な要素と構造
タグ(要素) | 説明 | 備考・補足 |
<?xml?> | XML宣言 | XML文書を明示 |
<!DOCTYPE | DOCTYPE宣言 | JATS DTDを指定 |
<article> | ルート | |
├<front> | 前書き | 書誌情報 |
│├<journal-meta> | 刊行物情報 | 刊行物識別子、ISSN、発行機関などの刊行物情報 |
│└<article-meta> | 記事情報 | 記事タイトル、抄録や書誌情報(巻号頁)などの記事情報 |
├<body> | 本文 | 図表や数式を含む本文 |
└<back> | 後書き | 謝辞や参考文献などの補足資料 |
XMLの要素:前書き・書誌情報(front, journal-meta, article-meta)
タグ(要素) | 説明 | 備考・補足 |
<front> | 前書き | |
├<journal-meta> | 刊行物情報 | |
│├<journal-id> | 刊行物識別子 | PMCのIDを設定 |
│├<journal-title-group> ││└<journal-title> |
刊行物タイトル | |
│├<issn> | ISSN | Print ISSN、Online ISSNを設定 |
│└<publisher> │ └<publisher-name> |
機関情報・機関名 | |
└<article-meta> | 記事情報 | |
├<article-id> | 記事識別子 | DOIなど設定 |
├<subj-group> | 種別群 | |
│└<subject> | 種別 | 原稿種別など設定 |
├<title-group> │├<article-title> │└<subtitle> |
記事タイトル・サブタイトル | |
├<contrib-group> | 著者・所属群 | |
│├<contrib> | 著者・機関著者 | |
││├<name> │││├<surname> │││└<given-names> |
著者名 | nameかcollabどちらか入力 |
││├<collab> | 機関著者名 | nameかcollabどちらか入力 |
││├<degrees> | 学位 | 「Ph D」など入力 |
││└<xref> | 参照元 | 所属機関の識別子を指定して著者情報に紐付け |
│└<aff> | 所属機関名 | |
├<author-notes> | 著者情報 | |
│└<corresp> │ ├<label> │ └<email> |
連絡著者情報 | |
├<pub-date> │├<year> │├<month> │└<day> |
発行年・発行日 | 属性のpub-typeで発行日(ppub)やオンライン公開日(epub)を設定 |
├<volume> | 巻 | |
├<issue> | 号 | |
├<fpage> | 開始ページ | |
├<lpage> | 終了ページ | |
├<history> | その他日付 | |
│└<date> │ ├<year> │ ├<month> │ └<day> |
日付 | 属性のdate-typeで受付日(received)や採択日(accepted)などの情報を設定 |
├<permissions> | 権限 | |
│├<copyright-statement> │├<copyright-year> |
著作権情報 | |
│└<license> | ライセンス情報 | OAやCCLの設定 |
├<abstract> │├<title> │└<p> |
抄録 | |
└<kwd-group> └<kwd> |
キーワード |
XMLの要素:本文(body)
タグ(要素) | 説明 | 備考・補足 |
<back> | 後書き | |
├<ack> | 謝辞 | |
│├<title> | 見出し | |
│└<p> | ||
├<ref-list> │├<title> │└<ref> |
参考文献・引用文献 | |
│ ├<mixed-citation> │ └<element-citation> |
設定形式 | mixed-citationは自由なテキスト(カンマなどの記号も入力する) element-citationは要素のみの構成(カンマなどの記号は入力しない) |
├<app-group> │├<title> │└<app> │ ├<title> │ ├<p> │ └<sec> |
付録 | |
├<bio> │├<title> │└<p> |
略歴 | |
├<fn-group> │└<fn> │ └<p> |
本文脚注 | |
├<glossary> │├<title> │└<def-list> │ └<def-item> │ ├<term> │ └<def> │ └<p> |
用語集・定義リスト | |
├<notes> │├<title> │└<p> |
注釈 | |
└<sec> | Data Availability Statementsなど |
XMLの要素:文字修飾
タグ(要素) | 説明 | 備考・補足 |
<bold> | 太字 | |
<italic> | 斜体 | |
<overline> | 上線 | |
<sc> | 小型英大文字 | |
<strike> | 取消線 | |
<underline> | 下線 | |
<ruby> | ルビ | |
<styled-content> | CSSスタイル | 文字を赤字などスタイルの変更時に使用 |
<break /> | 改行 | 表のみ使用可 |
<xref> | 参照リンク | 著者・所属、図表数式、引用文献など様々な情報と紐づけ |
XMLの構造テンプレート
XMLテンプレート:XML宣言(xml)・記事(article)
xml, article |
<!– XML宣言 –> <?xml version=”1.0″ encoding=”UTF-8″?> <!– ドキュメント宣言・DTD指定 –> <!DOCTYPE article PUBLIC “-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN” “JATS-journalpublishing1.dtd”> <!– 記事・名前空間宣言 –> <article xmlns:mml=”http://www.w3.org/1998/Math/MathML” xmlns:xlink=”http://www.w3.org/1999/xlink” xmlns:ali=”http://www.niso.org/schemas/ali/1.0/” dtd-version=”1.1″ xml:lang=”en” article-type=”review-article”><!– 前書き –> <front> <journal-meta></journal-meta> <article-meta></article-meta> </front> <!– 本文 –> <body></body> <!– 後書き –> <back></back> </article> |
XMLテンプレート:前書き・書誌情報(front, journal-meta, article-meta)
front |
<front> <journal-meta> <!– プラットフォームの識別子 –> <journal-id journal-id-type=”publisher-id”>xxxx</journal-id> <journal-id journal-id-type=”hwp”>xxxx</journal-id><!– 刊行物タイトル –> <journal-title-group> <journal-title>Journal title</journal-title> </journal-title-group><!– ISSN –> <issn pub-type=”ppub”>xxxx-xxxx</issn> <issn pub-type=”epub”>xxxx-xxxx</issn><!– 機関情報 –> <publisher> <publisher-name>Publisher name</publisher-name> </publisher> </journal-meta><article-meta> <!– 記事識別子 –> <article-id pub-id-type=”doi”>xx.xxxx/xxx.xxxx</article-id><!– 種別情報 –> <article-categories> <subj-group subj-group-type=”heading”> <subject>Original Articles</subject> </subj-group> </article-categories><!– 記事タイトル –> <title-group> <article-title>Article title</article-title> <subtitle>Article subtitle</subtitle> </title-group><!– 著者・所属 –> <contrib-group><!– 著者・機関著者 –> <contrib contrib-type=”author” corresp=”yes”> <name> <surname>Last name</surname> <given-names>First name</given-names> </name> <degrees>PhD</degrees> <xref ref-type=”aff” rid=”aff1″/> <xref ref-type=”corresp” rid=”cor1″/> </contrib><!– 所属機関 –> <aff id=”aff1″></aff> </contrib-group><!– 著者情報・連絡著者 –> <author-notes> <corresp id=”cor1″> Author note<email>xxx@xxx.xxx</email></corresp> </author-notes><!– 発行年・発行日、巻号ページ –> <pub-date pub-type=”ppub”><year>YYYY</year></pub-date> <volume>xx</volume> <issue>xx</issue> <fpage>x</fpage> <lpage>xx</lpage><!– 諸日付 –> <history> <date date-type=”received”> <day>dd</day><month>mm</month><year>yyyy</year> </date> <date date-type=”rev-recd”> <day>dd</day><month>mm</month><year>yyyy</year> </date> <date date-type=”accepted”> <day>dd</day><month>mm</month><year>yyyy</year> </date> </history><!– 著作権 –> <permissions> <copyright-statement>Copyright notice</copyright-statement> <copyright-year></copyright-year> </permissions> <!– 抄録 –> <!– キーワード –> |
XMLテンプレート:本文(body)
body |
<body> <!– 章なし段落 –> <p></p><!– 章節・本文 –> <sec> <title></title> <p></p><!– 図 –> <fig id=”F1″ position=”float”> <label>Figure 1</label><caption><title></title></caption> <graphic xlink:href=”xxxx.tiff”/> </fig><!– 表 –> <table-wrap id=”T1″ position=”float”> <label>Table 1</label><caption><title>Caption</title></caption> <table rules=”groups” frame=”hsides”> <thead><tr><th>Cell1</th><th>Cell2</th></tr></thead> <tbody><tr><td>Cell3</td><th>Cell4</th></tr></tbody> </table> <table-wrap-foot> <fn-group> <fn id=”T1-FN1″><p>Table footnote</p></fn> </fn-group> </table-wrap-foot> </table-wrap><!– 数式(ブロック) –> <disp-formula id=”M1″><tex-math></tex-math></disp-formula> <disp-formula id=”M2″><mml:math></mml:math></disp-formula> <disp-quote><p>Quote</p></disp-quote> </sec> </body> |
XMLテンプレート:後書き(back)
back |
<back> <!– 謝辞 –> <ack> <p>Acknowledgments</p> </ack><!– 付録 –> <app-group> <app> <title>Appendix</title> <p></p> </app> </app-group><!– 略歴 –> <bio> <p>Biography</p> </bio><!– 本文脚注 –> <fn-group> <fn><p>fn p</p></fn> </fn-group><!– 用語集 –> <glossary> <def-list> <def-item> <term>GEL</term> <def><p>Glossary Elements List</p></def> </def-item> </def-list> </glossary><!– 引用文献・参考文献(構造化パターン、段落のみパターン) –> <ref-list><title>References</title> <ref id=”B1″> <label>1.</label> <mixed-citation publication-type=”journal”><person-group person-group-type=”author”><name><surname> </surname> <given-names></given-names></name></person-group>. <article-title></article-title>. <source> </source> <year></year>; <volume></volume>: <fpage></fpage>-<lpage></lpage>.</mixed-citation></ref> <ref id=”B2″> <label>2.</label> <mixed-citation publication-type=”journal”></mixed-citation></ref><!– DAS –> <sec sec-type=”data-availability”> <title>Data Availability</title> <p><ext-link ext-link-type=”doi” xlink:href=””></ext-link></p></sec> </back> |
XMLからHTMLへの変換ポイント
HTML変換の基本
プラットフォームにより異なりますが、XMLから本文などの出力は、XMLからXLSTを使用してHTMLに変換していることが多いです。そのため、XMLの要素や構成により表示結果が変換仕様により異なるため、PMCではArticle Previewerなどのツールを利用して表示を確認しながらXMLを作成することになります。なお、PMCのツールに関しては前回の記事で紹介していますので、気になる方はご覧ください。
XML作成時によくある問題と対策
これまでデータ作成の依頼で、対応について困った点をいくつかご紹介します。
1. 連絡著者のアイコン
連絡著者を示すアイコンがこのようにシステムで付与されます。
PMCでは連絡著者を<contrib contrib-type=”author” corresp=”yes”>と設定した場合、連絡著者を示すアイコンがこのようにシステムで付与されます。「」このようなバツ印で文字化けしているように見えるため、プレビュー時の確認事項としてよく挙がります。アイコンの変更方法は不明のため、システムで表示される説明が必要になります。なお、著者情報の記号を揃える場合は以下のように設定します。
例 |
<xref ref-type=”corresp” rid=”cor1″>*</xref> <author-notes><corresp id=”cor1″>*…</corresp></author-notes> |
2. 章節の見出しスタイル
XMLで見出しを階層化することにより、各見出しの階層に応じて文字サイズや文字修飾がシステムで自動的に適用されることがあります。例えば、PMCでは見出しの階層が4つ目から斜体が適用される場合、斜体の文字修飾を解除できないため、刊行物のフォーマットに一致しない可能性があります。このように、刊行物のフォーマットを優先しても、システムで表現できない場合があり、データ作成依頼者に対してフォーマットやシステムの制約についての説明が必要になります。
例 |
<sec> <title>第1階層の見出し</title> <sec> <title>第2階層の見出し</title> <sec> <title>第3階層の見出し</title> <sec> <title>第4階層の見出し(斜体が適用される)</title> </sec> </sec> </sec> </sec> |
3. 図表のポジション
図表には位置を指定する属性 position=”float” があります。ポジションが”float”の場合、PMCではシステムで参照した段落の後に図表を表示するため便利ですが、意図しない箇所に図表が表示されるケースもあります。例えば、冒頭で後半の図表を参照したり、図の参照を範囲(Figs1-4)で記述しているため、図2と図3の参照を省略した場合など、図表の表示が順番通りならないことがあります。対策として、図表を指定した場所に表示させるposition=”anchor”や参照を省略せずに設定します。
しかし、ポジションの”float”と”anchor”の指定では、図の<label>で表示位置が変わるため、表示を統一するためにXMLの書き方を工夫や検討する必要があります。
4. 表の表脚注参照リンク
一部の<xref>による参照リンクで、文字修飾が適用されるケースもあります。
表内で表脚注への参照リンクは種別を「ref-type=”table-fn”」を設定しますが、システムで変換時に<sup>(上付き)が付与されるため、XMLで<sup>を設定している場合にHTMLでは2重の<sup>が適用されます。プレビュー時にはなかなか気づきづらいですが、罫線に重なる可能性もあるため修正が必要になります。このように要素だけではなく、属性値によるHTML変換結果の変化も考慮する必要があります。
例 | |
<xref ref-type=”table-fn” rid=”T-1FN1″>a</xref> | x2 |
<xref ref-type=”table-fn” rid=”T1-FN1″><sup>a</sup></xref> | x2 |
5. デフォルトの見出し
抄録や謝辞などの<title>を省略した場合、デフォルトの見出しが表示されます。刊行物のフォーマットに独自の表記がある場合は、それに従って設定する必要があります。
例 |
<!– 抄録 –> <abstract> <title>Abstract</title><!– 謝辞 –> <ack> <title>Acknowledgments</title><!– 引用文献 –> <ref-list> <title>References</title> |
6. その他
まだまだ、利益相反(COI)の書き方など、さまざまな項目がありますが、今回は基本的な部分に焦点を当てました。今後も引き続き、詳細な情報を準備し、まとめていきますので次回は事例集などに焦点を当てることも考えています。
おわりに
PMCのXML作成は、サイトで正しく表現するためにXMLの要素や構造を理解する必要があり、習得に時間がかかります。アトラスではこれまでの実績から作成に関する知識があり、「ジャーナル公開支援サービス」にて登載データの作成を請け負っていますので、詳細はこちらのページをご参照ください。
以上、少し長い内容でしたがここまで読んでいただきありがとうございます。