Können Sie XHTML-Elemente in einem anderen Namespace mit CSS-Selektoren für ID- und Klassennamen formatieren?

Ich entwickle eine Anwendung, die Ubiquity-Xforms verwendet. Zuvor hatte ich die Seiten als Text / HTML mit dem Doctype XHTML 1.0 bereitgestellt.

Wenn ich den MIME-Typ auf application / xhtml + xml umstelle, würde ich eine ziemlich große Leistungsverbesserung feststellen, da das Javascript die Funktionen get ____ NS () anstelle dessen verwenden könnte, was es jetzt tut (jedes Mal langsam durch den gesamten DOM-Baum iterieren) es muss ein Element ausgewählt werden).

Aber als ich das versuchte, funktionierte ein Haufen meiner CSS nicht mehr. Als ich die Elemente in Firebug oder im WebKit Nightly Web Inspector überprüfte, stellte ich fest, dass die Fehlerursachen die CSS-Selektoren '.classname' und '#id' für Elemente im XFORMS-Namespace waren. Ich bemerkte auch, dass in den aufgelisteten DOM-Eigenschaften für diese Elemente sowohl die Attribute 'id' als auch 'className' fehlten.

Meine Frage ist, gibt es eine Möglichkeit, die UA dazu zu bringen, diese als Klassen und IDs zu erkennen?

Dinge, die ich versucht habe, ohne Erfolg:

Angabe der "id" -Attribute als ID in der ATTLIST eines Inline-DoctypsIch probiere jeden Doctype aus, den ich konnte, oder gar keinen DoctypeQualifizieren der Attribute id und class name im xhtml-Namespace (dh xhtml: id)

Hier ist ein Beispiel für xhtml. Funktioniert weder in Firefox 3.5 noch in 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>

Antworten auf die Frage(3)

Ihre Antwort auf die Frage