Skip to content

XML XSLT作業のメモ

MINAZUKI, Bakera edited this page Oct 12, 2017 · 5 revisions

XML/XSLTのありか

Gitリポジトリのありか

WAIC側では wg4_translation というブランチで作業しています。

XSLTの処理に必要なソフトウェアについて

XSLTによる変換処理はSAXONというソフトウェアで行われる想定になっています。: http://saxon.sourceforge.net/ 一連の変換処理はApache Antというビルドツールによって管理されています。: https://ant.apache.org/ これらはいずれもJavaで書かれていますので、動かすためにはJavaの実行環境 (JRE) の導入が必要です。

#Antのビルドタスクについて wcag20/build.xml というファイルがあります。これがAntで使用される設定ファイルです。 このディレクトリに移動して、コマンドラインから

ant understanding

などと入れるとタスクが実行されます。

ant -f wcag20/build.xml understanding

のようにbuild.xmlの場所を指定することもできます。 上記の "understanding" 部分には、build.xml で定義されているタスクの名称が入ります。 いろいろあるっぽいですが、とりあえずUnderstanding関連で意識する必要がありそうなのものを以下に挙げます。

  • understanding.single: understanding の合体版を生成します。complete.html というファイルができます。
  • understanding.single.diff: understanding のdiff版を生成するのだと思いますが、いまちゃんと動いていないような気もしています。complete-diff.html というファイルができます。
  • understanding.slices: understanding の分割版を生成しますが、いまちゃんと動いていないようです。
  • understanding: 上記3つを連続で実行します。が、今は slices がうまくいっていないので slices は処理しないように書き換えてあります。
  • gh-pages: Github Pagesを生成します。understanding と techniques の生成を行い、デフォルトとは異なるディレクトリにファイルを生成します。

Antビルドタスク前の準備(ビルドがうまくいかないとき)

  • 現時点(20161030)で、wg4_translationのbuild.xmlはW3Cの都合のよい出力先となっているので、build.propeertisの(17行目あたり)を適当なディレクトリーに変更することで、出力エラーは防止できます。
  • saxonのclasspathをあらかじめ通しておく必要があります。Linux(Ubuntu 16.04 LTS / Debian stretch)であれば、 .bashrc あたりに CLASSPATH=$CLASSPATH:/usr/share/java/Saxon-HE.jar とでもすればよいでしょう。

Travis CI について

/.travis.yml にいろいろ設定が書いてあります。 wg4_translationブランチにpushされるとここに書かれているとおりに以下のような動作をします。

  • まず、ant gh-pages を実行
  • 成功したら生成されたファイルをgh-pagesブランチにpush

細かい注意点

Techniquesの How to Meetのリンク

/~https://github.com/waic/wcag20/commit/26bec84a11858d89e13cd3b07f7f0e43549b28c3 を参照。

##見出しの自動生成 達成方法の一覧部分の見出しは勝手に生成されている。以下のように書かれていても head要素の中身のテキストは反映されない。 <div4 role="tech-optional"> <head>達成基準 1.2.2 でさらに対応が望まれる達成方法(参考)</head> </div4>

antタスクの出力先

build.xmlが/WG4/git/waic/wcag20/wcag20/build.xmlにある場合、

  • ant understanding → /WG4/w3ccvs/WWW/TR/2012/NOTE-UNDERSTANDING-WCAG20-20160317/
  • ant gh-pages → /WG4/git/Gemerated/Understanding/

gh-pagesの出力先

ant gh-pages を実行したときにsliceがうまく出力されていない問題があったが、これは slices-understanding-common.xsl の <xsl:result-document href="……"> の指定の仕方が出力先ディレクトリ切り替えの指定に対応していなかったことが原因だった模様。 本家の最新版に合わせて該当のhref属性を {code} href="{$output.dir.prefix}{$output.dir}/{$filename}" {/code} としたところ出力されるようになった。

Travisの暫定対応

Travis側の環境が変わって、antが通らなくなったことがあった。 dist: preciseとして古い環境で固定したところ、動作するようになった。 travis.ymlのコミット履歴はこんな感じ /~https://github.com/waic/wcag20/commit/182859942faaa5076a79f86c9a13116793551d29

Clone this wiki locally