HyperText Markup Language Version 3.0


최희창
삼성전자 멀티미디어 연구소 네트웍 그룹
E-mail:hcchoi@khgw.info.samsung.co.kr
URL:http://net.info.samsung.co.kr/~hcchoi/

Abstract

웹에서 사용되는 문서 포맷인 HTML은 그 구현의 쉬움으로 인해서 웹의 확장에 많은 역할을 해 왔다. 점차로 웹을 사용하는 사람들이 늘어나면서 웹의 문서 작성에 보다 많은 기능을 요구 하게 되었다. HTML3.0에서는 기존의 HTML2.0 규약에 명시된 기능 외에도 다양한 기능을 제공해서 실제 웹의 문서를 만드는데, 좀더 유연한 기능들을 제공한다. HTML3.0의 주요 기능인 테이블, 수학식의 표현, 스타일 시트 등에 대해서 알아보고 나아가 Java와 VRML과 같은 다른 인터넷 기술과의 연계 점을 살펴보기로 한다.

Keyword

HTML, SGML, Web, Authoring

1.서론

인터넷의 폭발적인 사용의 증가는 WWW이라는 새로운 정보 구조와 이를 쉽게 볼 수 있는 브라 우져의 대중적 보급에 힘입는 바가 크다. 아울러 WWW에서 정보 저작 도구 인 HTML(HyperText Markup Language)이라는 언어는 사용상의 편리함 및 간단한 구조로 인해서 웹 서비스의 구축에 중요한 역할을 해왔다. 바로 이러한 웹 상에서의 정보 저작 도구로 HTML의 기본 개념과, SGML(Standard General Markup Language)와의 관계를 살펴보고 현재 많이 사용하고 있는 HTML2.0에 비해서 HTML 3.0에서는 어떠한 점들이 추가되었는가를 구체적으로 살펴보기로 한다.마지막으로 간단하게 웹의 정보 저작이라는 측면에서 HTML 이외의 다른 사항들에 대한 가능성을 살펴보기로 한다.

1.1 HTML이란?

HTML이란 HyperText Markup Language의 약자로 여러 플랫폼에서 사용 가능한 하이퍼 텍스 트 문서를 만드는데 사용되어지는 간단한 마크업 시스템이다. 이는 1990년대부터 웹의 광범위한 사 용과 더불어서 많이 사용되어져 왔으며, 웹이란 문서 기반 구조에서 문서들을 기술하는데 사용되어지는 언어이다.

HTML은 국제 표준 ISO8879:1986 Standard Generalized Markup Language(SGML)의 응용 프로그램으로 정의되어져 있다. 흔히들 HTML을 SGML의 부분집합등으로 잘못알고 있는 경우가 많은데, HTML은 SGML의 하나의 응용프로그램(Application)이다. 즉, C나 C++과 같은 언어로 다양한 프로그램을 만드는데, 이렇게 만들어진 프로그램은 C나 C++의 응용 프로그램이지 부분집합은 아니다. 마찬가지로 SGML의 문법으로 작성되어진 HTML도 SGML의 응용 프로그램이다. 이 경우에는 응용프로그램이 기존의 프로그래밍 언어에서의 의미보다는 메모양식, 보고 양식등 문서의 타입을 응용프로그램이라고 생각하면 된다.

1.2 HTML3.0

현재 HTML의 버전은 1.0에서 2.0을 거쳐서 3.0이 확정하려는 작업 중에 있으며 HTML 2.0은 현재 HTML 워킹 그룹에서 최종 심의(Final Review)를 마친 상태이다. 참고로 HTML에 대한 표준은 IETF의 HTML 워킹그룹에서 이루어진다. HTML 3.0에 대한 초기 드래프트는 1995년 3월에 인터넷 드래프트의 형태로 만들어졌다. 주요 내용으로는 테이블과 사진(Figure), 수학식, 특정문서에 한한 도구 바와 배너 영역, 그리고 스타일 시트 등이 포함된다. 또한 현재 이 드래프트는 각 항목마다 조그마한 문서로 나뉘어져서 논의되어지고 있다.

테이블
HTML 3.0이 만들어진고 난 다음부터 많은 양의 작업이 이루어졌고 현재 드래프트 테이 블 스펙은 W3C 멤버의 리뷰를 기다리고 있는 상태이다. 드래프트 스펙에서는 넷스케이프 1.1N과 완전한 호환성을 유지하며, 테이블의 경계선에 대한 부가적인 조정기능도 가지고 있다.
HTML 문서에 삽입되는 그림(Figure)과 오브젝트
여기서는 FIG 태그와 IMG의 확정에 대해서 다룬다. 또한 액티브 오브젝트를 HTML 문 서내에 포함시키는 방법에 대해서도 다룬다.
양식
양식에 대한 확장과 더불어 스크립트 언어를 연결하는 표준적인 방법에 대해서 다룬다. 초기의 HTML 3.0에 비해서 확장된 점은 필드라벨과 관련된 필드를 하나의 프레임으로 그룹핑하 는 것과 네스티드 양식과 새로운 데이터베이스 레코드 입력 방법이다.
도구 바, 배너 그리고 부가적인 윈도우
문서에 특정한 도구 바와 스크롤 되지 않는 고정된 배너 영역 등을 다루며, 아울러 여러 개 의 문서 윈도우에 대한 관계를 지정하는 방법을 논의한다.
수학식
HTML 3.0의 수학식 표현방법에 대해서 자세히 검토한다. 이는 LaTex과 Tex와 밀접하 게 연관되어져 있으며 그래픽칼 표시이외에도 말로 표현할 수 있게끔 검토되어진다.

1.3 HTML3.0 디자인 가이드 라인

HTML3.0의 스펙은 다음과 같은 가이드라인에 따라서 쓰여졌다.

웹의 혼성 외국어(Lingua Franca)
HTML은 다양한 소스의 정보들을 일반적인 미디어로 한데 묶으려는 수단이다. 이는 기존 문서 포맷의 제약을 뛰어넘을 수 있는 수단이며, 개별적인 정보 시스템에 대한 오픈 인터페이스 를 제공하는 수단이다.
간단성(Simplicity)
첫 번째 버전의 HTML은 굉장히 간단해서 이를 가지고 문서를 만드는 사람이나 브라우져 를 만드는 사람들에게 많은 도움이 되었다. 이로 말미암아 웹이 광범위하게 사용되질 수 있게 되었 다. HTML3.0은 HTML2.0의 확장 판으로 기존의 간단한 문서 포맷을 유지한 채로 테이블,수학식의 표현 등을 지원한다.
확장성(Scaleability)
시간이 지날 수록 사람들의 기대사항이 늘어나면서 HTML에 대한 요구도 많이 늘어났다. 이는 보다 많은 태그들을 요구하게 형태로 나타났는데, HTML3.0에서는 태그 항목들을 서브클래 싱 해서 사용할 수 있는 방법들을 제공한다. 확장성은 URI 형태로 다른 포맷의 정보를 삽입하는 방 법으로도 이루어진다.초기에는 주로 이미지 포맷에만 한정되어져 있던 것들이 드로잉 포맷이나 비디오, 분산 가상 현실과 다른 응용프로그램을 삽입 하는 형태로 발전되어질 것이다.
플랫폼 독립성(Platform Independent)
HTML은 다양한 종류의 디바이스에 출력이 되도록 디자인되어졌다. 이는 일반 컴퓨터뿐만 이 아니라 음성이나 점자로도 표현이 되어진다. HTML3.0은 비-그래픽컬 클라이언트에서도 잘 표현 되어 지도록 디자인되어졌다.
표현이 아닌 내용에 대한 마크업
정보 제공자들의 문서에 대한 최종 형태를 조정하기를 원함에 따라서 이를 플랫폼 독립성 을 보장하는 차원에서 HTML3.0에서는 기존의 문서를 표현하는데 사용되는 독립적인 스타일 시트를 제공한다.
종속(Cascaded) 스타일시트의 지원
웹에 있어서 종속되는 스타일 시트를 지원하는 것은 가치 있는 일이다. 종속적인 스타일 시트를 지원함으로써 일반적으로 사용되는 스타일 시트를 LINK 항목에 URI로 지정해 놓고 이에 반하는 내용들을 따로 STYLE이라는 태그를 이용해서 지정함으로 보다 효율적으로 문서의 스타일을 지정할 수 있 다.
비시각적인 장치에 대한 지원
HTML3.0은 시각적으로 완전하지 않은 장치에서도 잘 나타내어 질 수 있도록 고안되어졌 다.
HTML 작성에 대한 다양한 방법의 지원
HTML3.0은 문서가 다양한 방법으로 만들어질 수 있게끔 지원한다. 손으로 직접 처넣을 수 있으며, WYSWYG 에디터를 사용할 수도 있으며, 포맷 변환기를 통해서 만들어질 수도 있다.

2. HTML 3.0의 주요 요소들

이번 장에서는 위에서 간략하게 소개된 HTML3.0의 새로운 기능들에 대해서 구체적으로 살펴보기로 한다. 참고로 이 내용들은 1995년 3월에 만들어진 HTML 3.0 드래프트를 바탕으로 해서 이 후에 각 항목별로 새로 만들어진 문서들이 있을 경우에 이를 기반으로 했다.

2.1 테이블

이전 버전에 비해서 HTML3의 기능으로 가장 많이 알려진 것이 바로 테이블에 대한 지원이다. 이는 넷스케이프 등에서 기존의 HTML의 확장 판으로 사용됨으로써 사용자들에게는 친숙한 기 능이 되어져 버렸다. 따라서 95/9/25일자의 HTML3의 테이블 모델에서는 주요 이슈로 기존에 많이 사용되던 넷스케이프의 테이블 태그들에 대한 호환성을 내세우고 있다. 아울러 SGML CALS 델을 따르는 테이블을 쉽게 가져올 수 있는 기능이 주요 목표이다.

초기의 HTML3 스펙에서 확장된 기능으로는 다음과 같은 것이 있다.

다음은 테이블에 대한 예이다.
<TABLE BORDER>
  <CAPTION>A test table with merged cells</CAPTION>
  <TR><TH ROWSPAN=2><TH COLSPAN=2>Average
      <TH ROWSPAN=2>other<BR>category<TH>Misc
  <TR><TH>height<TH>weight
  <TR><TH ALIGN=LEFT>males<TD>1.9<TD>0.003
  <TR><TH ALIGN=LEFT ROWSPAN=2>females<TD>1.7<TD>0.002
</TABLE>
위의 예를 보면 일단 테이블에 대한 정의는 ,
이란 태그를 사용한다. 실제 테이블에 대한 내용은 이 두 태그 사이에 들어온다. 테이블의 속성으로 위에서 BORDER라고 지정한 것은 실제 테이블의 선을 지정한 것이다. 그 다음에 있는 <CAPTION>은 테이블에 대한 설명으로 있을 수도 있고 없을 수도 있다. 일반적으로 테이블은 행과 열로 구분되며, 행과 열의 첫 번째 각 항목을 표시하는 헤더가 올 수 있는데, 각각을 지정하는 태그는 다음과 같다. 위의 각각의 태그들은 끝 태그를 생략할 수 있다. 또한 여러 개의 테이블 항목들을 행과 열과 합 칠 수가 있는데, 이들을 지정하는 방법에 ROWSPAN, COLSPAN등을 속성을 사용하면 된다.
A test table with merged cells
Average other
category
Misc
heightweight
males1.90.003
females1.70.002
<table border=2 frame=topbot rules=cols>
<caption>CODE-PAGE SUPPORT IN MICROSOFT WINDOWS</caption>
<col align=center>
<col align=left>
<col align=center span=2>
<col align=center span=3>
<thead valign=top>
<tr>
<th>Code-Page<br>ID
<th>Name
<th>ACP
<th>OEMCP
<th>Windows<br>NT 3.1
<th>Windows<br>NT 3.51
<th>Windows<br>95
<tbody>
<tr><td>1200<td>Unicode (BMP of ISO 10646)<td><td><td>X<td>X<TD>*
<tr><td>1250<td>Windows 3.1 Eastern European<td>X<td><td>X<td>X<TD>X
<tr><td>1251<td>Windows 3.1 Cyrillic<td>X<td><td>X<td>X<TD>X
<tr><td>1252<td>Windows 3.1 US (ANSI)<td>X<td><td>X<td>X<TD>X
<tr><td>1253<td>Windows 3.1 Greek<td>X<td><td>X<td>X<TD>X
<tr><td>1254<td>Windows 3.1 Turkish<td>X<td><td>X<td>X<TD>X
<tr><td>1255<td>Hebrew<td>X<td><td><td><td>X
<tr><td>1256<td>Arabic<td>X<td><td><td><td>X
<tr><td>1257<td>Baltic<td>X<td><td><td><td>X
<tr><td>1361<td>Korean (Johab)<td>X<td><td><td>**<td>X
<tbody><tr><td>437<td>MS-DOS United States<td><td>X<td>X<td>X<TD>X
<tr><td>708<td>Arabic (ASMO 708)<td><td>X<td><td><td>X
<tr><td>709<td>Arabic (ASMO 449+, BCON V4)<td><td>X<td><td><td>X
<tr><td>710<td>Arabic (Transparent Arabic)<td><td>X<td><td><td>X
<tr><td>720<td>Arabic (Transparent ASMO)<td><td>X<td><td><td>X
</table>

위의 예제 2를 보면 예제 1과는 약간 다른 태그들이 사용되어진 것을 볼 수 있다. col이라는 태그와 thead와 tbody등이 그것이다. col이라는 태그를 사용해서 하나의 열에 대한 속성을 지정할 수 있으며, 테이블 헤더와 몸체를 각각 thead와 tbody를 이용해서 지정할 수 있다.

CODE-PAGE SUPPORT IN MICROSOFT WINDOWS
Code-Page
ID
Name ACP OEMCP Windows
NT 3.1
Windows
NT 3.51
Windows
95
1200Unicode (BMP of ISO 10646)XX*
1250Windows 3.1 Eastern EuropeanXXXX
1251Windows 3.1 CyrillicXXXX
1252Windows 3.1 US (ANSI)XXXX
1253Windows 3.1 GreekXXXX
1254Windows 3.1 TurkishXXXX
1255HebrewXX
1256ArabicXX
1257BalticXX
1361Korean (Johab)X**X
437MS-DOS United StatesXXXX
708Arabic (ASMO 708)XX
709Arabic (ASMO 449+, BCON V4)XX
710Arabic (Transparent Arabic)XX
720Arabic (Transparent ASMO)XX

2.2 배너, 특정 문서에 한정된 도구바, 지정된 가이디드 튜어

LINK 항목은 문서와 다른 객체간의 관계를 설정하는데 사용되어지는 태그로 이를 이용해서 브라우져의 화면상에 스크롤되지 않는 고정 배너 영역을 만들거나, 문서에 한정된 도구 바 (toolbar), 그리고 이를 이용한 웹 사이트에 대한 가이디드 튜어(Guided Tour)등을 구현할 수 있다.

LINK의 주요 속성을 살펴보면 다음과 같은 것이 있다.

REL
링크로 지정되는 관계를 설정한다.
REV
역관계를 설정한다. 때로는 문서의 저자에 대한 정보를 담기고 한다.
HREF
URI를 이용한 객체의 지정
그럼 LINK 항목을 이용해서 각종 효과를 얻는 방법에 대해서 알아보기로 한다.

2.2.1 배너 만들기

배너( BANNER)는 주로 회사의 로고나 항해 도움말, 또는 알리고 싶은 내용을 담을 것으로 이는 문서의 다른 부분과 달리 스크롤 되지 않고 항상 고정영역을 차지하는 부분이다. 이는 LINK 항 목을 이용해서 다음과 같이 지정할 수 있다.

<LINK REL=Banner HREF=banner.html> 위의 HREF에 할당되는 것이 실제 배너로 사용되어질 문서를 가리킨다. 배너를 만드는 또 다른 방법은 직접 BANNER 태그를 이용하는 것으로 이는 다음과 같이한다. <BANNER>배너의 내용</BANNER>

2.2.2 LINK를 이용하여 문서에 특정한 도구바를 만드는 방법

LINK 항목을 이용해서 항해 도구버튼이나 메뉴 항목에 있는 것과 같은 기능을 하는 도구 바를 만들 수가 있다. 도구 바를 위한 LINK의 REL의 지정된 값은 다음과 같은 것이 있다.

REL=Home
이 링크는 홈 페이지를 지정하거나 일종의 계층 구조에서 맨 위의 것을 가리킨다.
REL=ToC
이 링크는 목차를 나타내는 문서를 가리킨다.
REL=Index
이 링크는 현재 문서에 대한 인덱스를 가지고 있는 문서를 가리킨다.
REL=Glossary
이 링크는 현재 문서에 있는 용어에 대한 해설을 담고 있는 문서를 가리킨다.
REL=Copyright
이 링크는 현재 문서에 대한 저작권을 명시한 문서를 가리킨다.
REL=Up
문서들이 일종의 계층 구조를 형성할 때, 이 링크는 현재 문서의 바로 위 항목을 가리 킨다.
REL=Next
이 링크는 가이디드 투어의 다음 번 방문 문서를 가리킨다.
REL=Previous
이 링크는 가이디드 투어의 이전 방문 문서를 가리킨다.
REL=Help
이 링크는 도움말을 주는 문서를 가리킨다.예를 들면 보다 자세한 사항이라던 지 관련 되는 중요한 정보를 담은 문서에 대한 링크를 제공한다. 이는 길을 잃은 사용자에게 방향감각을 주기 위한 목적으로도 사용된다.
REL=Bookmark
북마크는 확장 문서에 대한 중요한 포인트로 바로 갈 수 있는 방법을 제공한다. TITLE 항목의 북마크의 항목으로 사용되질 수 있다. 각각의 문서에 여러 개의 북마크가 정의되 어질 수 있으며, 확장 문서에 대한 정보를 제공하기 위한 수단으로 사용되어진다.

다음은 도구 바 LINK 항목에 대한 예제이다.

    <LINK REL=Previous HREF=doc31.html>
    <LINK REL=Next HREF=doc33.html>
    <LINK REL=Bookmark TITLE="Order Form" HREF=doc56.html>

<HTML>
<HEAD>
<TITLE>Kletterfrer Blautal -- Warnung</TITLE>
<link rel=banner href=banner.htm>
<link rel=ToC href=inhalt.htm>
<link rel=Copyright href=cr.htm>
<link rel=index href=idx.htm>
<link rel=help href=help.htm>
</HEAD>
<BODY background="../gif/abfall.gif">
.....
</BODY>
</HTML>

2.2.3 Link 항목을 스타일 시트와 연결시키는 방법

LINK 항목의 REL 속성을 스타일 시트로 주어서 문서의 스타일시트를 연결시킬 수가 있는데, 스타일시트는 현재 문서를 화면상에 나타내는데 사용되는 정보를 담고 있는 것이다. 다음은 이렇게 사용하는 스타일시트의 예이다.

    <LINK REL=StyleSheet HREF=housestyle.dsssl>

2.3 그림(Figure)

FIG 항목은 문서 내에 그림을 삽입하기 위해서 사용되어진다. 이후의 항목들은 만약 그림 주변에 충분한 공간이 있을 경우에, 이 공간에 채워지게 된다. 이러한 특성은 정렬 속성이 중앙(기본)이나 양옆에 맞추어져 있는 경우(justify)의 경우에는 나타나지 않는다. 이러한 그림들은 서로 중복되어져 나타날 수 있는데, 이는 커다란 배경화면에 조그마한 그림들이 바뀌면서 나타날 수 있는 기능을 제공한다.

다음은 사진 이미지를 캡션과 소유권을 함께 표현한 예이다.

<FIG SRC="nicodamus.jpeg">
  <CAPTION>Ground dweller: <I>Nicodamus bicolor</I>
  builds silk snares</CAPTION>
  <P>A small hairy spider light fleshy red in color with a brown abdomen.
  <CREDIT>J. A. L. Cooke/OSF</CREDIT>
</FIG>

위의 예를 보면 그림의 표현은 FIG라는 태그로 나타내며 이 태그 안에 CAPTION과 CREDIT등을 가질 수 있다.

다음은 FIG의 또 다른 예로 한 회사의 홈 페이지의 예로, 여기에서는 클라언트 사이트 이미지 맵의 역할을 하는 예를 보여준다.

<FIG SRC="mainmenu.gif">
 <H1>Access HP from Hewlett Packard</H1>
 <P>Select between:
 <UL>
  <LI><A HREF="guide.html" SHAPE="rect 30,200,60,16">Access
Guide</A>
  <LI><A HREF="about.html" SHAPE="rect 100,200,50,16">About
HP</A>
  <LI><A HREF="guide.html" SHAPE="rect 160,200,30,16">News</A>
  <LI><A HREF="guide.html" SHAPE="rect
200,200,50,16">Products</A>
  <LI><A HREF="guide.html" SHAPE="rect 260,200,80,16">Worldwide
Contacts</A>
 </UL>
</FIG>

위의 예를 보면 FIG로 지정된 이미지에 핫존(hotzone)을 설정하는 방법을 보여준다. 핫존들은 무 정렬 리스트 UL로 표현되는데, 리스트의 항목으로 주어진 그림에서의 핫존을 SHAPE라는 속성으로 줄 수 있다. 즉 사용자가 그 림상의 특정영역을 클릭 했을 경우 그 위치가 위에서 지정된 핫존 중에 하나에 걸린다면 핫존에 설정된 URI가 나타나게 된다.

다음의 예는 이미지들이 중첩이 되는 것을 보여준다.

<FIG SRC="newyork.jpeg">
  <OVERLAY SRC="map.gif">
  <P>New York from the air!
</FIG>

위의 예는 FIG에서 SRC로 지정된 newyork.jpeg이 OVERLAY라고 지정된 map.gif위에 겹쳐져서 나타나게 된다.

2.4 Math

HTML3.0의 커다란 특징중의 하나가 문서 내에 수학식을 표현할 수 있다는 점이다. 수학식을 표현하는데 사용되어지는 태그가 이다. HTML math는 일반적인 워드 프로세서에서 만들 수 있는 수학식을 다 표현할 수가 있으며, 음성으로도 출력되어질 수 있다. 수학식에서 암묵적인 괄호나 위,아래 첨자들은 표현하는데 SGML SHORTREF가 사용되어진다.

다음은 수학식의 예이다.

<MATH>∫_a_^b^{f(x)<over>1+x} dx</MATH>

위와 같은 식이 고정 핏치를 가지는 텍스트만 지원하는 터미널에서는 다음과 같이 나타난다.


         b
         /   f(x)
         | ------- dx
         /  1 + x
         a

위의 예에서 { 와 }는 각각 <BOX>와 </BOX>의 단축어(shortref)로 사용되어졌며 "_"와 "^"는 각각 아래첨자와 위 첨자의 단축어로 사용되어졌다.

다음의 그림 1은 실제 수학식이 HTML 3.0 브라우져에서 어떻게 나타나는가를 보여주는 예이다.

그림 1 수학식의 예

다음은 수학식에 관련된 HTML 항목들이다.

BOX
숨겨진 괄호나 스트레치 델리미터에 사용되어지며, 하나의 식을 다른 식 위에 놓을 때 사 용 되어진다.
SUB, SUP
아래 첨자와 위 첨자를 지정하는데 사용
ABOVE
수학식 위에 화살표나 라인 또는 심볼을 그리는데 사용
BELOW
수학식 아래 화살표나 라인 또는 심볼을 그리는데 사용
VEC, BAR, DOT, DDOT, HAT, TILDE
ABOVE 대신에 사용할 수 있는 일반적인 악센트용 태그들
SQRT, ROOT
제곱근이나 다른 근들을 표현하는데 사용하는 태그
ARRAY
행렬과 같은 배열을 표현하는데 사용되어지는 태그
TEXT
수학식의 항목 중에서 SUB나 SUP와 같이 사용되어지는 짤막한 문장
B, T, BT
기본적인 렌더링정보를 오버라이드한다. B는 괄호 안의 수식을 굵은체로, T는 업라이트 (upright) 폰트로 렌더링하며, BT는 굵은체의 업라이트(upright) 폰트로 렌더링한다.

다음의 그림은 수학식에 사용되는 그리스 문자와 연산자를 보여준다.

그릭 문자

그림 2 그리스어 문자의 표현

연산자

그림 3 연산자의 표현

2.5 확장된 폼 핸들링

HTML3에서는 다음과 같은 폼의 필드항목들을 지원한다.

  • 클라이언트 쪽 스크립트와 채움 양식

    HTML3에서는 양식을 스크립트와 연계시킬 수 있는 방법을 제공한다. 스크립트에 대한 지원이 필수적이지는 않다. HTML3 스펙에서는 스크립트 언어와 이를 브라우져와 어떻게 연결시키는가 에 대한 자세한 사항에 대해서는 다루지 않는다.

    SCRIPT 속성은 URI를 통해서 스크립트를 지정할 수 있다. 브라우져(유저-에이전트)는 스크립트 를 다운로드 받아서 이를 자신의 컴퓨터에서 해석한다. 스크립트는 양식의 각각의 항목과 양식 전체에 대한 다양한 메시지를 다룰 수 있다. 이벤트에 연관된 메시지들로는 다음과 같은 것들이 있을 수 있다.

    스크립트는 항목의 속성을 세팅하거나 확인해볼 수 있다. 또한 유저-에이전트에 대한 속성도 확인할 수 있는데, 예를 들면, 사용자 이름, 날짜, 유저-에이전트 타입 등을 알아낼 수 있다.

    스크립트는 사용자나 호스트에 위협이 되는 일들은 할 수 없다. 스크립트는 네트웍을 통해서 메시지를 보낼 수 없으며, 파일을 읽거나 쓸 수도 없다. 스크립트에 대해서는 한정된 라이브러리 콜만이 허용된다.이렇게 해야지 만 시스템의 안전에 대해서 보장을 받을 수가 있다. 스크립트 인터프리터가 신뢰할만한 스크립트에 대한 보다 광범위한 응용프로그램 인터페이스를 제공하는 방법이 추천된다.

    2.6 Style Sheet

    (현재 스펙에 대한 세 번째 개정판으로 인터넷-드래프트를 만들기 위한 단계에 있으며, 1995년 말까지 끝낼 계획이다. 현재 버전에서는 기본적인 부분(레벨1)은 안정적이므로, 이에 대해서는 프로그래머나 저자들이 사용을 시도해보기를 권한다. 최근 갱신일:95/8/10)

    웹을 사용하는 사람들이 점차로 많아지면서 HTML로 작성한 문서에 대해서 브라우져에서 보여지는 최종적인 모양에 대해서도 컨트롤하고자 하는 요구들이 있어왔다. 이러한 요구에 대해서 기존의 HTML의 디바이스-독립적인 문서의 구조를 유지한 채로 비쥬얼한 효과를 주는 방법으로 고안된 것이 바로 스타일 시트이다.

    스타일 시트는 기존의 데스크 탑 퍼블리싱에서 사용하는 템플릿과 매우 유사하다. 예를 들면 간단한 스타일 시트의 예로 문서의 제목을 파란색으로 하고 배경을 하얀 색으로 지정하는 것을 들 수 있다. 문서의 구조(제목)에 스타일(색깔)을 붙임으로서 스타일시트는 디바이스-독립과 문서 구조의 온전한 보존을 이울 수 있다. 스타일 시트는 문서와 독립되어져 저장되어질 수 있으며, 문서는 다양한 스타일 시트를 적용함으로서 다른 모습으로 보여질 수도 있다. 아울러 하나의 스타일 시트를 여러 개의 문서에 적용할 수도 있다.

    다음은 연속적인 스타일시트의 레벨 1에 대한 내용이다. 먼저 스타일 시트를 디자인하는 것은 그리 어렵지 않다. 기본적으로 HTML에 대해서 알고 있고, 데스크 탑 퍼블리싱의 기본 개념들을 알고 있다면 다음과 같이 문장이 쉽게 이해가 갈 것이다.

    H1: text-color = blue

    위의 문장은 헤딩 레벨 1(H1)의 텍스트 색깔을 파란색으로 지정하는 것임을 쉽게 이해할 수 있을 것이다. 위의 문장 구조를 자세히 알아보면 다음과 같다.

    selector ("H1"),property ("text-color"),value ("blue")

    셀렉터는 HTML 문서와 스타일과를 연결시켜주는 것으로, HTML 항목들이 셀렉터가 될 수 있 다. 스타일 시트를 문서에 넣는 방법은 STYLE 태그를 이용하는 방법과 LINK 항목을 이용하는 방법 이 있다. 다음의 예를 살펴보기로 한다.

    <HEAD>
      <TITLE>Title</TITLE>
      <STYLE NOTATION=CSS>
        H1: text-color = blue
      </STYLE>
      <LINK rel=StyleSheet href="bill.style">
    </HEAD>
    

    위의 예를 보면 TITLE 항목 바로 밑에 STYLE 태그가 들어가서 H1에 대한 스타일을 지정하는 법을 볼 수가 있고, LINK 항목을 통해서 외부에서 따로 지정된 스타일 시트 문서 bill.style을 참조하는 것을 볼 수 있다. 만약 biil.style에서 H1에 대한 스타일이 지정되어져 있다면, STYLE에 서 지정한 것이 우선 순위를 가진다. 이와 같은 방법으로 하나의 조직이나 그룹에서 사용되는 스타일을 따로 파일로 만들어서 논 다음에 이를 LINK 항목을 통해서 지정하고 문서의 저자가 특정 항목을 다른 스타일로 지정하고 싶다면 STYLE 항목을 통함으로서 가능하게 된다.

    다음은 스타일들을 그룹핑하는 예를 보여준다.

    H1, H2, H3: font-family = helvetica H1: font-size = 12pt, text.leading = 2pt, font-family = helvetica,, font-weight = bold H1: font = 12pt/14pt helvetica bold

    스타일의 상속에 관해 살펴보면 다음과 같다.

    <H1>The headline <EM>is</EM> important!</H1>

    디폴트 스타일의 지정에는 셀렉터로 HTML을 사용한다.

    HTML: text-color = dark-blue -- make dark-blue default

    또는 탑-레벨 스타일을 "*"로 지정할 수 있다.

    *: text-color = dark-blue

  • 문맥에 민감한 스타일시트의 설정

    H1   : text-color = blue
    EM   : text-color = light-blue
    

    위와 같이 지정할 경우 EM으로 마크업 되어져 있는 것은 모두 밝은 파란색으로 나타날 것이다. 만약에 H1 태그 내에 있는 EM에 한해서만 밝은 파란색으로 하고 싶다면 다음과 같이 지정한다.

    (H1) EM : text-color = light-blue

    여러 개의 속성을 주는 방법의 예로는 다음과 같은 것이 있다.

    <HTML>
     <HEAD>
      <TITLE>Title</TITLE>
      <STYLE NOTATION=CSS>
       P  : text-effect = drop-cap
       P  : font-size = 12pt
       P  : alt-font-size = 24pt      -- assuming leading is zero
       EM : font-style = small-caps
      </STYLE
     </HEAD>
     <BODY>
      <P><EM>The first</EM> few words of an article in The Economist..
     </BODY>
    </HTML>
    

    이 경우 아스키-터미날에서 다음과 같은 형태로 나타날 것이다.

     ___
       | HE FIRST few words
       |of an article in the
      Economist..
     

  • 스타일의 캐스케이딩

    @import "http://www.style.org/punk.css"
    H1: text-color = red       -- override included sheet
    
    위의 @import 문장은 <LINK REL=StyleSheet href= .. >와 동일하다.

  • Classes와 연관된 스타일 지정

    다음은 서브 클래스된 항목에 대한 스타일 지정 방법을 보여준다.

    <HTML>
     <HEAD>
      <TITLE>Title</TITLE>
      <STYLE NOTATION=CSS>
        H1.punk: text-color = #00FF00
      </STYLE>
     </HEAD>
     <BODY>
      <H1 class = punk>Way too green</H1>
     </BODY>
    </HTML>
    

    참고적으로 현재 CLASS 속성을 사용하는 것은 논의중이며 아직 확정적인 것은 아니다.

  • 속성-기반 스타일 지정

    A{HREF} : text-color = red           -- the HREF attribute exists
    H1{CLASS = huge} : font-size = 60pt  -- another way of writing H1.huge
    
    A{HREF}{OLD} : text-color = red
    A{HREF}{NEW} : text-color = blue
    

    2.7 기타 사항들

    2.7.1 NOTE

    NOTE 항목은 일반적으로 기술 문서에서 사용되어지는 노트나 주의, 경고 등의 내용을 환기시키 는데 사용되어진다. CLASS 항목에 어떤 종류의 메시지인가를 지정할 수 있다. 각각은 특정한 그 래피컬 교통 경고 사인과 연결되어져 있다.그래픽 소스에 대해서는 SRC 속성을 통해서 바꿀 수도 있다.

        <NOTE CLASS=WARNING>Please check with the local weather
        service before starting your climb. The mountain weather
        is subject to rapid deterioration. It is essential to
        carry a good map and compass.</NOTE>
    

    클래스 이름에는 NOTE, CAUTION, WARNING이 올 수 있으며, 만약 CLASS 속성이 지정되지 않았을 경우 NOTE 항목은 그래피컬한 사인없이 인덴트 되어져서 나타난다.

    2.7.2 각주

    FN 항목은 주석을 만들 때 사용되어진다. 실제적으로 팝-업 노트로 화면상에 나타난다.

    <DL>
    <DT>Hamlet: <DD>You should not have believed me, for virtue cannot so
    <a href="#fn1">inoculate. I loved you not.
    
    <DT>Ophelia: <DD> I was the more deceived.
    
    <DT>Hamlet: <DD>Get thee to a nunnery. Why wouldst thou be a breeder
    of sinners? I am myself <a
    href="#fn2">indifferent honest</a> ...
    </DL> 
    
    <fn id=fn1><i>inoculate</i> - graft</fn>
    <fn id=fn2><i>relish of it</i> - smack of it (our old sinful
    nature)</fn>
    <fn id=fn3><i>indifferent honest</i> - moderately
    virtuous</fn> 
    

    2.7.3 개선된 레이아웃 콘트롤

    레이아웃을 위한 콘트롤들로 다음과 같은 것이 있다.

    3. 결론-웹 오쏘링의 새로운 조류

    많은 새로운 기능을 담고 있는 HTML 3.0에 대해서 살펴보았는데, 이는 앞서도 지적했듯이 현 재 개발하고 있는 단계이므로, 완전하게 표준으로 확정되어진 것은 아니다. 하지만 테이블 기능을 포함하여 수학식의 표현 등 기존의 HTML 2.0에서는 사용하지 못했던 많은 유용한 기능들을 제공함으로 앞으로 많은 문서들이 HTML 3.0규약에 따를 것으로 예상되며, 아울러 VRML(Virtual Reality Modeling Language)이나 자바와 같은 새로운 스타일의 웹 오쏘링 도구들이 점차 대중성을 얻게 되면 이후 버전의 HTML에 규약에 포함되어질 가능성도 없지 않다.실제 HTML3.0에서는 양식의 다룸에 있어서 클라이언트 쪽 스크립트에 대한 언급이 있는데, 이러한 스크립트로 자바와 같이 것이 사용되어질 수 있을 것이다.

    참고문헌(References)

  • [Dave 95a]
    Dave Raggett,HyperText Markup Language Specification Version 3.0 ,March,1995
    URL: http://www.w3.org/pub/WWW/MarkUp/html3/CoverPage.html
  • [Dave 95b]
    Dave Raggett, The HTML3 Table Model/W3C Working Draft 25-Sep-95
    URL: http://www.w3.org/pub/WWW/TR/WD-tables-950925.html
  • [H on W Lie 95]
    H on W Lie, Bert Bos, Cascading Style Sheets: a draft specification,August 10, 1995
    URL: http://www.w3.org/pub/WWW/Style/css/draft.html
  • [Eric 90]
    Eric van Heerwijnen, Practical SGML, 1990,Kluwer Academic Publishers