2009-05-05 4 views
6

XML을 이해함에있어서, XML은 SGML을 단순화하고 더 널리 사용되도록 고안된 SGML의 하위 집합입니다.XML 대신 SGML을 사용할 이유가 있습니까?

대부분의 유용한 기능이 XML로 가져 왔지만, SGML에서 강력한 기능을 사용하여 XML 대신 사용하고 (복잡성의 오버 헤드를 수용 할만큼) 강력한 기능이 있습니까?

답변

8

수동으로 편집하는 경우 SGML의 장점 중 하나는 태그를 여러 가지 방법으로 줄여 쓸 수 있다는 것입니다. 정확히 할 수있는 일은 사용하는 DTD에 대한 SGML 선언에 따라 다릅니다. 예를 들어, DocBook에서 < 리터럴> foo < />과 같은 것을 쓸 수 있습니다. HTML에서는 끝 태그를 생략 할 수 있습니다. 따라서 태그를 닫지 않고 < p> foo ... < p> 바를 쓸 수 있습니다. 또는 태그를 모두 생략 할 수 있습니다. 따라서 < body>는 HTML에서 선택 사항입니다.

그러나 XML은 이러한 모든 변형으로 인해 SGML 구문 분석이 복잡해지기 때문에 정확하게 고안되었습니다. 현재 SGML 편집기보다 더 뛰어난 XML 편집기를 찾을 수 있습니다.

일부 모서리의 경우를 제외하고는 앞뒤로 변환 할 수 있기 때문에 두 가지 형식이 동일합니다.

+0

Nrrgh, +2 버튼이 필요합니다 ...! (훌륭한 설명은 +1, 퀴즈는 +1!) – pinkgothic

1

특정 응용 프로그램을 염두에 두지 않는 한 대답 할 수 없습니다. SGML을 사용하여 더 나은 인덱싱 및 검색을 할 수 있지만 XML보다 더 나은 옵션을 찾지 못했습니다. 나는 그들이 저기에 있다는 것을 확신한다, 나는 단지 그들을 발견하지 못했다.

승리 요인은 XML의 여러 플랫폼에서의 렌더링 성숙도입니다. 동일한 호환성은 SGML에 존재하지 않습니다. 그러나 환경을 제어 할 수 있다면 그 요소가 아닐 수도 있습니다. XML은 훨씬 적은 복잡성을 위해 기능의 90 %를 제공하는 것 같습니다.

2

아니요. SGML을 사용하는 유일한 이유는 SGML이 이미 프로덕션 프로세스의 일부인 출판 업계에서 일하는 경우입니다. (다른 산업이있을 수도 있지만 그것이 내가 경험 한 유일한 산업입니다).

또 다른 방법은 SGML에 좋은 기능이 있지만 SGML ("출판 업계"참조)을 사용하여 재정적 이익을 명확하게 보여줄 수있는 경우가 아니라면 도구를 지불 할 가치가 없습니다.

관련 문제