2008-09-26 36 views
0

我想將xslt樣式表附加到使用XMLBuilder構建的XML文檔。這是通過一個處理指令看起來像使用Rails XMLBuilder創建xml樣式表PI

<?xml-stylesheet type='text/xsl' href='/stylesheets/style.xslt' ?> 

通常情況下,我會用instruct!方法,但:xml-stylesheet是不是一個有效的Ruby符號來完成。

對於使用tag!方法的元素,XMLBuilder爲此情況提供瞭解決方案,但我沒有看到處理指令的等效項。

任何想法?

回答

2

我不確定這會解決你的問題,因爲我不知道指示!該對象的方法,但是:'xml-stylesheet'是一個有效的ruby符號。

+0

咄這很簡單:)謝謝您! – ykaganovich 2008-09-26 21:38:11

4

你不喜歡這樣:

xm.instruct! 'xml-stylesheet', {:href=>'/stylesheets/style.xslt', :type=>'text/xsl'} 

只要加入該行後

xm.instruct! :xml, {:encoding=>"your_encoding_type"} 

和文檔輸出代碼的其餘部分之前正確的,你應該是好去。

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">