簡體   English   中英

將PHP變量作為參數傳遞給XSL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM