2012-04-06 2 views
1

마크 업 언어가 HTML 인 경우 대/소문자를 구분하지 않으며 xml 대소 문자를 구분하는 이유는 무엇입니까? 대소 문자를 구분하거나 대소 문자를 구분하지 않는 기본 개념은 무엇입니까? 그리고 왜 그리고 무엇을 기준으로 끝났습니까?대소 문자를 구분하는 이유는 무엇입니까?

+1

역사적인 이유. SGML에서 파생 된 XML은 대소 문자를 구분하며 HTML은 원래 단순함을 위해 대소 문자를 구분하지 않았습니다. –

+0

[faq] (http://stackoverflow.com/faq)에서 질문 할 수있는 질문 유형을 확인하십시오. – Jeroen

+2

@ EugeneMayevski'EldoSCorp HTML은 SGML에서 응용 프로그램으로 파생되었습니다. XML 나는 SGML과 무관하다고 생각한다. 명확히하십시오. –

답변

3

간단히 : 대/소문자를 구분하는 것이 사람이 쉽게 작성할 수 있지만 대/소문자를 구분하는 것은 컴퓨터가 구문 분석하는 것이 약간 쉽습니다. 또한 유니 코드로 작성된 언어의 경우 "다른 사례가있는 동일한 문자"가 무엇인지 파악하는 것이 덜 사소한 일입니다.

그게 전부입니다. 많은 식별자가 생성되는 경우에도, 경우에 따라 다른 식별자를 만드는 것은 거의 불가능합니다.

+0

나는 "약간 더 쉬울 것"은 과장이라고 주장 할 것입니다. 'ToLowerCase' 또는 원하는 언어로 호출 된 것을 실행하십시오. (당연히 오류 메시지에 대한 원래의 대소 문자를 잃어 버릴 수 있습니다.하지만 이것은 여분의 크레딧 일 뿐이며 원본과 정규화 된 값을 모두 저장하는 20 줄 래퍼 클래스로 복원 할 수 있습니다. 포장). 물론 이것은 상기 언어로 적절한 문자열 처리를 가정합니다. 물론, 이것은 적어도 전체적으로 유니 코드 문제를 해결하지 못합니다. – delnan

+0

@delnan 제게 저를 위해 제 사례를 제시합니다. 언어 디자이너 (및 구현 자)가 거의 흥미를 느끼지 않는 대소 문자를 구분하지 않는 코드를 다루는 것이 더 복잡합니다. – Marcin

0

대소 문자를 구별하는 데 따른 이점이 있으며 대소 문자를 구분하지 않는 것이 좋습니다. 어떤 의견이 가장 좋은지에 대한 의견은 다양하므로 의견이있는 사람들이 언어를 고안하므로 언어가 달라질 수 있습니다.

ASCII가 아닌 유니 코드 전체를 지원할 때 대/소문자를 구분하지 않으면 HTML 태그 이름이 모두 ASCII이며 XML 태그 이름이 차이를 설명 할 수있는 것보다 훨씬 넓은 레퍼토리를 사용할 수 있기 때문에 훨씬 복잡합니다.