我想将xslt样式表附加到我使用XMLBuilder构建的XML文档中。这是通过看起来像
的处理指令完成的<?xml-stylesheet type='text/xsl' href='/stylesheets/style.xslt' ?>
通常,我会使用instruct!
方法,但:xml-stylesheet
不是有效的Ruby符号。
对于使用tag!
方法的元素,XMLBuilder有这种情况的解决方案,但我没有看到处理指令的等价物。
有什么想法吗?
答案 0 :(得分:5)
你这样做:
xm.instruct! 'xml-stylesheet', {:href=>'/stylesheets/style.xslt', :type=>'text/xsl'}
只需在
之后添加该行即可xm.instruct! :xml, {:encoding=>"your_encoding_type"}
在你的其他文档输出代码之前,你应该好好去。
答案 1 :(得分:2)
我不确定这会解决你的问题,因为我不知道这个指示!该对象的方法,但是:'xml-stylesheet'是有效的ruby符号。
答案 2 :(得分:0)
如果使用atom_feed
帮助器,您可以在instruct
选项中传递此信息:
atom_feed(instruct: {
'xml-stylesheet' => {type: 'text/xsl', href: 'styles.xml'}
}) do |feed|
feed.title "My Atom Feed"
# entries...
end
导致(仅显示前3行):
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="styles.xml"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">