메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

XHTML 2.0: 최신 트릭 공개

한빛미디어

|

2002-09-27

|

by HANBIT

9,315

저자: 켄달 그랜트 클라크(Kendall Grant Clark), 역 한빛리포터 강상진

시맨틱 웹이 특별한 의미를 갖는다면, 이는 어디에서나 머신 간의 정보 교환이 가능하고, 비용도 적게 들며, 사람들간의 정보교환 만큼이나 쉽도록 웹의 내부구조를 바꾸고 있다는 것을 들 수 있겠다. 그러나 시맨틱 웹의 궁극적인 목표는 웹을 둘러싼 환경에 어떤 손상도 주지 않고 머신 간의 정보 교환을 이루는 것이다. 머신간 정보교환은 사람들간의 정보교환을 도와준다는 것일 뿐, 이를 완전히 대신한다는 것을 의미하는 것은 아니다. 또한 이것은 머신간 정보교환이 반드시 필요한 것은 아니라는 뜻이다. 현재 웹에서 사람들간 정보 교환을 해주는 가장 큰 매개물은 HTML이다. 웹의 내부구조를 머신간 정보교환이 가능하도록 바꾸려는 분주한 활동속에서 우리는 HTML의 중요성을 잊지 않아야 한다.

머신간 정보교환의 문제는 개념화하고, 디자인하며, 개발하고, 전개하는 것이 HTML기반에서보다 훨씬 어렵다는 것이다. 그러므로 구현하려면 현재의 웹환경으로는 부족하고 뭔가 새로운 것이 더해져야만 하는 것으로 보인다: 소수의 사람들만 그것을 이용해 적극적으로 개발하고 전개하겠지만, 아마 직간적접으로 대부분의 사용자들이 혜택을 누리게 될 것이다.

한편으로 시맨틱 웹은, 초기 웹에서의 제공자와 고객의 사이에 있던 균형을 뒤집을 것이다. HTML은 누구나 쉽게 배울 수 있는 만큼 누구나 만들어 제공할 수도 있다. 이것이야 말로 HTML의 가장 큰 장점으로 시맨틱 웹은 이를 방해해서는 안될 것이다. HTML의 다양한 형태, 특히나 XHTML등은 항상 웹 컨텐츠 중에서 가장 보편적인 형태가 되어야 할 것이다. 사람들이 이것을 사용하여 지금처럼 특별한 도움 없이도 쉽게 유저 인터페이스(UI, User Interface)를 만들 수 있어야 하고, 유용한 정보를 모으는 것을 시도하고, 이에 대한 시행착오를 겪어야 될 것이다. 이것이 오래 지속될 웹 환경의 내부구조는 모든 부분을 세심하고 신중하게 운영해 나가야 할 가치가 있다.

이런 상황에서 웹의 미래에 대한 오랜 동안의 안목과 오랫동안 많은 사람들이 이용할 수단으로 많은 사람들에게 공감을 불러일으킨 것이 바로 8월 5일 처음으로 일반에게 공개된 XHTML 2.0 초안이다. 앞으로도 오랫동안 우리는 HTML을 사용할 것이기 때문에 이를 합리화하고, 끊임없이 진화시키고, 더 강력하게 만들며, 사람들이 원할 때 수정할 수 있는 여지를 두자는 주장은 설득력 있다. 우리는 XHTML 2.0의 초안을 보고 XHTML을 책임지고 있는 W3C 그룹이 XHTML의 이상을 잘 이해하고 있다는 것을 알 수 있었으며 이러한 이해를 바탕으로 XHTML의 정의 작업도 잘 하고 있다는 것을 알 수 있었다.
HTML & XHTML: The Definitive Guide, 5th Edition

참고 도서

HTML & XHTML: The Definitive Guide, 5th Edition
Chuck Musciano, Bill Kennedy




많은 것이 변할수록 그들은 더 많이 변하기 마련이다.

나는 XHTML 2.0의 두드러진 변화를 알려주고 싶다. 특수하지만 중요한 문제인 사람들이 XHTML을 통해 손쉽게 웹을 개발할 수 있어야 한다는 문제를 그들이 어떻게 풀어나갔는지를 설명하기 위해서이다. XHTML 2.0의 초안은 XHTML 1.1과의 차이점을 모두 나열하지는 않았기 때문에 아래 목록은 불완전할 수도 있다.

네비게이션 리스트. 웹 디자이너들이 계속 해야만 하는 일 중 하나는 웹사이트의 네비게이션 설계를 위한 구조, 스크립트 및 특별한 장치들을 구축하는 것이다. 이런 광범위한 요구에 맞추어, XHTML 2.0은 nl(Nav list) 엘리먼트로 표현되는 새로운 종류의 네비게이션 리스트를 가지고 있다. XHTML 2.0의 초안에 따르면, 이것은 각각의 머신 및 브라우저 별로 보여줄 수 있는 디스플레이 구조로써 선택할 수 있는 아이템들의 컬렉션을 정의하기 위해 고안되었다. 초안은 시각적 표현이 가능한 기기별로 각각 표현되는 기본 네비게이션 리스트를 이론적으로 상당히 자세히 기술하고 있다. 그러나 현명하게도 시각적 표현을 할 수 없는 기기에 대해서는 기술하고 있지않다. XHTML 2.0 문서에서 네비게이션 리스트는 다음과 같은 형태를 가지고 있다.

   The Constitution of Mars 
   
  • Article 1. Legislative Department
  • Article 2. Executive Department
  • Section 1: Executive Council
  • Section 2: Powers of the Executive Council
  • Article 3. Judicial Department
  • Article 4. The Global Government and the Towns and Settlements
  • ...
    XHTML 2.0에서 네비게이션 리스트를 추가하는 것은 일종의 대중화 효과가 있다. 문서의 오브젝트 모델이나 스크립팅에 대해 지식이 많지 않은 사람이라도 복잡한 사이트를 구축할 수 있고, 문서의 네비게이션 설계를 쉽고 간단히 할 수 있기 때문이다. 그리고 자연스럽고 유기적으로 이미 알고 있는 것들을 넓혀갈 수 있다.

    모든 것은 링크이다. XHTML 2.0은 공통 속성 컬렉션(Common Attribute Collection;CAC)이라는 요소 속성(Element attributes)들의 그룹을 포함한다. 속성 컬렉션들은 규모가 큰 XML이나 SGML 어플리케이션을 다루는데 많이 사용되기 때문에, XHTML 2.0의 공통 속성 컬렉션은 그 자체로 주목할만한 것은 아니다. 그러나 XHTML 2.0은 href 속성을 공통 속성 컬렉션에 포함시켰다. 이것은 XHTML 2.0에 포함하는 모든 요소들이 하이퍼링크 일 수 있다는 것을 의미한다. 근본적인 변화이기 때문에 XHTML 2.0이 나온지 얼마되지 않은 현재에는 평가하기 힘든 문제이지만, 직접적 효용은 무척 명확하다. 이렇게 구조를 구축하는 대신에,

    Article 5. Individual Rights and Obligations

    같은 구조를 다음과 같이 더 짧게 표현할 수 있을 것이다.

    Article 5. Individual Rights and Obligations

    이런 변화는 장기적인 관점에서 큰 호응을 받을 것 같다. 어떤 사람들은 XHTML 2.0이 실제로는 XLink(XML.com페이지의 Bob DuCharme의 최근 기고문, XLink: Who Cares?를 참조)를 이용해야만 한다고 주장하겠지만 말이다.

    순서없는 섹션과 헤더. HTML 사용시 가장 일반적인 고민은 HTML문서의 주된 구조 요소가 가지고 있는 번호 붙여진 헤더들로 인한 총체적 재난일 것이다. 그러나 이것은 진부한 표현 효과를 위해 널리 (잘못)사용되었다. 결국은 없어지게 될 것이라고 생각하지만, XHTML 2.0이 아직은 친숙한 h1부터 h6의 헤더 요소를 사용하도록 한다. 그러나 HTML 2.0은 섹션과 h 요소를 없앨 토대를 만들었다. h1-h6 헤더의 개념적인 문제는 컨테어너 요소가 아니라는 점이었다(섹션을 만들지 않고 단지 섹션 제목의 특별한 렌더링을 통해 섹션을 변화를 알 수 있도록 했음). 그러나 문서 섹션이나 세그먼트는 XML과 SGML 어플리케이션에서 주로 명시적으로 이름 붙여지거나 이름 붙여지지 않은 컨테이너로서 해석된다. XHTML 2.0에서 문서의 저자들은 다음 문장을

    Article 6. The Land.

    Section 1. Terraforming Goals and Limits

    좀더 복잡하지만 더 표현이 풍부한 다음의 표현으로 대체 할 수 있을 것이다. (부분적으로는 완전히 포함시킬 수 있기 때문)

    ...

    Article 6. The Land
    Section 1. Terraforming Goals and Limits
    1. The primal state of Mars shall have legal consideration...
    2. ...
    DocBook에서와 같이 이것을 통해 문서의 저자들은 알리기에 앞서 새로운 섹션을 시작하는데 유연성을 발휘할 수 있다. 이것으로 섹션의 첫 요소는 지금까지의 다양한 형태의 HTML과는 달리 헤더가 아니다.

    라인 끝냄. 다양한 HTML 사용자들 사이의 또다른 고민거리는 br 요소의 의미와 용도이다. 진부하게 말하자면 디자이너들은 이 요소를 보통 특정 렌더링을 밀어붙이기 위해 사용했다. 한편, SGML과 XML 고수들은 그렇게 사용하면 안된다고 주장했다. XHTML 2.0의 초안은 이 어려운 문제를 단순히 br을 전적으로 사용하지 못하도록 함으로써 풀어내었다. 드디어 귀찮은 일이 사라진 것이다.

    br 대신에 XHTML 2.0은 line을 제공한다. 그렇지만 현재로서는 line 요소가 다소 불완전하게 정의되어있다. "line 요소는 서브 패러그래프를 나타낸다."라고 정의 되어 있으나 아직까지 서브 패러그래프를 한번도 보지 못했고, 실제로 봤다고 하더라도 진짜 기뻐했을지는 자신할 수 없다. 초안에서의 의미는 line이 p요소 안에서 라인의 시작과 끝냄 등, 문단의 구조적인 부분을 나타내는데 사용된다는 것을 의미한다.

    모든 것을 표현하는 오브젝트. img와 applet은 범주를 벗어난 미디어 형태의 엔티티까지 포함한 모든 것을 나타내는 다면적 역할의 object개념을 확실히 하기위해 없어졌다. 다시 말해 XHTML 2.0의 오브젝트는 다소 복잡하기 때문에 아직 모두 다 정리해보지는 못했다. 그러나 사람들이 다음과 같이 친숙한 형태로 쓰지는 못할 것이라는 것은 분명하다.
    Approaching Pavonis Mons By Balloon
    
    아마 다음과 같은 형태로 바뀔 것이다.
    
      Approaching Pavonis Mons By Balloon
    
    
    여기에서 type 속성은 브라우저에게 type관련 정보를 주어 표현하고 싶은 오브젝트의 버전에 대해 지능적인 판단을 내릴 수 있도록 도와주어 편리할 것처럼 보이지만 실제로는 선택적으로 사용할 수 있는 것 같다.

    인용하기. q와 cite처럼 소수의 HTML 요소들은 혼란스러운 점이 많아서 잘못 사용할 수 있다(이는 XML와 SGML의 고수들이 더 잘 알 것이다). XHTML 2.0에서 q는 quote로 바꾸고 페이지 저자로 하여금 적절한 인라인 따옴표를 사용할 수 있도록했다. 특히 cite는 적절하지 않은 이름 때문에 의심의 여지가 없이 blockquote의 동의어로 생각되어왔다. cite는 인용을 마크업하는 역할을 해야 한다. 말하자면 인용하거나 참조한 책의 제목. 예를 들어 이 기사를 킴 스탠리 로빈슨(Kim Stanley Robinson)의 훌륭한 책에서 인용해왔다고 한다면 The Martians라고 작성했었다. 이에 반해, XHTML 2.0은 cite를 요소로서, URI를 값으로 가지고 있는 속성으로서 간직한다. 이는 사람들의 웹과 시맨틱 웹사이에 포개진 다양한 접점에서 중요한 부분이다.

    Robinson understood the importance of civic involvement, enshrining it in the constitution of his fictional Mars: The citizens of Mars shall, over the course of their lives, give one m-year of work to global service and the public good, such work to be defined by the economic commission, but never to be military or police work.

    속성으로서의 cite가 XHTML 2.0에서 가능한지는 아직까지 명확하지 않다. 그러나 앞으로는 공동 속성 컬렉션(CAC) 안에서 href와 결합하여 광범위하게 사용할 수 있었으면 한다. 이것은 단지 글로벌 하이퍼텍스트 시스템에서 더 많은 링크, 특히 형을 정의한 링크를 손상시키지 않을 것이다. 그리고 사람과 머신 모두에게 웹과 관련된 정보를 얻을 수 있는 다른 노드들과의 연결을 제공할 것이다. 그러나, 어떤 사람은 cite 어드레스들에 적용될 수 있을 것 같은 XLink의 존재에 대하여 더욱더 의혹을 가질 것이다.

    XHTML 2.0이 다소 단점도 보이고 생략된 부분도 있지만 현재의 초기 상태에서 심각한 문제를 안고 있지 않다는 것은 분명하다. 이것은 올바른 방향으로 나가기 위한 몸짓일 뿐이고, 그래도 단점보다는 장점이 더 많다. 개인적으로는 이를 책임지고 있는W3C의 그룹이 XHTML 2.0에 좀더 많은 시간을 투자할 것을 제안한다(XHTML 1.1에 적응하는데 오래 걸렸던 것을 보면, 2.0버전도 모든 규약이 금방 사용될 것 같지는 않다). 서두를 이유가 없다. 나는 단지 조만간 XHTML 2.0을 지원하는 브라우저가 나오길 희망할 뿐이다.
    TAG :
    댓글 입력
    자료실

    최근 본 상품0