Здравствуйте, mihauzen, Вы писали:
M>Есть код проигрывания видео спомощью html...
M>Нужно создать такой XML файл, который делал бы то же самое.
Дело в том, что XML сам по себе таких средств не содержит. XML — просто язык записи
каких-то данных. Здесь ниже ты используешь одно из
приложений XML —
XHTML. XHTML, попросту, тот же HTML, только записанный по строгим синтаксическим правилам XML (обязательное закрытие и правильная вложенность элементов, заключение значений атрибутов в кавычки и т. п.).
M>Немного покопав, нашел как в xml через html вставить image:
M>M><?xml version="1.0"?>
M>...........
M><html:IMG xmlns:html='http://www.w3c.org/TR/REC-html40'
M>STYLE="CONTAINER:POSITIONED; POSITION:ABSOLUTE; TOP:100px; LEFT:100px; WIDTH:128px; HEIGHT:128px;" src="Gone_Fishing.gif"/>
M>...........
M>
Обрати внимание, тэг
IMG закрыт по правилам XML: перед закрывающей скобкой
> стоит слэш
/, обозначая что элемент пустой. В HTML тэг
IMG явным образом не закрывается. В XML оставление тэга незакрытым привело бы к синтаксической ошибке.
M>Кстати, зачем нужна эта строка: xmlns:html='http://www.w3c.org/TR/REC-html40'
?
Это особого рода атрибут — объявление пространства имен. Здесь указывается пространство имен
http://www.w3c.org/TR/REC-html40 и указывается, что ему сопоставляется префикс
html.
Наверное, здесь есть ошибка. Тот URL, который приведен, является ссылкой на определение HTML, а не URI пространства имен. Правильным было бы указание URI пространства имен
http://www.w3.org/1999/xhtml. В этом пространстве имен определен словарь элементов и атрибутов, имеющих отношение к XHTML. Эта связка "пространство имен — префикс" действительна в самом элементе, где объявлена (в данном случае
IMG), в его атрибутах, во вложенных в него элементах и в их атрибутах.
Префикс используется в самом тэге элемента:
html:IMG обозначает элемент
IMG из пространства имен
http://www.w3c.org/TR/REC-html40, в соответствии с привязкой префикса. То есть, если бы был указан правильный URI пространства имен, это бы значило, что имя
IMG — из словаря XHTML, а не из какого-либо другого.
Кроме того, к XHTML ради совместимости с HTML-процессорами обычно предъявляется требование объявлять пространство имен как пространство имен по умолчанию:
xmlns="http://www.w3.org/1999/xhtml". Тогда запись имен тэгов не сопровождается префиксом и становится очень похожа на запись в HTML.
Атрибуты, как правило, пространством имен не квалифицируются, т. к. их назначение обычно явно определяется элементом, к которому они отнесены.
M>Как сделать что-то схожее (а может иначе), только для проигрывания видео?
M>XML файл подымается эксплорером.
Вероятно, нужно взять исходный HTML и привести его к синтаксису XML.
Кроме того, нужно вставить декларацию типа документа, а также привести все имена элементов к нижнему регистру, т. к. XML — язык, чувствительный к регистру:
<?xml version="1.0"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<object
id="WMPlay" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
standby="Loading Microsoft Windows Media Player components..."
width="500" height="500">
<param name="FileName" value="test.avi"/>
<param name="autoplay" value="true"/>
<param name="showcontrols" value="false"/>
<param name="enabled" value="false"/>
</object>
</body>
</html>
Как к этому относятся разные браузеры, я, к сожалению, точно сказать не могу. IE это съест, но, кажется, он интерпретирует это так же, как просто HTML.
Да здравствует ИМХО!