Встраивание внешнего XML-файла в HTML и использование XSL-файла для его анализа? - PullRequest
1 голос
/ 23 января 2011

У меня есть файл XML ("exchange.xml") и файл XSL ("exchange.xsl") для его анализа.У exchange.xml есть следующая строка:

<?xml-stylesheet type="text/xsl" href="exchange.xsl"?>

Указывает, что для анализа файла следует использовать exchange.xsl.

Он анализируется, как и ожидалось, если я загружаю exchange.xml в браузере.Тем не менее, я хочу встроить exchange.xml в файл HTML, в котором нет XML.Как мне это сделать?Насколько я понимаю, когда вы встраиваете XML в HTML с идентификатором SRC тега XML, вам нужно разобрать его самостоятельно, чтобы он отображался.Я хочу, чтобы он автоматически отображался с использованием файла XSL, который я уже создал для него.

Также мне стало известно, что некоторые браузеры (например, браузер Android по умолчанию) не будут анализировать XML с XSL.файл и требует преобразования на стороне сервера.Можно ли встроить мой XML в файл HTML, но использовать преобразование на стороне сервера?

Ответы [ 2 ]

2 голосов
/ 23 января 2011

Насколько мне известно, HTML 4, как указано в W3C, не предоставляет никакого способа встраивания разметки XML в документ HTML 4.И из известных мне браузеров только IE имеет расширение HTML 4, которое позволяет это, так называемые островки данных XML, http://msdn.microsoft.com/en-us/library/ms766512%28v=VS.85%29.aspx,, где анализатор HTML IE распознает элемент xml, который может содержать разметку XML в качестве своего содержимого илиссылка на него с атрибутом src.Поэтому, если вы не хотите использовать что-то специфичное для IE, например, как XML-данные, кросс-браузерный способ загрузки XML-данных в виде HTML-документа заключается в использовании XMLHttpRequest с Javascript.

0 голосов
/ 23 января 2011

Вы можете использовать PHP: класс XSL для преобразования XML и включения его через PHP на своей странице.

Например: showxml. php <?php function processXML($file,$styles){ ... //<a href="http://php.net/manual/en/book.xsl.php" rel="nofollow">example here</a> } <html> ... <div id="xml> <?php echo processXML('foo.xml','bar.xsl'); ?> </div> ... </html>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...