blob: 634f4b686e9287e111755d42171bad497709fbb6 [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style>
target {
display: block;
height: 20px;
min-width: 20px;
float: left;
margin: 2px;
}
target:matches([data-Foo], [data-Æøå], [data-Foo-Æøå]) {
background-color: green;
}
target:matches([data-FOO], [data-ÆØÅ], [data-FOO-ÆØÅ]) {
color: blue;
}
target:matches([data-foo], [data-æøå], [data-foo-æøå]) {
border: 2px dashed red;
}
</style>
</head>
<body>
<p data-Foo data-ÆØÅ data-foo-æøå>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 data-foo data-Foo-Æøå data-Æøå>If the test succeed, each block should be styled as described.</p>
<target data-Foo>Green background, blue text, dashed red border.</target>
<target data-FOO>Green background, blue text, dashed red border.</target>
<target data-foo>Green background, blue text, dashed red border.</target>
<target data-Æøå>Green background color.</target>
<target data-ÆØÅ>Blue text.</target>
<target data-æøå>Dashed red border.</target>
<target data-Foo-Æøå>Green background color.</target>
<target data-FOO-ÆØÅ>Blue text.</target>
<target data-foo-æøå>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"><target data-Foo="">Green background color.</target><target data-FOO="">Blue text.</target><target data-foo="">Dashed red border.</target><target data-Æøå="">Green background color.</target><target data-ÆØÅ="">Blue text.</target><target data-æøå="">Dashed red border.</target></xml>', 'text/xml');
var container = document.getElementById("xml-container");
container.appendChild(document.importNode(xmlDocument.documentElement, true));
</script>
</html>