문제

HTML 5는 Firefox 3.1 및 기타 브라우저에서 (부분적으로) 지원될 것으로 보입니다.비디오 및 오디오에 대한 지원을 태그로 추가하고 있지만 이는 XHTML 1.0 Transitional에서 인식하지 못하는 새로운 태그입니다.Firefox의 향후 버전에서 새로운 HTML 5 태그를 사용하지만 XHTML에는 DTD를 사용하면 어떻게 될까요?HTML 5 마크업과 XHTML 1.0 Trans를 혼합하면 어떻게 되나요?

점점 혼란스러워지고 있습니다.왜 그들은 XHTML에 이러한 태그를 추가하지 않았습니까?XHTML과 HTML 5를 모두 어떻게 지원합니까?

HTML 5의 비디오: http://www.youtube.com/watch?v=xIxDJof7xxQ

도움이 되었습니까?

해결책

글쎄, 일반적으로 말하면 HTML은 SGML이고 XHTML은 XML로 표현됩니다. 이로 인해 XHTML을 만드는 것은 HTML보다 더 많은 제한 (마크 업 형태)과 연결됩니다. (SGML 기반 대 XML 기반 HTML)

언급했듯이 위키 백과, HTML 5는 또한 XHTML 변형 (XHTML 5)을 갖습니다.

경험 규칙 : 항상 유효한 마크 업을 표시해야합니다. 그것은 또한 당신이 언급 된 것을 사용해서는 안된다는 것을 의미합니다. <video> 또는 <audio> XHTML 1.0의 태그는 해당 사양의 요소가 아니기 때문에 과도기입니다. 만약 너라면 정말 필요한 해당 태그를 사용하려면 (의심의 여지가 있음), 문서가 해당 문서에 있는지 지정하려면 HTML 5/XHTML 5 DTD를 사용해야합니다.

주어진 구현 상태에서 HTML 5 또는 XHTML 5를 사용하여 (AFAIK는 표준이 정착되지 않았지만 아직 정확합니까?) 거의 모든 사용자가 웹 사이트가 어쨌든 렌더링 된 것을 볼 수 없으므로 반 생산성이있을 수 있습니다.

편집 2013 : 최근의 다운 보트로 인해이 수락 된 답변을 삭제할 수 없기 때문에 (나에 의해) HTML5의 지원과 표준화 프로세스는 5 년 전에이 답변을 썼을 때의 상황과 완전히 다르다고 덧붙이고 싶습니다. . 대부분의 주요 브라우저는 HTML5 드래프트의 대부분의 부분을 지원하고 오래된 브라우저에서 많은 물건을 고정 할 수 있기 때문에 주로 HTML5를 사용합니다.

다른 팁

HTML5는 XHTML 1.0보다 작성하기가 훨씬 쉽습니다.

  1. "를 수동으로 선언할 필요는 없습니다.http://www.w3.org/1999/xhtml" 네임스페이스.

  2. 스크립트 및 스타일 요소에 유형 속성을 추가할 필요가 없습니다(기본값은 text/javascript 및 text/css입니다).

  3. 브라우저가 대부분을 무시하는 긴 문서 유형을 사용할 필요는 없습니다.기억하기 쉬운 <!DOCTYPE html>을 사용해야 합니다.

  4. doctype에 dtd uri를 포함할지 여부를 선택할 수 없으며 전환 및 엄격 사이에서 선택할 수 없습니다.전체 표준 모드를 ​​호출하는 엄격한 문서 유형이 있습니다.이렇게 하면 실수로 거의 표준 모드나 특수 모드에 들어가는 것에 대해 걱정할 필요가 없습니다.

  5. charset 선언은 훨씬 간단합니다.그것은 단지 <meta charset="utf-8">입니다.

  6. void 요소를 <name>으로 작성하는 것이 혼란스러우면 원하는 경우 <name/>을 사용할 수 있습니다.

  7. HTML5에는 정말 좋은 유효성 검사기가 있습니다. http://validator.nu/.유효성 검사기는 모든 규칙을 표현할 수 없는 형편없는 DTD에 얽매이지 않습니다.

  8. //<![CDATA 등을 추가할 필요가 없습니다.인라인 스크립트 또는 스타일시트(특정 상황의 경우)에서 유효성을 검사합니다.

  9. 필요한 경우 삽입을 사용할 수 있습니다.

구문 측면에서 HTML5를 사용하면 항상 표준 모드를 ​​호출하는 더 깔끔하고 읽기 쉬운 마크업이 생성됩니다.XHTML 1.0(text/html로 제공됨)을 사용하면 브라우저가 자동으로 수행할 복잡한 dtd에 대해 유효성을 검사하기 위해 여러 가지 거친 작업을 지정하게 됩니다.

이 스레드에는 신화와 오해가 많이 있습니다.

  1. XHTML 1.0은 HTML 5보다 오래되었습니다. 새로운 어휘를 사용할 수 없습니다. 실제로 주요 판매 포인트는 HTML 4.01과 정확히 동일한 어휘를 사용한다는 것입니다.

  2. XHTML 1.2가 없을 것입니다. 그리고 그것은 필요하지 않습니다. XHTML 5는 HTML 5의 XML 직렬화입니다. 동일한 어휘, 다른 구문 분석 규칙입니다.

  3. HTML은 브라우저에서 진정한 SGML로 취급 된 적이 없습니다. 브라우저는 SGML 호환 파서를 구현 한 적이 없습니다. HTML 5는이 사실을 규칙으로 만들 것이며 HTML 직렬화는 오늘날의 표준을 따릅니다. 아마도 "sgml-ish"라고 말할 수 있습니다.

  4. 언급 한 바와 같이, DTD는 브라우저에서 정확히 하나의 목적을 제공하며 이는 표준 준수 모드와 퀴크 모드를 구별하는 것입니다. 따라서 스타일링과 스크립팅에만 영향을 미칩니다. Astrict Doctype가있는 페이지의 프레임을 사용하는 경우 잘 렌더링됩니다. 의지대로u003Cembed> 그리고 심지어u003Cmarquee> - 후자는 가증 한 사람이고 전자는 현재 표준에 있지 않더라도. 그러나 그것은 HTML 5의 일부입니다.

  5. 비디오 및 오디오는 직렬화, XML 또는 HTML에 관계없이 사용할 수 있습니다. 이들은 HTML 5 및 XHTML 5의 일부입니다. 파싱 스테이지가 끝나면 브라우저가 문서의 내부 DOM을 구성했습니다. 그 DOM은 직렬화에 관계없이 모든 실제 목적을위한 것입니다. 그리고 네, 텍스트/html로 전송 된 xhtml은 DocType에 관계없이 여전히 정상적인 HTML입니다.

당신은 문제를 잘못된 방식으로보고있을 것입니다. xhtml 1.x와의 관계 섹션, HTML 5 상태 :

"이 사양은 XHTML 1.0을 HTML 어휘의 XML 직렬화의 규범 적 정의로 대체하기위한 것입니다."

이제 언어는 논란의 여지가 있습니다 (XHTML 2 WG는 이에 대한 이의를 제기했으며 HTML WG는 차이점을 해결하려고 노력하고 있습니다.)

몇 가지 메모 :

DocTypes는 브라우저에서 하나의 목적 만 사용합니다. 따라서 사용 <video> 그리고 <audio> DocType 선언과 함께 작동합니다. IMO, XHTML DocType를 사용하는 것은 매우 쓸모가 없습니다. text/html 마임 유형은 어쨌든 (tag-soup) html로 구문 분석됩니다. HTML5 DocType를 사용하는 것이 좋습니다.<!doctype html>), 기억하기 쉽고 이유없이 XML 구문에서 강요하지 않기 때문에.

왜이 태그를 XHTML에 추가하지 않았습니까?

그들은 실제로 HTML 5 (XHTML5)의 XML 직렬화가 있습니다. 이것을 사용하려면 XML Mime 유형으로 페이지를 보내야합니다. application/xhtml+xml. 그러나 이것은 (아직) IE에 의해 뒷받침되지는 않습니다.

Firefox의 향후 버전에서 새로운 HTML 5 태그를 사용하지만 XHTML 용 DTD를 사용하면 동작은 무엇입니까?

XHTML 1.0 트랜스와 HTML 5 마크 업을 혼합하면 어떻게됩니까?

선택한 DTD의 일부로 마크 업이 구현되지 않은 경우 논리적으로 해당 마크 업을 따르지 않아야합니다. 그러나 브라우저 구현이 항상 엄격하게 논리적 인 것은 아닙니다.

왜이 태그를 XHTML에 추가하지 않았습니까? XHTML과 HTML 5를 모두 지원합니까?

XHTML은 HTML보다 낫지 않지만 일부 응용 프로그램에 더 적합합니다. XHTML의 주요 이점 중 하나는 XSLT를 사용하여 다른 형식으로 변환 할 수 있다는 것입니다. 예를 들어 XSLT를 사용하여 XHTML을 RSS 피드 또는 다른 XML 형식으로 자동 변환 할 수 있습니다.

두 형식을 모두 지원할 필요가 없습니다. 프로젝트 요구 사항에 따라 각각의 이점/단점을 평가하십시오. HTML 5는 아마도 꽤 오랫동안 표준이 아닐 것입니다.

(x) html5는 다음 버전입니다. xhtml5가 잘 지원 될 때까지 xhtml1.1을 사용해야합니다.

HTML5의 후진 호환성 SGML 프로파일을 사용해서는 안됩니다. 스크레이퍼와 작은 구문 분석기에게는 더 어려워집니다.

당신의 Doctype HTML5 또는 XHTML을 사용하는지 브라우저에 알려줍니다. 하나의 Doctype에서 다른 DocType의 문서로 태그를 밀어서 작동하기를 기대할 수는 없습니다. DocType가 없으면 어쨌든 그것은 단지 태그 수프입니다.

99%의 사람들이 브라우저에서 제대로 볼 수 없을 때 비디오/오디오 태그와 같은 것을 사용하지 마십시오. 이 두 가지 예 중 하나에 대해 FLV를 사용하는 것이 좋습니다.

그들이 XHTML에 추가하지 않는 이유는 ... 1.0은 가장 최근 버전이 아니며 1.1은 얼마 전에 출시되었습니다.

결국 상황이 표준화되고 우리는 이러한 유형의 태그를 두 표준 모두에서 볼 수 있지만 지금은 대부분의 사람들이 귀하의 콘텐츠를 볼 수 있도록 최선을 다할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top