Как вставить файл с расширением xml в файл с расширением shtml ?

Smash
На сайте с 31.10.2004
Offline
18
1312

Как вставить файл (xxx.xml) с расширением xml в файл (aaa.shtml) с расширением shtml ? :confused:

Везет тому, кто сам себя везет
[Удален]
#1

Напишите в нужном месте .shtml-файла:

<!--#include virtual="/subdirectory/xxx.xml" -->

Smash
На сайте с 31.10.2004
Offline
18
#2
Как писал Interitus
Напишите в нужном месте .shtml-файла:
<!--#include virtual="/subdirectory/xxx.xml" -->

Попробовал, ни х... не получилось, XML воспринимается как html. Браузер просто выколупывает знакомые html теги, и получается чушь.

Поставлю вопрос более конкретно:

Есть сайт на html , главная страница сайта - index.shtml.

Файл go.xtml нужно вставить в index.shtml

код файла go.xtml :

<?xml version="1.0" encoding="windows-1251" ?>

<purr date="2005-02-03 12:13">

<product id="33">

<group>AV Ресивер</group>

<manufacture>Panasonic</manufacture>

<name>SA-HE200E-K</name>

<description>6-и канальный AV-ресивер со встроенными декодерами Dolby Digital, DTS и DTS-ES. Пульт ДУ в комплекте.</description>

<price>395.00</price>

<url>http://www.purr.ru/product/33.htm?plg=shop</url>

<img file="http://www.purr.ru/upload/images/173.gif" type="1" width="200" height="90" />

<img file="http://www.purr.ru/upload/images/3021.jpg" type="2" width="100" height="40" />

</product>

😕 :( 😕

[Удален]
#3

А в каком виде .xml должен представляться?

Вообще если в браузере парсер имеется, то в любом случае без трансформации (XSLT) он будет просто в виде дерева выводиться.

А если нужно, чтобы он отображался как HTML. его нужно преобразовывать с помощью внешнего XSLT.

Smash
На сайте с 31.10.2004
Offline
18
#4
Как писал YuriyA
А в каком виде .xml должен представляться?
Вообще если в браузере парсер имеется, то в любом случае без трансформации (XSLT) он будет просто в виде дерева выводиться.
А если нужно, чтобы он отображался как HTML. его нужно преобразовывать с помощью внешнего XSLT.

Что-такое XSLT , и как преобразовывать XML, что-б он отображался как html?

плиз, подробно и коротко. 😮

[Удален]
#5

<-- -->

[Удален]
#6

Если коротко, то это: "eXtensible Stylesheet Language for Transformations", который используется для описания преобразований структуры документов.

Если очень тривиально говорить, то например, если мы имеем HTML документ, то можем управлять его представлением (форматирование, цвета, позиционирование) из внешнего файла CSS.

По аналогии - если мы имеем XML документ, он сам по себе не имеет средств форматирования, но является неким контейнером с древовидной структурой для хранения и структурирования данных. Такой документ браузер выведет просто как дерево. Но с помощью XSLT, если нам это нужно мы может представить его в браузере так, как нам это нужно.

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

Вот простые примеры:

Вот простой XML файл, который браузер выведет как дерево:


<?xml version="1.0" encoding="WINDOWS-1251"?>
<container>
<title>Это простой документ XML</title>
<author>Некто..</author>
<content>
Отметим теперь момент, который является ключевым для разработчиков баз данных. Информация в XML-странице появляется, как правило, в результате запроса к базе данных. Запрос к базе данных в многопользовательской среде - это весьма дорогостоящая операция. Предположим теперь, что у нас нет XML и мы формируем стандартные статические HTML-страницы. В этом случае для решения задачи простого преобразования внешнего представления информации, например, для изменения сортировки, у нас есть два способа решения проблемы: выполнить запрос и сохранить результаты в каком-либо временном буфере на сервере или каждый раз при изменении внешнего представления выполнять новый запрос и формировать HTML-страницу заново.
Первый способ требует трудоемкого программирования, второй способ значительно увеличивает нагрузку на сервер базы данных, производительность которого часто является узким местом системы, - пользователю всегда хочется получать результаты быстрее.
XML и XSL - это исчерпывающее решение описанной выше проблемы. Фактически XML-страница - это и есть временный буфер для результатов запросов. Только вместо нестандартного и трудоемкого программирования мы теперь используем стандартный механизм XSL.
Есть и еще одно соображение, которое может быть существенным для разработчиков баз данных. Большинство современных СУБД могут форматировать результаты запроса к базе данных в виде XML-файла. То есть при построении интерфейса пользователя в рамках технологии XML и XSL мы добиваемся определенной независимости от поставщика СУБД. В части организации вывода - практически полной независимости. А эта часть весьма велика в большинстве прикладных систем, ориентированных на работу с базами данных. Конечно, помимо вывода есть еще ввод и серверная обработка бизнес-логики, но здесь вам придется искать какие-то иные решения.
</content>
</container>

Терерь применим к нему внешнее форматирование, предварительно добавив ссылку на внешний XSL - файл:


<?xml version="1.0" encoding="WINDOWS-1251"?>
<?xml-stylesheet type='text/xsl' href='my_xsl.xsl'?>
<container>
<title>Это простой документ XML</title>
<author>Некто..</author>
<content>
Отметим теперь момент, который является ключевым для разработчиков баз данных. Информация в XML-странице появляется, как правило, в результате запроса к базе данных. Запрос к базе данных в многопользовательской среде - это весьма дорогостоящая операция. Предположим теперь, что у нас нет XML и мы формируем стандартные статические HTML-страницы. В этом случае для решения задачи простого преобразования внешнего представления информации, например, для изменения сортировки, у нас есть два способа решения проблемы: выполнить запрос и сохранить результаты в каком-либо временном буфере на сервере или каждый раз при изменении внешнего представления выполнять новый запрос и формировать HTML-страницу заново.
Первый способ требует трудоемкого программирования, второй способ значительно увеличивает нагрузку на сервер базы данных, производительность которого часто является узким местом системы, - пользователю всегда хочется получать результаты быстрее.
XML и XSL - это исчерпывающее решение описанной выше проблемы. Фактически XML-страница - это и есть временный буфер для результатов запросов. Только вместо нестандартного и трудоемкого программирования мы теперь используем стандартный механизм XSL.
Есть и еще одно соображение, которое может быть существенным для разработчиков баз данных. Большинство современных СУБД могут форматировать результаты запроса к базе данных в виде XML-файла. То есть при построении интерфейса пользователя в рамках технологии XML и XSL мы добиваемся определенной независимости от поставщика СУБД. В части организации вывода - практически полной независимости. А эта часть весьма велика в большинстве прикладных систем, ориентированных на работу с базами данных. Конечно, помимо вывода есть еще ввод и серверная обработка бизнес-логики, но здесь вам придется искать какие-то иные решения.
</content>
<header>И даже выводим таблицу из внешнего файла!!</header>
</container>

и сам внешний XSL - файл:


<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<!-- задаём шаблонные правила -->
<xsl:template match="/">
<p style="color:red;"><strong><xsl:value-of select="//title"/></strong></p>
<p><i><strong><xsl:value-of select="//author"/></strong></i></p>
<p><font color="#808000"><xsl:value-of select="//content"/></font></p>
<!-- выводим повторно контент -->
<p><font color="#808000"><xsl:value-of select="//content"/></font></p>
<!-- выводим разделититель -->
<hr align="left" noshade="noshade" style="color:blue; height:1px; width:50%;"/>
<h2 style="color:green;"><strong><xsl:value-of select="//header"/></strong></h2>
<!-- выводим таблицу -->
<table style="border:1px solid #aacc99; background-color:yellow;">
<tr>
<td>Текст...</td>
<td>Текст...</td>
<td>Текст...</td>
<td>Текст...</td>
</tr>
<tr>
<td>Текст...</td>
<td>Текст...</td>
<td>Текст...</td>
<td>Текст...</td>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>

Правильно будет отображать только IE 6, у других браузеров либо парсеров нет, либо они какие то не такие.. :)

Подробнее можно найти информацию на разных ресурсах, например:

http://www.webclub.ru/archive/xml/article-724.html

http://www.xml.com/

http://www.sinor.ru/~xml/publish/rendall.html

http://www.rol.ru/news/it/helpdesk/xslt01.htm

Добавлю, что XSL используется не только для представления XML документов. Есть много всяких интеграций с другими языками - Java, Perl, PHP, Java Script и т.д.

Smash
На сайте с 31.10.2004
Offline
18
#7

Спасибо 🍻

[Удален]
#8

Не за что. Я сам новичёк пока в этом деле, так, верхушек нахватался.

Естественно XML - файл должен быть с расширением .xml, а XSL - с .xsl (my_xsl.xsl).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий