TL;DR: e-Taxからスタイルシートをダウンロードし、Webブラウザで控除証明書XMLデータを開くだけ。
確定申告のためマイナポータルから年金控除証明書をXML形式でダウンロードした。これをe-Taxにアップロードすればわたしの目的は果たせるのだが、せっかくならとこのXMLデータが人にも読みやすい形で置いておきたい気持ちに。気付いたのは1行目の次の記述。
<?xml-stylesheet type="text/xsl" href="スタイルシートファイル名.xsl"?>
調べればe-Taxの電子的控除証明書等に係る仕様書一覧というページに該当のスタイルシートがCAB形式でアーカイブされて置かれていた。わたしはmacOSを使っていたのでUnarchiverでCABを展開。各種証明書のスタイルシートがXSL形式で収まった『02スタイルシート』というフォルダが出てきた。
このXSLTという形式は初めて知ったがMDNにもドキュメントがありひょっとして最近のブラウザなら対応しているのではとSafariで試してみる。『02スタイルシート』フォルダの中に控除証明書XMLを入れてから、XMLをSafariで開いて見ると「(スタイルシートファイルの)パスの指定方法が良くないよ」と怒られた。CORsだ。
Safariの開発者ツールを有効化した状態でSafariの環境設定から、開発者タブの『Disable local file restrictions』にチェックをつけて警告をバイパス。いま一度XMLを開くとちゃんとスタイリングされたXMLが表示された。

これをPDFにエクスポート。印刷ダイアログの『PDF』を押しても良いかもしれない。

エクスポートが済んだら先程変更した設定項目『Disable local file restrictions』のチェックをきちんと外す。HeadlessブラウザとPythonなんかを使ってスクリプトにまとめたら便利だなと思ったけれど、冷静に考えればこんなことは年に1回するかどうか…。この方法でいいか。


