Web アプリケーションで XSLT テンプレートをローカライズしようとしていますが、エンティティ メカニズムを使用したいと考えています。ただし、結果ドキュメントでは値は代入されません。
Ruby スクリプト
require 'nokogiri'
doc = Nokogiri::XML(File.read('test.xml'))
xslt = Nokogiri::XSLT(File.read('test.xsl'))
puts xslt.transform(doc)
XML ドキュメント
<?xml version="1.0" encoding="UTF-8" ?>
<CommonCard>
<Test/>
</CommonCard>
XSLT スタイルシート
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY labelHello "hello world!">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="utf-8" method="xml" />
<xsl:template match="/">
&labelHello; 123
</xsl:template>
</xsl:stylesheet>
これを手に入れたい
<?xml version="1.0" encoding="utf-8"?>
hello world! 123
しかし、今私はこれを手に入れました
<?xml version="1.0" encoding="utf-8"?>
123
私は何を間違っていますか?
UPD
Nokogiri XMLエンジンを使用しています