Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование XML->HTML, как лучше 
V
    Опции темы
DubrovinAV
Дата 10.3.2008, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 20.9.2007

Репутация: нет
Всего: нет



Есть XML файл. Стоит задача программно преобразовать его в HTML. Решил использовать для этого XSL. В результате должно получиться читабельно. Возникло несколько вопросов:

1. Что должно получиться на выходе в HTML(как можно представить содержимое XML, не какими средствами, а как визуально)?
2. Одна из идей выводить информацию одинаково выделяя блоки одного уровня вложенности(ваше мнение по этому поводу)?
3. Как лучше выделять все это дело?

Интересует больше не техническая а "эстетическая" smile  сторона.
 
Спасибо.
PM MAIL   Вверх
mishaSL
Дата 11.3.2008, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 54



Цитата(DubrovinAV @  10.3.2008,  21:33 Найти цитируемый пост)

1. Что должно получиться на выходе в HTML(как можно представить содержимое XML, не какими средствами, а как визуально)?

Либо в виде таблиц, либо в виде списков. Если имеется в виду обобщенный вид.

Добавлено через 2 минуты и 29 секунд
Цитата(DubrovinAV @  10.3.2008,  21:33 Найти цитируемый пост)
2. Одна из идей выводить информацию одинаково выделяя блоки одного уровня вложенности(ваше мнение по этому поводу)?

Это логично. К примеру можушь взять YandexXML, результаты получаются в виде XML, а выводятся в виде списка (ну конечно там тоже есть свои особенности).
Цитата(DubrovinAV @  10.3.2008,  21:33 Найти цитируемый пост)
3. Как лучше выделять все это дело?

Вопрос до конца не понятен. Наверное цветом smile 



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
maxim1000
Дата 11.3.2008, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 7
Всего: 110



помнится, была такая темка, по крайней мере, помню, что чего-то думал с отступами

Добавлено через 50 секунд
http://forum.vingrad.ru/forum/topic-76226.html


--------------------
qqq
PM WWW   Вверх
DubrovinAV
  Дата 16.3.2008, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 20.9.2007

Репутация: нет
Всего: нет



допустим есть xml

Код

<phonebook>
 <un attr="1">
  <name>AAA</name>
  <addr>BBB</addr>
  <phone>555</phone>
 <un>
<un attr="2">
  <name>AAA1</name>
  <addr>BBB1</addr>
  <phone>5551</phone>
 <un>
<un attr="3">
  <name>AAA2</name>
  <addr>BBB2</addr>
  <phone>5552</phone>
 <un>
 ...
</phonebook>


Какое простеишее xsl нужно составить, что бы в броузере отображалось в читабельном виде,например:
Код

name AAA
addr BBB
phone 555
...

или хотябы вот так
Код

 AAA
 BBB
 555
...
 smile 

PM MAIL   Вверх
mishaSL
Дата 17.3.2008, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 1
Всего: 54



Вот пример:

XML:
Код

<?xml version="1.0" encoding="UTF-8"?>
<phonebook>
 <un attr="1">
  <name>AAA</name>
  <addr>BBB</addr>
  <phone>555</phone>
 </un>
<un attr="2">
  <name>AAA1</name>
  <addr>BBB1</addr>
  <phone>5551</phone>
 </un>
<un attr="3">
  <name>AAA2</name>
  <addr>BBB2</addr>
  <phone>5552</phone>
 </un>
</phonebook>


XSL:
Код

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<table border="1">
<tr bgcolor="#CCCCCC">
<td align="center"><strong>attr</strong></td>
<td align="center"><strong>name</strong></td>
<td align="center"><strong>addr</strong></td>
<td align="center"><strong>phone</strong></td>
</tr>
    <xsl:apply-templates select="phonebook/un"/>
</table>
</xsl:template>

<xsl:template match="phonebook/un">
    <tr>
        <td><xsl:value-of select="@attr" disable-output-escaping="yes" /></td>
        <td><xsl:value-of select="name" disable-output-escaping="yes" /></td>
        <td><xsl:value-of select="addr" disable-output-escaping="yes" /></td>
        <td><xsl:value-of select="phone" disable-output-escaping="yes" /></td>
    </tr>
</xsl:template>

</xsl:stylesheet>


Вывод сделан в виде таблицы. Для полноты примера еще вывел атрибут "attr".

Если что не понятно, спрашивайте.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.1921 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.