Передать переменную PHP в качестве параметра в XSL

1

У меня есть страница PHP, которая выводит XML, изменяя тип заголовка и выводя xml с таблицей стилей XSL для RSS-канала:

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

Дайте мне знать, если есть лучший способ добиться этого.

  • 0
    echo "<?xml-stylesheet title='$title' type='text/xsl' href='/path/feed.xsl'?>" то, что вы хотите?
  • 0
    Как бы тогда получить заголовок в XSL для вывода? Возможно, использование слова «заголовок» немного сбивает с толку, изменится на «заголовок». Но я также хочу отправить несколько параметров с разными значениями, .eg $ header = "some header"; $ description = "некоторое описание";
Показать ещё 1 комментарий
Теги:
xslt

1 ответ

0

* UPDATE - это не работает, потому что дополнительные теги не проверяются, потому что они не являются частью пространства имен.


На самом деле забыл поставить rss-теги в вопрос, но когда я добавил XML для хранения переменных PHP между тегами rss и channel, я мог бы динамически их использовать в XSL файле, а XML, используемый для их хранения, не отображается при просмотре в считыватель RSS, например

<rss>
    <extraInfo>
        <heading>...</heading>
        <description>...</description>
    </extraInfo>
    <channel>
        ...
    </channel>
</rss>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню