HTML은 사용자 정의 메타/구조 정보의 표현이 불가능하고, 무결성 검증이 어려워서 HTML로 만든 정보는 재가공할 수 없다. 이것의 대책으로 제시된 XHTML은 HTML에서 재활용할 수 있는 엘리먼트를 모은 집합을 통해 사용자가 DTD를 정의할 수 있게 한다.
앞서 설명하였듯이, HTML 자체는 정해져있는 DTD이므로, 사용자 정의 메타 정보와 사용자 정의 구조 정보를 표현할 수 없다는 확장의 문제가 있다. 또한 메타 정보와 사용자 정의 구조 정보의 무결성을 지원하는 자동 검증이 어렵다. 무결성을 보장할 수 없기 때문에 HTML로 만들어진 정보의 재가공이 어렵다. 이를 해결하기 위한 방안으로 XHTML이 제시되었다.
XHTML은 HTML 4.0을 하나의 XML 1.0 응용으로서 재구성한 것으로, 궁극적으로는 SGML의 엘리먼트 집합 개념으로 만들어진다. DTD 개발에 재활용할 수 있는 엘리먼트들을 그룹별로 모아서 선언한 것을 엘리먼트 집합이라 하는데, 객체지향 프로그래밍의 클래스 개념과 유사한 개념으로 ISO 8879 SGML에서 제공하는 것이 엘리먼트 집합이라고 볼 수 있다. XHTML은 HTML에서 재활용 가능한 엘리먼트 집합을 추출하여 선언하고 이를 사용하여 사용자가 정의하는 DTD를 만드는 것을 가능케 한다.