<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
target1, target2, target3, target4 {
    width: 100px;
    height: 100px;
    display: block;
    float: left;
    background-color: white;
    color: white;
    border: none;
}
target1 {
    background-color: red;
}
target2 {
    border: 2px solid blue;
}
target3 {
    color: green;
}
</style>
</head>
<body>
    <p>Test styling of elements using their local name. Matching the name should be case-sensitive for XHTML.</p>
    <div id="test-cases">
        <target1 class="">Target</target1>
        <target2>Target</target2>
        <target3>Target</target3>
        <xml xmlns="https://www.webkit.org/awesome">
            <target1>Target</target1>
            <target2>Target</target2>
            <target3>Target</target3>
        </xml>
    </div>
</body>
<script><![CDATA[
    var xmlDocument = new DOMParser().parseFromString('<xml xmlns="https://www.webkit.org/awesome"><target1>Target</target1><target2>Target</target2><target3>Target</target3></xml>', 'text/xml');
    var testCases = document.getElementById("test-cases");
    testCases.appendChild(document.importNode(xmlDocument.documentElement, true));
]]></script>
</html>
