2014-04-04 2 views
4

:: 진수 숫자 문자 참조 :허용되지 않음 십진수 문자 참조 : 금지되었거나 텍스트입니까? <a href="http://www.w3.org/html/wg/drafts/html/master/syntax.html#syntax-charref" rel="nofollow">HTML 5.1 spec</a>에 따르면

앰퍼샌드는 "#"가 와야합니다 (U + 0023) 문자는베이스 - 열 정수를 나타내는 하나 개 이상의 ASCII 숫자에 의해 을 따라 그 는 아래 정의에 따라 허용되는 유니 코드 코드 포인트에 대응한다. 그런 다음 숫자 뒤에 ";" (U + 003B) 문자입니다.

아래

: 상술

숫자 문자 기준 양식 참조 U + 0000, U + 000D, 완전히 정의 유니 코드 문자 (noncharacters) 이외의 유니 코드 코드 포인트로 허용되고 대리 문자 (U + D800-U + DFFF)과 공백 문자 이외의 제어 문자를 대리합니다.

나는 혼란 스러워요. 그것은 뜻 (굵은 글씨) (U + 000 또는 U + 00D와 같은)를 참조 할 수없는 문자가 이 아닌 참조로, 금지하거나 텍스트으로 처리됩니다?

TL&#XD;과 같이 참조 할 수없는 엔티티에 대한 유효성 검사 오류를 발생 시키거나 텍스트로 처리해야합니까?

답변

3

8.2.4.69 Tokenizing character references는 말한다 : 수 0xDFFF의 범위 0xD800에 있거나 0x10FFFF보다 큰 경우

그렇지 않으면,이는 parse error이다. U + FFFD REPLACEMENT CHARACTER 캐릭터 토큰을 돌려줍니다.

그렇지 않으면, 그 코드 포인트 그 수있는 유니 코드 문자에 대한 문자 토큰을 반환합니다. 개수 인 0x0008의 범위가 0x0001 인 경우 또한, 0x001F, 0x009F까지 0x007F, 0xFDEF에 0xFDD0에 0x000D 또는 버려짐 0x000b, 0xFFFE, 0xFFFF가, 0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, 0x3FFFF, 0x4FFFE, 0x4FFFF 중 하나이다 , 0x5FFFE, 0x5FFFF, 0x6FFFE, 0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, 0x10FFFE 또는 0x10FFFF, 다음은 parse error입니다.

1

그것은 지금까지 내가 찾을 수있는 사양에 지정되지 않은 반면, (모든 아니라면?) 최신 브라우저가 여전히 문자로 취급하지만, 대부분의 사람들은 알려진 규모의 알 수없는 기호 마커에 속하지 않는 경우 대신 인쇄 : 나는이 질문에 널리 적용 할 생각으로

Sample

그러나 신뢰할 수있는 (사양) 소스에서 그리기 대답이 더 좋을 것이다.

this answer to a related question도 참조하십시오.