[英]Pass PHP variable as a parameter to XSL
我有一個PHP頁面,它通過更改標頭類型並使用RSS提要的XSL樣式表輸出xml來輸出XML:
<?php
header('Content-Type: text/xml; charset=utf-8');
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
echo '<?xml-stylesheet title="XSL_formatting" type="text/xsl" href="/path/feed.xsl"?>' . "\n";
?>
<channel>
<item>...</item>...
</channel>
我想將一些PHP變量從原始頁面傳遞到XSL,該怎么做?
示例:我有變量...
$header = "This is a cool page";
$description = "This is a description";
...我想傳遞到XSL頁面並在其中使用,這意味着標題可以通過PHP更改,並可以在XSL中動態更改,而不是對其進行硬編碼。
它不能通過XML傳遞,因為我使用XSL作為后備,因此當瀏覽器支持RSS時不應顯示標題。 而且它必須來自該頁面,而不是使用該變量引用另一個文件。
就像是
<?xml-stylesheet title="XSL_formatting" type="text/xsl" param-header="<?=$header?>' param-description="<?=$description?>' href="/path/feed.xsl"?>
讓我知道是否有更好的方法可以實現這一目標。
*更新-這是行不通的,因為多余的標簽不屬於名稱空間,因此無法通過驗證。
實際上忘記了將rss標記放入問題中,但是當我添加XML以將PHP變量存儲在rss和通道標記之間時,我可以在XSL文件中動態使用它們,而用於存儲它們的XML在查看時不呈現。 RSS閱讀器,例如
<rss>
<extraInfo>
<heading>...</heading>
<description>...</description>
</extraInfo>
<channel>
...
</channel>
</rss>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.