2012-04-09 5 views
0

이 샘플 코드는 w3c 유효성 검사기를 통과하지 않습니다.XHTML5 및 사용자 지정 네임 스페이스가 유효성 검사를 통과하지 않습니다.

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:foo="http://foo.com/fooxml"> 
<head> 
    <title>Foo</title> 
</head> 
<body> 
    <foo:TabControl> 

    </foo:TabControl> 
</body> 
</html> 

무엇이 누락 되었습니까? 네임 스페이스를 만들고 유효성 검사를 통과하려면 어떻게해야합니까?

답변

2

귀하의 DTD (http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd)는 "XHTML 1.0 Strict + Foo"가 아닌 "XHTML 1.0 Strict"입니다.

유효성을 검사하려면 사용중인 모든 요소와 속성을 포함하는 DTD를 찾거나 작성해야하며 Doctype이이를 가리 키도록 변경해야합니다.

W3C의 recommended Doctypes 목록에는 자신 만의 예제를 만들기 위해 사용할 수있는 여러 네임 스페이스 문서 (예 : XHTML + MathML + SVG)가 포함되어 있습니다.

+0

기존 HTML DTD (html, head, body, div, ul 등)를 기반으로하는 XHTML 문서를 만든 다음이 네임 스페이스를 추가하고 'foo : TabControl'을 사용할 수 있습니까? 나는 전체 HTML을 모든 요소와 함께 재창조하고 싶지 않다. 하이브리드 doctypes를 만들 수 있습니까? – Tower

+0

XHTML은 혼합 된 네임 스페이스 문서를 쉽게 만들 수 있도록 모듈로 표현됩니다. 내 대답에 예제로 제안한 DTD를 참조하십시오. – Quentin

+0

아 아하. 그래서 나는 단지'TabControl'과 같이 자신이 선택한 요소로 자신의 DTD를 만든 다음 XHTML + Foo라는 DTD를 만듭니다. – Tower