Сообщение от Gvozd
|
а как вы преобразуете XML в читаемый вид?
|
Эм... Это же текст... он и так читаемый... или ты имел ввиду визуальное оформление - так css легко к нему подключается:
<?xml-stylesheet type="text/css" href="" ?>
Сообщение от Gvozd
|
XSLT же?
|
XSLT поможет в других вещах, например та же сортировка. Преобразовывать в xhtml совсем не обязательно.
Сообщение от Gvozd
|
разве если задать правило преобразования блоков с кодом в <script type="text/javascript"></script> не сработает?
|
Если речь про XSLT и преобразование в xhtml, то конечно сработает, но, опять же, я хочу работать с XML-документом, а не XHTML.
Вот небольшой, но вполне рабочий вариант:
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="style.css" type="text/css"?>
<!DOCTYPE root [
<!ELEMENT root ANY>
<!ELEMENT a (#PCDATA)>
<!ELEMENT script (#PCDATA)>
<!-- создадим пространство имён html, чтобы можно было использовать html элементы в любом месте -->
<!ATTLIST root
xmlns:html CDATA #FIXED "http://www.w3.org/1999/xhtml"
>
<!-- создадим простую гиперссылку xLink -->
<!ATTLIST a
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type CDATA #FIXED "simple"
xlink:href CDATA #REQUIRED
>
<!-- добавим тег script для вставки его в любое место файла -->
<!ATTLIST script
xmlns CDATA #FIXED "http://www.w3.org/1999/xhtml"
type CDATA #FIXED "text/javascript"
>
]>
<root>
<a xlink:href="image.jpg">Image</a>
<!-- Выводим html элемент strong -->
<html:strong>test</html:strong>
<!-- Подгрузим скрипт -->
<script src="script.js" />
</root>
Конечно, можно было бы поступить так:
<?xml version="1.0" encoding="utf-8" xmlns="http://www.w3.org/1999/xhtml" ?>
и дальше писать на чистом xhtml, но это уже не то. Уже нельзя будет создавать свои теги и атрибуты, т.к. всё содержимое находится в пространстве xhtml.
Кстати, есть куча DOM-методов и свойств, которые в ишаке работают только для xml файлов.
В спецификации есть инструменты для вставки в xml документ не-xml данных (звук, видео, картинки) , причём двумя способами: через DTD (сущности) и xLink, но ни один способ не работет в мозилле, в других не тестил.