• 追加された行はこの色です。
  • 削除された行はこの色です。
---
title: XSL Transformations (XSLT) Version 2.0
description: XSL Transformations (XSLT) Version 2.0 に関するメモ書き
author: aterai
pubdate: 2016-03-24
---
- [https://www.w3.org/TR/xslt20/ XSL Transformations (XSLT) Version 2.0]

** fn:doc-avalable() [#x03c1df3]
#code{{
@echo off
setlocal

set SRC=C:/tmp/aaa/word/document.xml
set DST=C:/output/aaa/xxx.xml
set LIB=C:/lib/saxon-9.1.0.8.jar
set SAXON=net.sf.saxon.Transform
set XSLT=C:/xslt/docx2xxx.xsl

"%JAVA_HOME%\bin\java" -cp "%LIB%" %SAXON% -s:"%SRC%" -xsl:"%XSLT%" -o:"%DST%"
}}

#code{{
<!-- C:/tmp/aaa/word/numbering.xml が存在するかをチェックしたい -->
<xsl:if test="fn:doc-available(fn:replace(fn:base-uri(),'document\.xml$','numbering.xml'))">
  <xsl:variable name="numbering" select="fn:document('numbering.xml',/)/w:numbering" />
</xsl:if>
}}

- `fn:document('numbering.xml',/)`のように第二引数を指定して入力ファイル相対パスで`fn:doc-available`を使用することは出来ない
- `fn:base-uri()` -> `C:/tmp/aaa/word/document.xml`
- `fn:resolve-uri('')` -> `C:/xslt/docx2xxx.xsl`