SGML 도면요소
SGML entity 표준 일반화 마크업 언어(SGML)에서 엔터티는 고유 별칭(예: 사용자 지정 이름) 또는 SGML 예약 단어(예: SGML)와 문자열을 연결하는 원시 데이터 유형이다. #DEFAULT
). 실체는 SGML 문서의 조직 구조와 정의에 기초한다. SGML 규격은 키워드 한정자와 컨텍스트에 의해 구별되는 수많은 엔티티 유형을 정의한다. 엔티티 문자열 값은 일반 텍스트, SGML 태그 및/또는 이전에 정의된 엔티티에 대한 참조로 다양하게 구성될 수 있다. 특정 실체 유형은 외부 문서도 호출할 수 있다. 실체는 참조로 불린다.
엔티티 유형
엔티티는 일반 또는 매개변수로 분류된다.
- 일반 실체는 문서 내용 내에서만 참조할 수 있다.
- 매개변수 도면요소는 문서 유형 정의(DTD) 내에서만 참조할 수 있다.
또한 기업은 구문 분석 또는 구문 분석 미포함 항목으로 분류된다.
- 구문 분석된 도면요소는 문서에 통합되어 참조될 경우 구문 분석되는 텍스트를 포함한다. 매개 변수 엔터티는 구문 분석된 엔터티만 될 수 있다.
- 공시되지 않은 기업에는 어떤 종류의 데이터도 포함되며, 이에 대한 참조는 신청서가 기업의 존재에 대해 단지 통지받는 결과를 초래할 것이다. 기업의 내용은 텍스트라 할지라도 구문 분석되지 않을 것이다. 공시되지 않은 실체는 오직 외부일 수 있다.
내부 및 외부 도면요소
내부 엔터티는 문자 문자열 또는 마크업과 동일한 문서에 정의된 엔티티(예: 문서 유형 선언 또는 하위 문서)로 구성된 구문 분석된 문자열을 가지고 있다. 이와는 대조적으로, 외부 기업은 외부 문서를 호출하는 선언을 가지고 있으므로, 외부 문서 참조를 해결하기 위해 기업 경영자의 개입이 필요하다.
시스템 엔티티
기업선언은 리터럴가치를 가질 수도 있고, 선택사항의 일부 조합을 가질 수도 있다. SYSTEM
SGML 구문 분석기가 리소스 식별자로 참조되는 엔터티의 문자열을 처리할 수 있는 식별자 및 선택사항 PUBLIC
특정 표현과 독립된 실체를 식별하는 식별자. XML에서 SGML의 하위 집합인 엔티티 선언에는 다음이 없을 수 있다. PUBLIC
없는 식별자 SYSTEM
식별자
SGML 문서 엔티티
외부 실체가 전체 SGML 문서를 참조할 때, 호출 문서에서는 SGML 문서 실체로 알려져 있다. SGML 문서는 SGML prologue(즉, DTD 및 하위 문서)에 정의된 SGML 마크업이 있는 텍스트 문서다. 전체 SGML 문서는 문서 인스턴스 자체뿐만 아니라 프롤로그 및 선택적으로 SGML 선언(문서의 마크업 구문을 정의하고 문자 인코딩을 선언함)[1]으로 구성된다.
구문
도면요소는 문서의 DTD(문서 유형 정의)에 있는 도면요소 선언을 통해 정의된다. 예를 들면 다음과 같다.
<!ENTITY> 인사1 "헬로 월드"> <!ENTITY> 인사2 시스템 "file:///hello.txt"> <!ENTITY> % 인사3 "홀라!"> <!ENTITY> 인사4 "%greeting3; Hello를 의미한다!">
이 DTD 마크업은 다음을 선언한다.
- 이름이 지정된 내부 일반 엔티티
greeting1
존재하며 문자열로 구성됨Hello world
. - 이름이 지정된 외부 일반 엔티티
greeting2
존재하며 URI가 식별한 리소스에서 찾은 텍스트로 구성됨file:///hello.txt
. - 이름이 지정된 내부 매개 변수 엔티티
greeting3
존재하며 문자열로 구성됨¡Hola!
. - 이름이 지정된 내부 일반 엔티티
greeting4
존재하며 문자열로 구성됨¡Hola! means Hello!
.
엔티티 이름은 SGML 이름에 대한 규칙을 따라야 하며, 엔티티를 참조할 수 있는 위치에 제한이 있다.
매개 변수 도면요소는 도면요소 이름을 다음 사이에 배치하여 참조한다. %
그리고 ;
.파싱된 일반 도면요소는 도면요소 이름을 " 사이에 배치하여 참조한다.&
" 그리고 ";
". 공시되지 않은 실체는 엔티티 유형으로 선언된 속성 값에 엔티티 이름을 배치하여 참조한다.
위의 예에 따른 일반적인 실체는 다음과 같이 문서에서 참조될 수 있다.
<내용> <<내용>>'은 흔한 시험 문자열이다.</기분> <기분>안부의 내용.txt is: &cd2;</ft2>.스페인어로 &greeting4;</info> </content>
구문 분석 시 이 문서는 다음과 같이 작성한 것과 동일하게 다운스트림 어플리케이션에 보고된다. hello.txt
파일에 텍스트가 들어 있음 Salutations
:
<내용> <의미>Hello world'는 일반적인 시험 문자열이다.</기분> <기분>안부의 내용.txt is: 인사말.스페인어로 "Hola!(홀라!)"는 Hello!</info> </content>
신고되지 않은 실체에 대한 참조는 기본 실체가 정의되지 않은 한 오류다. 예를 들면 다음과 같다.
<!ENTITY> 체납 "이 엔터티가 정의되지 않음">
추가 마크업 구성과 프로세서 옵션은 엔티티 처리 여부와 방법에 영향을 미칠 수 있다. 예를 들어 프로세서는 선택적으로 외부 엔티티를 무시할 수 있다.
문자 도면요소
SGML 및 일부 파생상품에 대한 표준 법인 세트는 쉽게 입력되지 않거나 기존 문자 인코딩으로 널리 지원되지 않는 문자를 사용할 필요가 있을 때 문서 작성을 용이하게 하기 위해 니모닉 장치로 개발되었다. 그러한 각 실체는 범용 문자 집합의 한 문자만으로 구성된다. 숫자 문자 참조를 사용하여 문자를 참조할 수 있지만, 문자 도면요소 참조는 코드 포인트 대신 이름으로 문자를 참조할 수 있다.
예를 들어 HTML 4는 명시적으로 선언할 필요가 없는 252개의 내장된 문자 엔티티가 있는 반면, XML은 5개가 있다. XHTML은 XML과 동일한 5개가 있지만, DTD가 명시적으로 사용된다면 253개('HTML 4의 것을 뛰어넘는 추가 엔티티티)가 있다.
참고 항목
메모들
참조
- 골드파브, 찰스 F. (에드). ISO 8879 검토: WG8 N1855. WG8과 리아슨, 1996년
- 골드파브, 찰스 F, 유리 루빈스키(에드). SGML 핸드북. 옥스퍼드 대학 출판부, 1991.