본문 바로가기
JavaScript

HTML - 공식문서 1.8 HTML vs XML syntax

by 새발개발JA 2025. 1. 7.
반응형

HTML 스펙 문서를 읽고 간추리고 번역하고 정리해 보았다

(부족한 부분이 있다면 댓글로 남겨주세요~)

 

1.8 HTML vs XML syntax

 

문서와 프로그램을 설명하는 추상 언어와 해당 언어를 사용하는 자원들(DOM)의 인터랙션을 위한  API 를 정의해보자.    이 자원들(in-memory representations)은  DOM HTML  혹은 DOM  이라고 짧게 줄여 말할 수 있다. 이러한 자원들을 전송하기 위해 사용되는 다양한 콘크리트 syntax(구문)들 중 2가지를 소개해보겠다.

 

첫 번째로 소개할 형식은  HTML 이다. 이 구문는 대체로 널리 사용되고 있는 포맷이고, 레거시 브라우저들과도 호환이 가능하다. [text/html] 와 같은 mime type 을 네트워크 헤더에 포함시킨 문서를 전송한다면, 웹 브라우저에 의해  최신의 문법이 사용된 HTML문서로 실행된다.

 

두 번째로 소개할 형식은 XML 이다. 문서를 전송할 때, [application/xhtml+xml] 와 같은 XML MIME type 형식으로 보내게 되면, 웹 브라우저에 의해  XML  프로세서에 의해 파싱되어 XML문서로 실행된다. 

 

➡️XML 은 렌더링 전에 타이포같은 마이너한 에러를 잡아주지만, HTML 구문에서는 에러 상관없이 렌더링된다.

 

XHTML  이라는 용어가 있다. The XML syntax for HTML  이라는 뜻이지만 이 문서에서는 이 용어를 사용하지 않겟다. (다른 데서는 이용어를 공식적으로 사용하지 않기 때문)

 

DOM, HTML, XML 은 같은 컨텐츠를 모두가 표현할 수 없다. 즉, 지원되는 기능이 조금씩 다르다.

예를 들어 namespace 의 경우, HTML 구문에서는 사용할 수 없지만, DOM 이나 XML 에서는 지원이 된다.

비슷하게도  noscript 속성을 사용하는 문서에서는 HTML 구문을 사용할 수 있다. 하지만  DOM, XML 은 지원이 안 된다.

그밖에도 "-->"  를 포함하는 명령어는 DOM 은 사용할 수 없으며,  HTML, XML 에서는 안 된다.

 

This specification defines an abstract language for describing documents and applications, and some APIs for interacting with in-memory representations of resources that use this language.The in-memory representation is known as "DOM HTML", or "the DOM" for short. There are various concrete syntaxes that can be used to transmit resources that use this abstract language, two of which are defined in this specification.
 
 The first such concrete syntax is the HTML syntax. This is the format suggested for most authors. It is compatible with most legacy web browsers.  If a document is transmitted with the [text/html]  [MIME type] then it will be processed as an HTML document by web browsers. This specification defines the latest HTML syntax, known simply as "HTML".

The second concrete syntax is XML. When a document is transmitted with an [XML MIME type], such as `[application/xhtml+xml]`, then it is treated as an XML document by web browsers, to be parsed by an XML processor. 

Authors are reminded that the processing for XML and HTML differs; 
in particular, even minor syntax errors will prevent a document labeled as XML from being rendered fully, whereas they would be ignored in the HTML syntax.

The DOM, the HTML syntax, and the XML syntax cannot all represent the same content. 
For example, namespaces cannot be represented using the HTML syntax, but they are supported in the DOM and in the XML syntax. Similarly, documents that use the `[noscript]` feature can be represented using the HTML syntax, but cannot be represented with the DOM or in the XML syntax. Comments that contain the string "`-->`" can only be represented in the DOM, not in the HTML and XML syntaxes.

 

반응형

댓글