Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > Помогите начинающему! Не работает код из примера


Автор: AZel84 8.10.2007, 10:53
Вот этот простой код.....

<html>
<BODY>
<h2>Hello XML</h2>

    <XML ID="xmlSteps">
    <?xml version="1.0"?>
    <steps>
        <step>
            <name>Step1</name>
                
        </step>
        <step>
            <name>Step2</name>
                
        </step>
        <step>
            <name>Step3</name>
                
        </step>
    </steps>
    </XML>

<table datasrc="#xmlSteps">
<tr>
    <td><div datafld="name"></div></td>
</tr>
</table>


... выводит: Step1Step2Step3

хотя должен был таблицу

а вот такой код:
<html>
<BODY>
<h2>Hello XML</h2>

    <XML ID="xmlSteps" SRC="10.xml">
    </XML>

<table datasrc="#xmlSteps">
<tr>
    <td><div datafld="name"></div></td>
</tr>
</table>


</BODY>
</html>

... вообще ничего не выводит, хотя 10.xml лежит в той же папке

Автор: Shedar 8.10.2007, 11:02
Примеры, приведенные на w3schools.com и его клонах (xml.nsu.ru и прочие) часто рассчитаны на просмотр в Internet Explorer. В частности этот пример если открыть в IE - увидим табличку.

Автор: AZel84 8.10.2007, 11:18
Печально. :(
А есть простой кроссбразерный способ вставки xml в html?
Может inner?

Автор: Shedar 8.10.2007, 11:55
Для мозиллы есть свой способ реализации XML data islands, для оперы не слышал. Что касается других способов, дело в том что данные нужно ведь не абстрактно показать, а отформатировать определенным образом. Можно конечно исползовать для форматирования css, но как показывает практика - тот же IE имеет большие проблемы с форматированием xml при помощи css. Другой вариант - использование xsl преобразование на стороне клиента. Поддержиается IE начиная с 6-го, опера не помню 8.5 или 9 и мозилла не помню с какой версии.

Автор: AZel84 8.10.2007, 12:05
xsl я рассматривал одним из первых для такого отображения. Мне кажется должны существовать более простые способы. А, что вы скажете, начет PHP и XML? В PHP вроде есть свои способы работы с xml.

Автор: Shedar 8.10.2007, 12:16
Можно использовать связку xml+xsl на стороне сервера, в том числе и в php. В некоторых случаех выполнение преобразования на стороне сервера предпочтительнее. Например для обеспечения поддержки старых браузеров или в случае когда стиль отображения зависит от данных, которые нельзя показывать пользователю. 


Цитата(AZel84 @  8.10.2007,  12:05 Найти цитируемый пост)
более простые способы

Простые для чего?

Цитата(AZel84 @  8.10.2007,  12:05 Найти цитируемый пост)
В PHP вроде есть свои способы работы с xml.

 Есть. Хотя "свои", это понятие относительное =) DOM парсеры и SAX парсеры являются общеприянтыми, в том числе их реализация есть и в php.

Автор: AZel84 8.10.2007, 12:34
Цитата

Простые для чего?

Более простые для меня smile

Минусы XSL для меня лично: сложный синтаксис, и при этом недостаточные возможности (в некоторых областях) по сравнению с тем же PHP. Это, например, работа с файлами.

Цитата

Можно использовать связку xml+xsl на стороне сервера, в том числе и в php


Как использовать такую связку именно в PHP? Вопрос ламерский, поэтому может есть ссылка на мануал?
(Кстати в мануалах по PHP такого не попадалось).

Автор: Shedar 8.10.2007, 13:05
Цитата(AZel84 @  8.10.2007,  12:34 Найти цитируемый пост)
Минусы XSL для меня лично: сложный синтаксис

Не сложнее чем в php =)


Цитата(AZel84 @  8.10.2007,  12:34 Найти цитируемый пост)
 недостаточные возможности (в некоторых областях) по сравнению с тем же PHP. Это, например, работа с файлами.

У них просто задачи разные. xslt используется как шаблонизатор, чтобы вывести данные в определенном виде. На php реализуется логика, которая знает какие данные нужны, откуда их взять, как их обработать. Потому в xsl работа с файлами выходящая за пределы подключения других xml и xsl не нужна. 


Цитата(AZel84 @  8.10.2007,  12:34 Найти цитируемый пост)
есть ссылка на мануал?

Не помню по чем я сам разбирался, гугл сказал http://phpclub.ru/faq/wakka.php?wakka=PHP5/XML , ну и http://www.php.net/manual/en/ref.xsl.php тоже штука полезная.

Автор: AZel84 8.10.2007, 13:25
Спасибо за помощь, будем разбираться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)