문제

내가 이해 한 바와 같이, XML은 그것을 단순화하고보다 광범위한 사용법을 장려하기 위해 SGML의 하위 집합입니다.

가장 유용한 기능이 XML로 가져온 것 같지만 SGML에는 XML 대신 사용을 동기를 부여하고 복잡한 오버 헤드를 수락 할 수있는 기능이 있습니까?

도움이 되었습니까?

해결책

SGML의 장점 중 하나는 수동으로 편집하는 경우 다양한 방식으로 태그를 약화시킬 수 있다는 것입니다. 정확히 할 수있는 일은 사용중인 DTD의 SGML 선언에 따라 다릅니다. 예를 들어, DocBook에서는 다음과 같은 것을 쓸 수 있습니다.u003Cliteral> foou003C/> . HTML에서는 엔드 태그를 생략 할 수 있으므로 쓸 수 있습니다.u003Cp> Foo ...u003Cp> 태그를 닫지 않고 막대. 또는 태그를 모두 생략 할 수 있으므로 이유입니다.u003Cbody> HTML에서 선택 사항입니다.

그러나 XML은 이러한 모든 변종이 구문 분석 SGML을 상당히 복잡하게 만들기 때문에 정확히 발명되었습니다. 요즘 SGML 편집기보다 유능한 XML 편집기를 찾을 수 있습니다.

처리하는 한, 일부 코너 케이스를 제외하고 앞뒤로 변환 할 수 있기 때문에 두 형태는 모두 동일합니다.

다른 팁

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

이를 살펴 보는 또 다른 방법은 SGML에 멋진 기능이 있지만 SGML을 사용하여 재정적 이점을 명확하게 보여줄 수 없다면 도구 비용을 지불 할 가치가 없습니다 ( "Publishing Industry"참조).

특정 신청서를 염두에 두지 않으면 대답하는 것은 불가능합니다. SGML로 더 나은 인덱싱 및 검색을 얻을 수 있지만 XML보다 더 나은 옵션 인 경우를 찾지 못했습니다. 나는 그들이 거기에 있다고 확신합니다. 나는 그들을 찾지 못했습니다.

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

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