次の2つのファイルがあります。Internet Explorer 9 で xml ドキュメントを表示しようとすると、xslt ファイルを使用して変換されません。
私のxmlファイル
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="xsl.xslt"?>
<foo>
<bar>baz</bar>
</foo>
私のxsltファイル
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
>
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<title>
<xsl:value-of select="/foo/bar"/>
</title>
</head>
<body>
<!-- It works if i remove the following xsl:value-of tag -->
<xsl:value-of select="document-uri()"/>
<div style="color: #ff0000;">
<xsl:value-of select="/foo/bar/text()"/>
</div>
<div style="color: #ff0000;">RED</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
タグを削除する<xsl:value-of select="document-uri()"/>
と、xml が適切に翻訳されます。document-uri の次の使用法を試しました。
- ドキュメント uri()
- 文書URI('/')
- ドキュメント uri('/foo')
- ドキュメント uri('foo')
- fn:document-uri()
- fn:document-uri('/')
- fn:document-uri('/foo')
- fn:ocument-uri('foo')