표준 범용 마크업 언어
Standard Generalized Markup Language![]() | |
파일 이름 확장자 | .sqml |
---|---|
인터넷 미디어 유형 | 응용 프로그램/어플리케이션, 텍스트/어플리케이션 |
Uniform Type Identifier(UTI; 균일 유형 식별자) | public.xml[clarification needed] |
개발자 | ISO |
포맷의 종류 | 마크업 언어 |
확장원 | GML |
확장처 | HTML, XML |
표준. | ISO 8879 |
Standard Generalized Markup Language(SGML; ISO 8879:1986)는 문서의 범용 마크업 언어를 정의하기 위한 표준입니다.ISO 8879 Annex A.1은 일반화 마크업이 "두 가지 [1]공식을 기반으로 한다"고 명시하고 있다.
- 선언적: 마크업은 실행할 필요가 있는 처리를 특정하는 것이 아니라 문서의 구조와 기타 속성을 기술해야 합니다.이는 미래의 전개와 경합할 가능성이 낮기 때문입니다.
- 엄밀:마크업이 처리에 사용할 수 있는 기술을 활용할 수 있도록 마크업은 프로그램이나 데이터베이스와 같은 객체를 엄격하게 정의해야 합니다.
DocBook SGML 및 LinuxDoc은 실제 SGML 도구에서만 사용되는 예입니다.
표준 버전
SGML은 ISO 규격입니다.ISO 8879:1986 정보처리– 텍스트 및 오피스 시스템– Standard Generalized Markup Language (SGML; 표준 범용 마크업 언어)의 3가지 버전이 있습니다.
- 1986년 10월에 받아들여진 오리지널 SGML과 그 후 마이너 테크니컬 코리젠덤.
- 1996년, SGML(ENR)은 임의의 언어 및 스크립트 마크업을 허용하는 확장 명명 규칙을 추가하는 기술 코리겐덤에 의해 생성되었습니다.
- 1998년 SGML(ENR+WW 또는 WebSGML)은 XML 및 WWW 요건을 보다 잘 지원하기 위한 Technical Corrigendum에서 비롯되었습니다.
SGML은 ISO/IEC JTC1/SC34[1][2](ISO/IEC 공동 기술 위원회 1, 소위원회 34 – 문서 설명 및 처리 언어)에 의해 개발된 전자 문서에 대한 ISO 표준 활성화의 3가지 중 하나입니다.
- SGML (ISO 8879)– 범용 마크업 언어
- DSSL (ISO/IEC 10179)– 스킴에 근거한 문서 처리 및 스타일링 언어.
- DSSL은 XML 구문을 사용하는 W3C XSLT 및 XSL-FO로 변경되었습니다[clarification needed].현재 DSSL은 Linux 문서를 제외하고 새로운 프로젝트에서 거의 사용되지 않습니다.
- HyTime – 하이퍼텍스트와 [3]스케줄이 일반화되어 있습니다.
SGML은 특히 다양한 기술 보고서에 의해 지원됩니다.
- ISO/IEC TR 9573 – 정보처리 – SGML 지원 시설 – SGML 사용[4] 방법
- 제13부: 수학 및 과학을 위한 공공 기관 집합
- 2007년에 W3C MathML 작업 그룹은 이러한 엔티티 세트의 유지보수를 맡기로 합의했다.
- 제13부: 수학 및 과학을 위한 공공 기관 집합
역사
SGML은 1960년대에 Charles Goldfarb, Edward Mosher 및 Raymond Lorie가 개발한 IBM의 GML(Generalized Markup Language)에서 파생되었습니다.국제표준의 편집자인 골드파브는 그들의 [5]성 이니셜을 사용하여 "GML"이라는 용어를 만들었다.Goldfarb는 또한 "SGML 핸드북"[6]에서 SGML 구문에 대한 최종 작업을 작성했습니다.SGML의 구문은 COCOA [clarification needed]형식에 가깝습니다.문서 마크업 언어로서 SGML은 원래 정부, 법률 및 업계에서 기계에서 읽을 수 있는 대규모 프로젝트 문서를 공유할 수 있도록 설계되었습니다.이러한 문서의 대부분은 수십 년 동안 읽을 수 있어야 합니다. 즉, 정보기술 분야에서 오랫동안 읽혀져야 합니다.SGML은 또한 군, 항공우주, 기술 참조 및 산업 출판 산업에서도 광범위하게 적용되었습니다.XML 프로파일의 등장으로 SGML은 소규모 범용 용도에 적합한 어플리케이션이 되었습니다.
![](http://upload.wikimedia.org/wikipedia/commons/9/9a/OED-LEXX-Bungler.jpg)
문서의 유효성
SGML(ENR+WW)은 2종류의 유효성을 정의합니다.ISO 8879의 개정된 용어 및 정의에 따라(공용[7] 초안 참조):
적합한 SGML 문서는 형식이 유효한 SGML 문서 또는 태그가 유효한 SGML 문서 또는 둘 다여야 합니다.참고: 사용자는 문서 인스턴스가 통합적으로 저장되는지 또는 엔티티 참조가 없는지 여부 등 문서에 추가 제약을 적용할 수 있습니다.
형식 유효 SGML 문서는 표준에서 다음과 같이 정의됩니다.
각 문서 인스턴스에 대해 해당 인스턴스의 DTD가 적합한 관련 문서 유형 선언(DTD)이 있는 SGML 문서입니다.
태그가 유효한 SGML 문서는 표준에서 다음과 같이 정의됩니다.
모든 문서 인스턴스에 태그가 완전히 지정된 SGML 문서입니다.인스턴스와 관련된 문서 유형 선언이 있을 필요는 없습니다.참고: 문서 유형 선언이 있는 경우 인스턴스를 참조 여부와 관계없이 구문 분석할 수 있습니다.
용어.
태그 유효성 검사는 DOSCTYPE 선언이 없지만 문법 없이 구문 분석할 수 있는 XML 또는 XML Infoset이 문서에 기여하지 않는 DOSCTYPE 선언이 있는 문서를 지원하기 위해 SGML(ENR+WW)에서 도입되었습니다.표준에서는 이것을 완전 태그 부착이라고 부릅니다.통합 저장에는 요소가 처음 시작된 엔티티에서 끝나는 XML 요건이 반영됩니다.reference-free는 엔티티 참조가 특수 문자용이며 마크업을 포함하지 않음HTML 요건을 반영하고 있습니다.SGML 유효성 해설, 특히 1997년 이전에 작성되었거나 SGML(ENR+WW)을 모르는 해설은 유형 유효성만을 다룬다.
유효성에 대한 SGML의 강조는 마크업이 엄격해야 한다는 일반화된 마크업에 대한 요건을 지원합니다.(ISO 8879 A.1)
구문
SGML 문서는 다음 세 부분으로 구성됩니다.
- SGML 선언,
- 함께 문서 유형 정의(DTD)를 만드는 다양한 마크업 선언과 DOSCTYPE 선언이 포함된 프롤로그 및
- 인스턴스 자체에는 최상위 요소와 그 내용이 포함되어 있습니다.
SGML 문서는 다수의 엔티티(이질적인 텍스트 조각)로 구성될 수 있다.SGML에서는 문서에 사용되는 엔티티 및 요소 유형을 DTD로 지정할 수 있으며, 문서의 구체적인 구문을 작성하기 위해 SGML 선언에서 다른 문자 집합, 특징, 구분자 집합 및 키워드를 지정할 수 있습니다.
풀 SGML 에서는 암묵적인 마크업 및 기타 종류의 태그가 허용되지만 XML 사양(s4.3.1)에서는 다음과 같이 기술되어 있습니다.
각 XML 문서에는 논리적 구조와 물리적 구조가 모두 있습니다.물리적으로 이 문서는 엔티티라고 불리는 단위로 구성됩니다.기업은 다른 기업을 참고하여 해당 기업을 문서에 포함시킬 수 있다.문서는 "루트" 또는 문서 엔티티에서 시작합니다.이 문서는 논리적으로 선언, 요소, 주석, 문자참조 및 처리지시로 구성되며, 모두 명시적 마크업으로 문서에 나타나 있다.
기본적이고 현대적인 SGML 구문에 대한 자세한 내용은 XML을 참조하십시오. 다음 자료는 XML에 없는 기능에 초점을 맞추고 있으며 SGML 구문의 포괄적인 요약은 아닙니다.
옵션 기능
SGML은 1980년대 중반에 발견된 광범위한 마크업 언어를 일반화하고 지원합니다.간결한 Wiki와 같은 구문부터 RTF와 같은 괄호화 언어, HTML과 같은 매칭 태그 언어까지 다양했습니다.SGML은 SGML 선언에서 활성화할 수 있는 다수의 옵션 기능으로 보강된 비교적 단순한 기본 참조 구체 구문을 통해 이를 실현했습니다.모든 SGML 파서가 모든 SGML 문서를 처리할 수 있는 것은 아닙니다.각 프로세서의 시스템 선언을 문서의 SGML 선언과 비교할 수 있으므로 문서가 특정 프로세서에서 지원되는지 여부를 항상 알 수 있습니다.
많은 SGML 기능은 마크업 최소화와 관련되어 있습니다.다른 기능은 동시(병렬) 마크업(CONCUR), 링크 처리 속성(LINK) 및 SGML 문서(SUBDOC)에 SGML 문서를 포함시키는 것과 관련이 있습니다.
커스터마이즈 가능한 기능의 개념은 웹 사용에 적합하지 않았습니다.따라서 XML의 한 가지 목표는 옵션 기능을 최소화하는 것이었습니다.그러나 XML의 올바른 형식화 규칙은 Wiki와 같은 언어를 지원할 수 없기 때문에 Wiki와 유사한 언어는 표준화되지 않고 텍스트 이외의 정보 시스템과 통합하기가 어렵습니다.
구체적이고 추상적인 구문
통상의(디폴트) SGML 구체 구문은, 다음의 예와 비슷합니다.이것은 기본 HTML 구체 구문입니다.
<quote TYPE="example"> 일반적으로 다음과 같습니다.< / /이탤릭체> </인용>
SGML은 다양한 유형의 구체적인 구문에서 구현할 수 있는 추상 구문을 제공합니다.마크업 규격은 표준 정의 참조 구체 구문에 따라 SGML 문서의 시작 및 끝 태그 구분자로 각 괄호를 사용하고 있지만, 문서의 SGML [8]선언에 적절한 구체적인 구문이 정의되어 있는 경우 다른 문자를 사용할 수 있습니다.예를 들어, SGML 인터프리터는 GML을 해석하도록 프로그램되어 있습니다.태그는 왼쪽 콜론과 오른쪽 풀스톱으로 구분되어 있습니다.따라서 :e 프리픽스는 끝 태그를 나타냅니다.:xmp.Hello, world:exmp.
참조 구문에 따르면 태그 이름에서 대소문자(대문자 또는 소문자)는 구분되지 않으므로 (i)의 3가지 태그가 있습니다.<quote>
, (ii)<QUOTE>
, 및 (iii)<quOtE>
(주: 구체적인 구문은 NAMECASE NAMING 선언을 통해 이 규칙을 변경할 수 있습니다).
마크업 최소화
SGML에는 문서의 마크업에 필요한 문자 수를 줄이는 기능이 있습니다.이 기능은 SGML 선언에서 활성화해야 합니다.SGML 프로세서가 사용 가능한 모든 기능을 지원할 필요는 없기 때문에 어플리케이션에서 의도하지 않은 마크업 누락이 여러 가지 허용됩니다.단, SGML 시스템은 일반적으로 비활성 구조를 지원하지 않습니다.XML에서는 구문 누락이 허용되지 않으며 올바른 형식을 확인하기 위해 DTD가 필요하지 않습니다.
오미타그
다음과 같은 경우 문서 인스턴스에서 시작 태그와 끝 태그를 모두 생략할 수 있습니다.
- OMITAG 기능은 SGML 선언에서 활성화되어 있습니다.
- DTD는 태그 생략이 허용됨을 나타냅니다.
- (시작 태그의 경우) 요소는 관련지어져 있지 않습니다).
#REQUIRED
)의 아트리뷰트 - 태그는 문맥에 의해 명확하게 추론할 수 있습니다.
예를 들어, SGML 선언(OMITAG 기능을 유효하게 함)에서 OMITAG YES가 지정되어 있고 DTD에 다음 선언이 포함되어 있는 경우.
<! 요소 챕터 - - (직함, 부분+)> <! 요소 직함 o o (# PCDATA)> <! 요소 부분 - - (직함, 서브섹션+)>
다음 발췌:
<blocks>SGML의 개요 <섹션>SGML 선언 <서브섹션>...
둘 빼고는<title>
태그와 2개</title>
유효한 마크업을 나타냅니다.
태그 생략은 옵션입니다.같은 발췌문에 다음과 같은 태그를 붙일 수 있습니다.
<timeout> <timeout> <timeout>SGML의 개요 </title> <섹션> <title>SGML 선언 </title> <서브섹션> ...
그리고 여전히 유효한 가격 인상을 나타낼 것입니다.
주의: OMITAG 기능은 선언된 내용이 다음과 같은 요소의 태그 부착과는 관련이 없습니다.EMPTY
DTD에 정의되어 있습니다.
<! 요소 이미지 - o 빈>
이렇게 정의된 요소에는 끝 태그가 없으므로 문서 인스턴스에서 하나를 지정하면 잘못된 마크업이 발생합니다.이 점은 XML 빈 요소와 구문적으로 다릅니다.
쇼트레프
태그는 SHORTREF 기능을 통해 테서 마크업의 딜리미터 문자열로 대체할 수 있습니다.이 마크업 스타일은 현재 위키 마크업과 관련되어 있습니다. 예를 들어 줄의 시작 부분에 있는 두 개의 등호(==)가 "헤딩 시작 태그"이고 그 뒤에 있는 두 개의 등호(==)가 "헤딩 끝 태그"입니다.
쇼트 태그
SGML 마크업 언어(구문으로 SHORTTAG VALUE 기능이 유효)에서는 영숫자만 포함하는 속성값을 따옴표로 묶을 필요가 없습니다(중간)." "
(LIT) 또는 싱글' '
(LITA) : 앞의 마크업 예를 다음과 같이 기술할 수 있도록 합니다.
<quote TYPE=param> 보통 다음과 같습니다.< / > < / quote >
SGML 마크업 언어의 한 가지 특징은 빈 태그가 빈 끝 태그가</>
에<ITALICS>this</>
이 예에서는 가장 가까운 이전 풀 스타트 태그에서 값을 "변환"합니다.<ITALICS>
(즉, 가장 최근에 열린 항목을 닫습니다).이 표현은 다음과 같다.<ITALICS>this</ITALICS>
.
그물
또 다른 기능은 NET(Null End Tag) 구조입니다.<ITALICS/this/
이것은 구조적으로 와 동등합니다.<ITALICS>this</ITALICS>
.
기타 기능
또한 SHORTTAG NETENABLE IMMEDNET 기능을 사용하면 빈 텍스트 값을 둘러싼 태그의 단축은 허용되지만 전체 태그의 단축은 금지됩니다.
<견적> </견적>
라고 쓸 수 있다
<견적//>
여기서 첫 번째 슬래시( / )는 NET 대응의 「Start-Tag Close」(NESTC)를 나타내고 두 번째 슬래시는 NET을 나타냅니다.주의: XML은 NESTC를 /로 정의하고 NET을 >(각 괄호)로 정의합니다.:따라서 XML 내의 대응하는 컨스트럭트는 <QUote/>로 표시됩니다.
세 번째 기능은 '같은 줄 위의 텍스트'로, 마크업 항목을 줄 끝으로 끝낼 수 있습니다. 특히 머리글 등에 유용하며, SHORTREF 또는 DATATAG 최소화를 사용해야 합니다.예를 들어 DTD에 다음 선언이 포함되어 있는 경우:
<! 요소 줄들 (선*)> <! 요소 선 O - (# PCDATA)> <!엔티티 회선 태그 "<line>"> <! 쇼트 레프 한 줄의 "&#RE;&#RS;" 회선 태그> <!유스맵 한 줄의 선>
(및 "&#RE;&#RS;"는 구체적인 구문에서 짧은 참조 구분 기호입니다.) 다음 절차를 수행합니다.
<lines> 첫 번째 줄 두 번째 줄 </lines>
는 다음과 같습니다.
<line> <line> </line> <line> </line> 두 번째 줄 </line> </line>
형식적 특성화
SGML은 1980년대와 1990년대의 대중적인 형식 오토마타 이론과 현대 파서 기술로 편리한 기술을 무시한 많은 특징을 가지고 있습니다.부록 H의 표준 경고:
SGML 모델 그룹 표기법은 오토마타 이론의 정규 표현 표기법과 유사하도록 의도적으로 설계되었다. 왜냐하면 오토마타 이론은 콘텐츠 모델에 대한 적합 개념의 일부 측면에 대한 이론적 기초를 제공하기 때문이다.콘텐츠 모델에 대한 오토마타의 일반적인 적용 가능성에 대해 가정해서는 안 됩니다.
기본 SGML용 파서의 조기 구현에 관한 보고서 암스테르담 SGML [9]파서는 다음과 같습니다.
SGML의 DTD-문법은 LL(1) 조건과 매우 유사한 모호성의 개념을 준수해야 한다.
및 다양한 차이를 지정합니다.
알려진 공식 문법의 클래스에 대한 완전한 SGML의 명확한 분류는 없는 것으로 보인다.그럴듯한 클래스에는 트리 결합 문법 및 적응 문법이 포함될 수 있습니다.
XML은 일반적으로 검증되지 않은 XML의 경우 2레벨 문법, [10]유효한 XML의 경우 코루틴(렉서, 파서, 검증자)의 Conway 스타일 파이프라인과 같이 해석할 수 있는 것으로 기술되어 있습니다.ISO 표준의 SGML 생산은 [12]W-gr을 사용하여 LL(3) 또는 LL(4)[11]로 보고되고 있습니다.한 [13]논문에 따르면 문자 또는 딜리미터 레벨이 아닌 정보 세트 또는 구문 분석 트리 수준에서 고려될 수 있습니다.
주어진 SGML 문서 문법에 부합하는 문서 클래스는 LL(1) 언어를 형성합니다.그러나 SGML 문서 문법 자체는 LL(1) 문법이 아닙니다.
SGML 표준은 해석 트리와 같은 공식 데이터 구조를 사용하여 SGML을 정의하지 않지만, SGML 문서는 "엔티티"로 알려진 물리적 스토리지 유닛의 루트 방향 비순환 그래프(RDAG)로 구성되며, 이는 "요소"로 알려진 구조 유닛의 RDAG로 구문 분석됩니다.물리적 그래프는 엔티티 트리로 느슨하게 구분되지만 엔티티가 여러 번 나타날 수 있습니다.또한 구조 그래프는 요소 트리로 느슨하게 특징지어지지만 ID/IDREF 마크업은 임의의 호를 허용한다.
해석 결과는 다른 표기의 데이터 트리로 이해할 수도 있습니다.여기서 문서는 루트 노드이고 다른 표기의 엔티티(텍스트, 그래픽)는 하위 노드입니다.SGML은 외부 비SGML 엔티티에 링크하여 주석을 달기 위한 장치를 제공합니다.
SGML 표준은 지도와 인식 모드 측면에서 이를 설명한다(s9.6.1).각 엔티티 및 각 요소는 관련 표기법 또는 선언된 콘텐츠유형을 가질 수 있습니다.이것에 의해, 그 엔티티 및 요소내에서 인식되는 참조 및 태그의 종류가 결정됩니다.또한 각 요소에는 관련 딜리미터 맵(및 짧은 참조 맵)을 가질 수 있습니다.이 맵은 컨텍스트에서 딜리미터로 취급되는 문자를 결정합니다.SGML 표준은 인식 모드 간에 전환되는 상태 기계로 구문 분석을 특징짓습니다.해석 중에는 스캐너를 구성하는 맵 스택이 존재하며 토큰라이저는 인식 모드와 관련되어 있습니다.
해석에는 동적으로 취득된 엔티티 그래프를 통과하여 태그 및 요소 구조를 검색/임플라이하고 이러한 태그를 문법에 따라 검증하는 작업이 포함됩니다.SGML의 특이한 측면은 문법(DTD)이 어휘 구조를 인식하기 위해 수동적으로 사용되며 DTD가 옵션이라고 선언한 누락된 구조와 태그를 생성하기 위해 능동적으로 사용된다는 것입니다.끝 태그와 시작 태그는 유추할 수 있으므로 생략할 수 있습니다.대략적으로 일련의 태그는 문법에 하나의 가능한 경로가 있는 경우에만 생략할 수 있습니다.구체적인 SGML 파싱을 공식적으로 특징짓기 어렵게 만든 것은 이러한 문법의 적극적인 사용이었다.
SGML은 인식과 생성 모두에 대해 검증이라는 용어를 사용합니다.XML 에서는 딜리미터 맵의 변경이나 해석 모드에 관한 통지에는 문법(DTD)을 사용하지 않습니다.태그 생략은 허용되지 않습니다.따라서 요소의 XML 검증은 SGML 검증이 활성화되어 있다는 의미에서는 활성화되지 않습니다.DTD가 없는 SGML(예를 들어 단순 XML)은 문법 또는 언어이며, DTD가 있는 SGML은 메타 언어입니다.SGML 선언이 있는 SGML은 선언 메커니즘이 메타 언어이기 때문에 메타 메타 언어일 수 있습니다.
SGML은 많은 구체적인 구문에 의해 구현되는 추상 구문을 가지고 있지만 추상 구문 트리나 구체적인 구문 트리와 같은 용도가 아닙니다.SGML 사용에서 구체적인 구문은 특정 구분자 집합이며 추상 구문은 구분자 이름 집합입니다.XML Infoset은 John McCarthy가 도입한 추상 구문이라는 프로그래밍 언어 개념에 더 부합합니다.
파생상품
XML
W3C XML(Extensible Markup Language)은 주로 월드 와이드 웹에서 사용하기 위해 완전한 SGML 파서에 비해 파서의 구현을 쉽게 하도록 설계된 SGML의 프로파일(서브셋)입니다.XML은 참조 구문에 있는 많은 SGML 옵션(태그 누락 및 중첩된 하위 문서 등)을 비활성화할 뿐만 아니라 SGML 구문의 종류에 대한 몇 가지 제한 사항을 추가합니다.예를 들어 SGML 단축 태그 형식을 사용하도록 설정해도 XML에서는 닫히지 않은 시작 태그 또는 끝 태그를 허용하지 않습니다.또한 WebSGML Annex의 많은 추가에 의존했습니다.현재 XML은 풀 SGML보다 널리 사용되고 있습니다.XML은 유니코드를 기반으로 한 경량 국제화를 가지고 있습니다.XML 어플리케이션에는 XHTML, XQuery, XSLT, XForms, XPointer, JSP, SVG, RSS, Atom, XML-RPC, RDF/XML, SOAP 등이 있습니다.
HTML
반면 HTML(하이퍼텍스트 생성 언어)부분적으로 독자적으로 SGML과 동시에 개발되었다, 그 창조자, TimBerners-Lee, SGML.[표창 필요한]의 그것은 응용 프로그램 했다.HTML의 디자인은 그러므로 SGML태그에 의해 하나되고 이후 어떤 명백한 확장과 파싱 지침 설립되었으며, 가장 실제 HTML문서 SG는 유효하지 않다 영감을 얻었다.ML 문서나중에 HTML은 SGML 응용 프로그램에 더 가깝도록 재구성되었습니다. 그러나 HTML 마크업 언어는 SGML의 요구 사항과는 다른 많은 레거시 및 예외 처리 기능을 가지고 있습니다.HTML 4는 ISO 8879 – SGML을 [14]완전히 준수하는 SGML 응용 프로그램입니다.
World Wide Web Consortium HTML Working Group의 2006년 부활에 대한 헌장에는 "이 그룹은 SGML 파서가 클래식 [15]HTML에 사용되었다고 가정하지 않을 것입니다."라고 쓰여 있습니다.HTML 구문은 SGML 구문과 매우 유사하지만 HTML5는 HTML을 SGML 응용 프로그램으로 정의하려는 시도를 포기하며 자체 구문 분석 [16]규칙을 명시적으로 정의합니다. 이 규칙은 기존 구현 및 문서와 보다 밀접하게 일치합니다.단, 대체 XHTML 시리얼라이제이션은 XML에 준거하고 있기 때문에 SGML에도 [17]준거하고 있습니다.
OED
옥스포드 영어사전(OED) 제2판은 LEXX 텍스트 [18]에디터를 사용하여 SGML 기반 마크업 언어로 완전히 표시된다.
세 번째 에디션은 XML로 표시됩니다.
다른이들
다른 문서 마크업 언어는 부분적으로 SGML 및 XML과 관련되어 있지만 표준 SGML 및 XML 도구를 사용하여 구문 분석 또는 검증하거나 다른 방법으로 처리할 수 없기 때문에 SGML 또는 XML 언어로 간주되지 않습니다. 조판 및 문서화를 위한 Z 형식 마크업 언어가 그 예입니다.
일부 최신 프로그래밍 언어는 태그를 원시 토큰 유형으로 지원하거나 유니코드 및 정규 표현 패턴 매칭을 지원합니다.예를 들어 Scala 프로그래밍 언어가 있습니다.
적용들
표준에서는 SGML을 사용하여 정의된 문서 마크업 언어를 "응용 프로그램"이라고 부릅니다.XML 이전 버전의 많은 SGML 애플리케이션은 이를 개발한 조직의 소유권이므로 월드 와이드 웹에서는 사용할 수 없습니다.다음 목록은 XML 이전 SGML 응용 프로그램 목록입니다.
- Text Encoding Initiative(TEI; 텍스트 인코딩 이니셔티브)는 디지털 형식 텍스트 표현 애플리케이션의 기술 표준을 설계, 유지 및 개발하는 학술 컨소시엄입니다.
- DocBook은 원래 SGML 응용 프로그램으로 작성된 마크업 언어이며 기술 문서를 작성하기 위해 설계되었습니다. DocBook은 현재 XML 응용 프로그램입니다.
- CALS(Continuous Acquisition and Life-Cycle Support)는 군사 문서를 전자적으로 캡처하고 관련 데이터와 정보를 연결하기 위한 미국 국방부(DoD)의 이니셔티브입니다.
- HyTime은 SGML 문서 작성자가 하이퍼텍스트 및 멀티미디어 프레젠테이션을 작성할 수 있는 하이퍼텍스트 지향 요소 유형을 정의합니다.
- EDGAR(Electronic Data-Gathering, Analysis and Retrieval) 시스템은 미국 증권거래위원회(SEC)에 데이터 및 정보 양식을 제출해야 하는 기업 등에 의해 제출물의 자동 수집, 검증, 색인화, 수용 및 전송을 수행합니다.
- Linux Doc.Linux 패키지용 매뉴얼에서는 LinuxDoc SGML DTD 및 Docbook XML DTD를 사용하고 있습니다.
- AAP DTD는 미국 출판인 협회에서 정의한 과학 문서의 문서 유형 정의입니다.
- AAP DTP의 후속 버전인 ISO 12083은 저자와 출판사 간의 문서 교환을 위한 국제 SGML 표준입니다.
- SGMLguid는 CERN에서 생성, 개발 및 사용된 초기 SGML 문서 유형 정의입니다.
오픈 소스 구현
SGML의 주요 오픈 소스 구현에는 다음이 포함됩니다.
- ASP-SGML
- ARC-SGML, 표준 범용 마크업 언어 사용자, 1991, C 언어
- SGMLS, James Clark, 1993년 C언어
- Project YAO, Charles Goldfarb, 1994년 대만의 Yuan-ze Institute of Technology, Charles Goldfarb.
- SP by James Clark, C++ 언어
연관된 DSSSL 프로세서인 SP와 Jade는 OpenJade 프로젝트에 의해 유지 관리되며 Linux 배포의 일반적인 부분입니다.SGML 소프트웨어 및 자료의 일반 아카이브는 SUNET에 있습니다.Sun System의 Java 구현에서 원래 HTML 파서 클래스는 SGML 용어와 개념을 사용하는 제한된 기능의 SGML 파서입니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b ISO. "JTC 1/SC 34 – Document description and processing languages". ISO. Retrieved 2009-12-25.
- ^ ISO JTC1/SC34. "JTC 1/SC 34 – Document Description and Processing Languages". Retrieved 2009-12-25.
- ^ ISO/IEC 10744 –하이타임
- ^ "ISO/IEC TR 9573" (PDF). ISO. 1991. Retrieved 5 December 2017.
- ^ Goldfarb, Charles F. (1996). "The Roots of SGML – A Personal Recollection". Retrieved July 7, 2007.
- ^ Goldfarb, Charles F. (1990). The SGML Handbook. ISBN 9780198537373.
- ^ "Terms and Definitions of ISO 8879 draft".
- ^ Wohler, Wayne (July 21, 1998). "SGML Declarations". Retrieved August 17, 2009.
- ^ Egmond (December 1989). "The Implementation of the Amsterdam SGML Parser" (PDF).
- ^ Carroll, Jeremy J. (November 26, 2001). "CoParsing of RDF & XML" (PDF). Hewlett-Packard. Retrieved October 9, 2009.
- ^ "SGML: Grammar Productions".
- ^ "Re: Other whitespace problems was Re: Whitespace rules (v2)".
- ^ Bruggemann-Klein. "Compiler-Construction Tools and Techniques for SGML parsers: Difficulties and Solutions".
- ^ "HTML 4–4 Conformance: requirements and recommendations". Retrieved 2009-12-30.
- ^ Lilley, Chris; Berners-Lee, Tim (February 6, 2009). "HTML Working Group Charter". Retrieved April 19, 2007.
- ^ "HTML5 — Parsing HTML documents". World Wide Web Consortium. October 28, 2014. Retrieved June 29, 2015.
- ^ Dubost, Karl (January 15, 2008). "HTML 5, one vocabulary, two serializations". Questions & Answers blog. W3C. Retrieved February 25, 2009.
- ^ Cowlishaw, M. F. (1987). "LEXX—A programmable structured editor". IBM Journal of Research and Development. IBM. 31 (1): 73. doi:10.1147/rd.311.0073.
외부 링크
- W3C 웹사이트의 SGML 리소스 개요.
- SGML에서의 소프트웨어 매뉴얼 개요 및 예시
- SC34 Committee Records, Charles Babbage Institute – SGML 개발 및 현재 XML 도구 개발에 영향을 미치는 기타 표준 컬렉션. 문서에는 SGML 관리 자료의 초기 초안, 문서, 작업 그룹 문서 및 컴퓨터 언어 표준이 포함되어 있습니다.
- 찰스 골드파브의 SGML 구문 요약
- SGML을 소개하는 SGML 문서. SGML이 중요한 이유
- SGML 및 HTML 설명에서 SGML 선언, Martin Bryan(1997) (원래 URL은 http://www.is-thought.co.uk/book/sgml-4.htm#Fig4-2)에서 깨짐)
- SGML 선언 Wayne Wohler, IBM Corporation, 1994.
- ISO 9069: 1988 – 정보처리 – SGML 지원 시설 – SGML 문서 교환 형식(SDIF)
- ISO/IEC 9070:1991 – 정보기술 – SGML 지원 시설 – 공용 텍스트 소유자 식별자 등록 절차