<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style>
    target, target1, target2, target3 {
        display: block;
        height: 20px;
        min-width: 20px;
        float: left;
        margin: 2px;
    }
    target1 {
        background-color: green;
    }
    target2 {
        color: blue;
    }
    target3 {
        border: 2px dashed red;
    }
</style>
</head>
<body>
    <p>In HTML, attribute name matching is case-insensitive but only in the ASCII range. In XML, attributes are always case-sensitive. When matching attributes on a document mixing XML and HTML, each type should handle the case correctly.</p>
    <p>If the test succeed, each block should be styled as described.</p>
    <target style="background-color: green; color: blue; border: 2px dashed red;">Green background, blue text, dashed red border.</target>
    <target style="background-color: green; color: blue; border: 2px dashed red;">Green background, blue text, dashed red border.</target>
    <target style="background-color: green; color: blue; border: 2px dashed red;">Green background, blue text, dashed red border.</target>
    <target style="background-color: green;">Green background color.</target>
    <target style="color: blue;">Blue text.</target>
    <target style="border: 2px dashed red;">Dashed red border.</target>
    <target style="background-color: green;">Green background color.</target>
    <target style="color: blue;">Blue text.</target>
    <target style="border: 2px dashed red;">Dashed red border.</target>
    <xml-container id="xml-container"></xml-container>
</body>
<script>
    var xmlDocument = new DOMParser().parseFromString('<xml xmlns="https://www.webkit.org/awesome"><target1>Green background color.</target1><target2>Blue text.</target2><target3>Dashed red border.</target3><target1>Green background color.</target1><target2>Blue text.</target2><target3>Dashed red border.</target3></xml>', 'text/xml');
    var container = document.getElementById("xml-container");
    container.appendChild(document.importNode(xmlDocument.documentElement, true));
</script>
</html>
