|
|
|
|
|
для: Евгений Петров
(16.07.2006 в 17:47)
| | О нашел инфу в мануале PHP :) Возникла сразу куча вопросов, поэтому сию тему предлагаю переименовать в "Шаблоны с применением XML и XSL" :)
Вообщем для начала пример:
Есть 3 файла: index.php data.xml и template.xsl
data.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="template.xsl"?>
<data>
<item>
<title>First</title>
</item>
<item>
<title>Second</title>
</item>
<item>
<title>Third</title>
</item>
<item>
<title>Fourth</title>
</item>
</data>
|
template.xsl
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<UL>
<xsl:for-each select="data/item">
<LI><xsl:value-of select="title" /></LI>
</xsl:for-each>
</UL>
</xsl:template>
</xsl:stylesheet>
|
index.php
<?
$xml = new DOMDocument();
$xml->load("data.xml");
$xsl = new DOMDocument();
$xsl->load("template.xsl");
$xslt = new XsltProcessor();
$xslt->importStylesheet($xsl);
$result = $xslt->transformToDoc($xml);
echo $result->saveXML();
?>
|
Запустив index.php мы увидим отформатированный текст...
На этом вроде бы можно и закончить... Шаблоны писать на XSL а данные хранить в XML но интуиция подсказывает что хранить данные в XML не надо.
Сделать хочется так: в процессе работы скрипта генерируется такой массив:
Array
(
[data] => Array
(
[item] => Array
(
[0] => Array
(
[title] => First
)
[1] => Array
(
[title] => Second
)
[2] => Array
(
[title] => Third
)
[3] => Array
(
[title] => Fourth
)
)
)
)
|
А дальше обрабатывать его так же как и xml. Но делать из этого массива xml тоже не хочеться :). Кому интересно предлагайте свои идеи и соображения... :) | |
|
|
|
|
|
|
| Всем привет!
Давненько меня тут не было, но судьба снова направила к вам :)
Подскажите нормальную инфу о DOMDocument в PHP. Мои поиски в яндексе к успеху пока не привели...
Все заранее огромное спасибо! | |
|
|
|
|