Я разрабатываю приложение, которое использует ubiquity-xforms. Ранее я обслуживал страницы как text / html с типом XHTML 1.0.
Если бы я переключил mime-тип на application / xhtml + xml, я бы увидел довольно значительное улучшение производительности, потому что javascript мог бы использовать функции get ____ NS () вместо того, что он делает сейчас (медленно итерируя по всему DOM дерево каждый раз, когда нужно выбрать элемент).
Но когда я попробовал это, куча моих CSS перестала работать. Я заметил, что когда я проверял элементы, либо в Firebug, либо в WebKit Nightly Web Inspector, точкой отказа были селекторы css '.classname' и '#id' для элементов в пространстве имен XFORMS. Я также заметил, что в перечисленных свойствах DOM для этих элементов им не хватало атрибутов 'id' и 'className'.
У меня вопрос: есть ли способ, чтобы я мог заставить UA распознавать их как классы и идентификаторы?
Вещи, которые я пробовал, безрезультатно:
- указание атрибутов "id" в качестве идентификатора в ATTLIST встроенного документа
- пробовал каждый тип документа, который мог, или вообще не использовал тип
- уточнение атрибутов id и имени класса в пространстве имен xhtml (т. Е. Xhtml: id)
Вот некоторый пример xhtml. Не работает ни в Firefox 3.5, ни в Safari 4 / WebKit Nightly
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:xf="http://www.w3.org/2002/xforms">
<head>
<style type="text/css">
/* <![CDATA[ */
#test {
background-color: red;
}
.testing {
color: blue;
}
/* ]]> */
</style>
</head>
<body>
<xf:group id="test" class="testing">Test</xf:group>
</body>