IT.

2025年1月から「オンライン事業所年金情報サービス」が提供されるようになりました。これにより、社会保険関係の通知を郵送から電子化することが可能になりました。しかし、実際に利用してみると、なかなかの曲者でした。

XMLデータの壁

登録を済ませてデータを取得してみると、1つの通知の中に多数のファイルが含まれていました。XMLやCSVといったデータ取込用のファイルはあるものの、紙の通知の代わりになるPDFは見当たりません。xmlやcsvなどの取込用のデータが有るのはわかるのですが今まで紙で来ていたものの代わりとなるPDFもあると思っていたらそれはない。

こんなのでどうやって確認するんだと思い調べてみると、WindowsだとこのXMLを開けば見やすい形になるみたいですね。ただし、EdgeをIEモードで開くよう設定すれば、という条件付き。なんでこんな仕組みに、と思いつつ、嫌々ながらMacにEdgeをインストールしてみたもののMac版ではIEモードは準備されていないようでアウト。

調べてみると、仕組みとしては構造化データのXMLに、見た目を整えるXLSファイルを適用して人間が見やすい形にするもののよう。ただし、Chromeではセキュリティ的な問題からローカルでの実行を許可していないみたいです。一方、FireFoxならそのまま開けるとの情報も。ただ、ちょっと不安があるので安全にできる方法を調べました。

MacでXMLを見やすくする方法

Macには xsltproc というコマンドラインツールがあり、XMLファイルにXSLT(スタイルシート)を適用してHTMLに変換できます。ターミナルで以下のコマンドを実行すれば、XMLをHTMLに変換できます。

xsltproc {file}.xml -o output.html

これならHTMLファイルなので安心して開くことができます。しかし、毎回手動でコマンドを打つのは面倒です。そこで、Automatorを活用して右クリックメニューから変換できるようにしました。

Automatorでクイックアクションを作成

 

  1. Automatorを開く
  2. 「クイックアクション」を選択
  3. 「入力を受け取る形式」を「ファイルまたはフォルダ」に設定
  4. 「シェルスクリプトを実行」アクションを追加
  5. 以下のスクリプトを入力
for f in "$@"
do
    base="${f%.*}"
    osascript -e "tell application \"Terminal\"
        do script \"/usr/bin/xsltproc '$f' -o '${base}.html'; exit\"
        delay 1
        close front window
    end tell"
done

スクリプトの動作

  • 右クリックメニューからXMLファイルを選択すると、Automatorがシェルスクリプトを実行。
  • ターミナルで xsltproc を使ってHTMLに変換。
  • 変換後、ターミナルを閉じる。

普通に処理できればよかったんですが、権限のエラーが出て解決できなかったので、権限エラーの回避策として、ターミナル経由で処理する方法を採用しました。これにより、右クリックの「クイックアクション」からXMLをHTMLに変換できるようになり、通知内容を簡単に確認できるようになりました。

広島ブログ

このブログeshima.info(えしまドットインフォ)は
ビジネスやマーケティング、IT活用の記事を書いています。
ブログ購読はこちらのページをご覧ください。


Comments are closed.