메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

XML 살펴보기: HTML의 XML 특성

차세대 웹 고유 언어를 사용하는 개발자를 위한 6가지 권장사항

Uche Ogbuji, 파트너, Zepheira, LLC
Uche Ogbuji 사진
Uche Ogbuji는 차세대 웹 기술 솔루션을 제공하는 Zepheira, LLC의 파트너다. XML, RDF, 지식 관리 응용 프로그램의 오픈 소스 플랫폼인 4Suite 개발을 이끌고 있으며, PDF 조회 언어인 Versa 개발도 이끈다. 그는 Nigeria에서 태어나 현재 Colorado 주 Boulder 시에 살고 있는 컴퓨터 엔지니어다. 자세한 내용은 Ogbuji의 블로그 Copia를 참조한다.

요약: 

한동안 주요 브라우저 벤더가 독립된 조직 하에서 개발한 W3C의 XHTML 2와 HTML5 사이에서 무엇이 웹 마크업의 미래가 될 것인지에 대한 논쟁이 있었습니다. W3C는 먼저 HTML5의 손을 들었고 최근에는 XHTML 2에 대한 지원 중단을 발표했습니다. 이것은 웹에서 XML의 미래에 대해 중요한 변화를 초래했으며 HTML5의 기세로 인해 현재 모든 HTML5는 이미 XML 개발자가 다루어야 하는 기술이 되어 있습니다.

하지만 HTML5는 적절한 XML 직렬화를 지원하기 때문에 XML 지지자도 실망할 필요가 없습니다. 이전 XHTML 규칙과 약간 다른 키를 포함한 HTML5의 XML 양식에 대해 살펴보고 최신 웹 브라우저에서 이 용어가 실제로 어떻게 적용되는지 살펴봅니다.

이 연재 자세히 보기

원문 게재일:  2010 년 7 월 08 일 (출판일: 2010 년 7 월 06 일)
난이도:  중급 영어로:  보기 PDF:  A4 and Letter (56KB | 11 pages)Get Adobe® Reader®
페이지뷰:  4977 회
의견:  


2010년 7월 8일: 저자의 요청에 의해 두 개의 참고자료가 추가됨: Tip: Always use an XML declarationMichael Smith에 대한 감사의 말

자주 사용하는 약어

  • API: Application Programming Interface
  • DOM: Document Object Model
  • HTML: Hypertext Markup Language
  • HTTP: Hypertext Transfer Protocol
  • MIME: Multipurpose Internet Mail Extensions
  • SGML: Standard Generalized Markup Language
  • URL: Uniform Resource Locator
  • W3C: World Wide Web Consortium
  • XHTML: Extensible Hypertext Markup LanguageExtensible Markup Language
  • XML: Extensible Markup Language

HTML의 역사는 논쟁 그 자체였다. 웹 아키텍트의 노력에도 불구하고 웹은 항상 정리되지 않고 혼란스러울 뿐만 아니라 엄청나게 많은 부분으로 나눠져 있기도 한 마크업(별명이 태그 수프임)의 신개척지였다. XML의 한 가지 야망은 언제나 이러한 혼란을 정리하는 데 도움이 되는 것이었기 때문에 XML의 호칭은 "웹용 SGML"이다(SGML은 메타 언어이며 HTML은 SGML의 한 가지 유형임). XML이 출현하자마자 큰 파장이 일어났다. W3C에서는 당연히 XML도 브라우저에서 적절하게 사용될 수 있으며 XHTML을 HTML에서 좀더 일관성 있는 언어로 가장 자연스럽게 진화된 경우로 설정한다. 안타깝게도 이러한 열정을 방해하는 예상치 않은 문제가 계속 발생하고 있다. 네임스페이스 및 링크와 같이 언뜻 보기에는 단순한 개념이 기술 정치론이라는 큰 파장을 몰고왔다. 그에 따른 논쟁과 지연은 브라우저 개발자에게 XML이 알려진 문제점으로부터 벗어나는 데 도움이 된다는 것을 확신시키에 충분하고도 남았지만 수많은 새로운 문제점과 알 수 없는 자체적인 문제점을 제공했다.

XML이 모든 문제를 해결할 수는 없다는 많은 증거가 없어도, 태그 수프를 사용하는 축적된 수많은 페이지와 포스텔의 법칙(전설적인 컴퓨터 과학자 존 포스텔의 이름을 따서 명명됨)을 고려할 때 브라우저 개발자는 웹을 위한 엄격한 XML 기반 경로로 마이그레이션하는 데 항상 어려움이 있었다. 이 법칙의 내용은 다음과 같다.

당신이 하는 것에는 보수적이고, 다른 사람들로부터 받아들일 때는 개방적이 되어라.

XML의 구조는 관리자가 보수성을 정책으로 부과할 수 있는 서버 또는 데이터베이스측에서 이 법칙을 준수한다. 그 결과 여기서 XML이 주류가 된다. 웹 브라우저는 다른 사용자의 정보를 받아들여야 하는 궁극적인 예가 되기 때문에 XML 및 포스텔의 법칙과 관련된 긴장이 여기서 가장 높다.

XHTML의 효용 가치는 끝났다. XHTML이여 영원하라.

이러한 긴장은 최근 몇 년 사이에 정점에 이르렀다. 브라우저 벤더는 대부분 W3C를 무시해 왔고 HTML을 발전시키기 위해 WHAT WG(Web Hypertext Application Technology Working Group)를 형성하여 HTML5를 만들었다. W3C XHTML에 대한 지원은 정체되어 있었다. W3C는 먼저 HTML5 작업을 계속 진행할 수 있는 공간을 제공하여 실용성을 인정했고 2009년에 XHTML 지원을 중단함으로써 패배를 인정했다. 이것이 실제로 XHTML의 종말을 의미하는지는 쉽게 판단할 수 없다. HTML5는 확실히 전적으로 XML에 적합하도록 설계되지는 않았지만 최소한 HTML을 위한 XML 직렬화(이 기사에서는 XHTML5라고 부름)라는 형식적인 호의라도 베푼다. 그럼에도 불구하고 HTML5 FAQ 항목 중 하나에서 보여 주듯이 문제를 해결하려면 아직도 멀었다.

HTML 문서에서 사용하는 구문에 주의하면 XML 구문 분석기로 HTML 문서를 처리할 수 있습니까? 아니오. HTML과 XML은 상당히 다릅니다(특히, 구문 분석 요구 사항). 따라서 두 언어 중 하나를 위해 설계된 도구를 사용하여 두 언어 중 다른 언어를 처리할 수 없습니다. 하지만 HTML5는 DOM의 관점에서 정의되어 있기 때문에 대부분의 경우에는 동일한 문서를 표시할 수 있는 HTML 및 XHTML 직렬화를 사용할 수 있습니다. 하지만 일부 HTML 문서를 정확히 XHTML로 표시하거나 그 반대로 표시할 수 없는 몇 가지 차이점이 있으며 이러한 차이점은 나중에 설명합니다.

웹에서 XML의 미래에 대해 관심이 있는 개발자에게는 상황이 매우 혼란스럽다. 이 기사에서는 HTML5 환경에서 XML의 처한 상황에 대해 설명하는 유용한 안내를 제공한다. 이 기사는 필자가 절박한 웹 해커라고 부르는 사용자를 위해 작성되었다. 절박한 웹 해커는 W3C 표준 전문가는 아니지만 웹에서 XHTML5를 생성하거나 단순하게 XHTML5를 이용(즉, 복잡한 렌더링을 걱정하는 대신 정보를 이용)하는 데 관심이 있다. 올바른 방법으로 XML 처리하도록 오랫동안 주창해온 필자로서는 일부 권장사항은 제시하기 쉽지 않다는 것을 인정한다. HTML5는 여전히 W3C 작업 초안이며 완벽한 권장사항이 되려면 시간이 다소 걸린다는 것을 기억한다. 하지만 HTML5의 기능은 많은 수가 안정적이며 이미 웹에서 제대로 구현되어 있다.

XHTML5로 인식될 문서 제공하기

안타깝게도 안 좋은 소식이 더 있다. XHTML5를 공식적으로 정의된 대로 사용하지 못할 수 있다. 왜냐하면 일부 스펙에는 XHTML5로 해석되려면 application/xhtml+xml 또는 application/xml MIME 유형을 사용하여 제공되어야 한다고 되어 있기 때문이다. 하지만 이렇게 하면 Microsoft® Internet Explorer®의 전체 릴리스 버전이 모두 렌더링에 실패한다(기타 주요 최신 웹 브라우저에서는 모두 문제 없음). 유일한 프로그램적 해결 방법은 text/html MIME 유형을 사용하여 구문 XHTML5를 제공하는 것이다. 이 방법은 기술적으로는 HTML5 스펙의 일부 버전을 위반하는 것이지만 Internet Explorer에 대한 지원을 제외할 수 있는 경우가 아니면 선택할 여지가 많지 않다. 혼란을 더 악화시켜 이 방법은 관련 작업 그룹에서 논쟁을 유발하기 때문에 적어도 일부 초안에서는 이 언어의 사용이 자제되었다. Internet Explorer 9 beta("Platform Preview"로도 알려져 있음)는 XML MIME 유형과 함께 제공되는 XHTML을 완전히 지원하므로 이 버전이 사용자에게 광범위하게 배포되면 이 문제가 사라진다. 반면에 Internet Explorer 6 이하 버전을 지원해야 하는 경우에는 이 기사에 소개된 해결 방법으로도 충분하지 않다. HTML 4.x를 철저하게 고수해야 한다.

절박한 웹 해커를 위한 권장사항: text/html MIME 유형을 사용하여 구문 XHTML5를 제공한다.

DOCTYPE 사용하기

절박한 웹 해커의 관점에서 볼 때 한 가지 좋은 소식은 XHTML5가 문서 유형 선언(DTDecl)보다는 걱정거리가 덜하다는 것이다. HTML 1.x 및 2에는 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">와 같은 악명 높은 구문이 필요했다. 여기서 발생하는 가장 큰 문제는 기본에 충실한 프로세서가 해당 DTD URL을 로드할 가능성이 있다는 것이며 이러한 조작은 원하지 않은 네트워크 조작이라는 것이다. 더욱이 하나의 URL에 다수의 다른 URL이 포함되어 있어 불필요하게 W3C 사이트에서 수십 개의 파일을 다운로드하게 되는 경우가 드물지 않았다는 것도 문제였다. 가끔 W3C에서 호스트하는 파일에도 문제가 있어 비정상적으로 디버깅이 어려운 문제가 발생한다.

XHTML5에서는 파일의 XML 특성은 전적으로 MIME 유형에 의해 판별되고 DTDecl은 사실상 무시되므로 DTDecl을 생략할 수 있다. 하지만 HTML5에서는 최소한의 DTDecl인 <!DOCTYPE html>를 제공한다. 이 DTDecl을 사용하는 경우에는 거의 모든 브라우저가 "표준" 모드로 전환되며 이는 완전한 HTML5가 아닌 경우에도 일반적으로 준수도와 예측 가능성이 더 높다. HTML5 DTDecl은 별도의 파일을 참조하지 않기 때문에 앞서 언급한 XHTML 문제점 중 일부를 방지한다는 것에 주목한다.

절박한 웹 해커를 위한 권장사항: HTML 최소 문서 유형 선언 <!DOCTYPE html>를 XHTML5에서 사용한다.

외부 DTD 컴포넌트는 사용하고 있지 않기 때문에 &nbsp; 또는 &copy;과 같은 일반적인 HTML 항목은 사용할 수 없다. 이러한 HTML 항목은 사용자가 선언하고 있지 않은 XHTML DTD에 정의되어 있다. 이러한 항목을 사용하려고 시도하면 XML 프로세서는 실패하고 undefined entity 오류가 발생한다. 안전하게 이름 지정된 유일한 문자 항목은 &lt;, &gt;, &amp;, &quot;&apos;이다. 숫자로 된 동등 항목을 대신 사용한다. 예를 들어, &nbsp; 대신 &#160;을 사용하고 &copy; 대신 &#169;을 사용한다.

절박한 웹 해커를 위한 권장사항: &lt;, &gt;, &amp;, &quot;&apos;을 제외하고는 이름 지정된 문자 항목을 사용하지 않는다.

기술적으로 말하면 문서를 text/html로 제공하는 경우에는 첫 번째 권장사항에 따라 HTML 이름 지정된 문자 항목을 사용하는 대부분의 브라우저에서는 오류가 발생하지 않지만 이 결과를 신뢰하는 것은 성급한 행위이며 브라우저가 XML의 유일한 이용자가 아님을 기억한다. 기타 XML 프로세서는 이러한 문서를 받아들이지 않는다.

네임스페이스 사용하기

MIME 유형과 DTDecl 이후 XML 형식을 인식하는 데 필요한 지나치게 정교한 메커니즘의 마지막 계층은 네임스페이스이다. 다음과 같은 행으로 XHTML 문서를 시작하는 것에 익숙할 것이다.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
            

굵은체로 된 부분(xmlns="http://www.w3.org/1999/xhtml")이 네임스페이스이다. XHTML5에서도 이 네임스페이스는 여전히 필요하다. SVG(Scalable Vector Graphics)와 같은 다른 XML 용어를 포함하는 경우에는 이러한 용어를 각각의 필수 네임스페이스에 추가한다.

절박한 웹 해커를 위한 권장사항: 항상 기본 네임스페이스를 XHTML5 문서의 맨 위에 포함시키고 임베드된 기타 XML 형식에 대해 적절한 네임스페이스를 사용한다.

기타 용어를 포함하는 경우에는 해당 용어의 네임스페이스 선언이 임베드된 섹션의 가장 바깥쪽에 있는 시작 태그에 있어야 한다. 해당 용어를 html 요소에서 선언하는 경우에는 text/html 문서 준수 오류를 커미트한다.


XHTML5 컨텐츠에 대해 작업하기

XHTML5를 사용하려면 HTTP Content-Type 헤더와 같은 프로토콜 헤더에서 유니코드 BOM(Byte Order Mark)이라는 특수 문자 마커를 사용하거나 XML 선언을 사용하여 매체 유형을 지정해야 한다. 이 두 가지 방법은 충돌하는 경우가 아니면 어떠한 조합으로도 사용할 수 있지만 문제를 예방하는 가장 좋은 방법은 메커니즘 결합 방식에 주의하는 것이다. 안타깝게도 XML 선언을 사용하면 버전 8 이하의 모든 Internet Explorer가 특이 모드로 전환되어 Internet Explorer의 악명 높은 렌더링 예외가 발생하기 때문에 XML 선언을 사용하면 문제가 발생할 수 있다.

절박한 웹 해커를 위한 권장사항: XHTML5 문서에는 유니코드 인코딩만 사용한다. XML 선언을 생략하고 UTF-8 인코딩을 사용하거나 UTF-16 유니코드 BOM(Byte Order Mark)을 문서의 시작 부분에 사용한다. 가능하면 문서를 제공하는 동안 Content-Type HTTP 헤더를 사용한다.

이러한 HTTP 헤더의 예제는 다음과 같다.

Content-Type: "text/html; charset=UTF-8"
            

새로운 시맨틱 마크업 요소

HTML5는 sectionarticle과 같은 컨텐츠 구조에 대한 깔끔한 시맨틱을 제공하는 새로운 요소를 소개한다. 이러한 요소는 여전히 변경될 수 있는 HTML5의 일부이지만 급격한 변경이 발생하지는 않으며 새로운 요소에서 제공하는 개선된 표현식에 의해 위험이 조절된다. 한 가지 문제점은 Internet Explorer가 DOM에서 이러한 요소를 구성하지 않기 때문에 JavaScript를 사용하는 경우에는 다른 해결방법을 적용해야 한다는 것이다. Remy Sharp는 문서의 첫 부분에 다음 스니펫을 포함시켜 전개할 수 있는 JavaScript 수정사항을 유지한다(링크는 참고자료 참조).

<!--[if IE]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

또한 알 수 없는 요소의 기본값을 인라인 렌더링으로 설정하는 HTML 4 스타일에서 브라우저가 문서를 렌더링하는 경우를 대비해 요소에 대한 CSS 규칙을 정의해야 한다. 다음 CSS는 제대로 작동한다.

header, footer, nav, section, article, figure, aside {
    display:block;
}

절박한 웹 해커를 위한 권장사항: 새로운 HTML5 요소를 사용하되 HTML5 shiv JavaScript와 기본 CSS 규칙을 포함시켜 해당 요소를 지원한다.


종합하기

다수의 독립적인 권장사항을 제시했으니 이제는 이러한 권장사항을 하나의 완전한 예제로 통합한다. Listing 1은 이러한 권장사항을 충족하는 XHTML5이다. HTTP를 통해 이를 제공할 때는 Content-Type: "text/html; charset=UTF-8" 헤더를 사용한다. 단, Internet Explorer에 대한 지원을 거부할 수 있는 경우에는 예외이며 이 경우에는 Content-Type: "application/xhtml+xml; charset=UTF-8" 헤더를 사용한다.


Listing 1. 전체 XHTML5 예제

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
  <title>A micro blog, in XHTML5</title>
  <style>
<!-- Provide a fall-back for browsers that don't understand the new elements -->
header, footer, nav, section, article, figure, aside {
  display:block;
}  </style>
  <script type="application/javascript">
    <!-- Hack support for the new elements in JavaScript under Internet Explorer -->
    <!--[if IE]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
  </script>
  <script type="application/javascript">
    <!-- ... Other JavaScript goes here ... -->
  </script>
  </head>
  <body>
    <header>A micro blog</header>
    <article>
      <section>
        <p>
          There is something important I want to say:
        </p>
        <blockquote>
          A stitch in time saves nine.
        </blockquote>
      </section>
      <section><p>By the way, are you as excited about the World Cup as I am?</p>
      </section>
    </article>
    <article>
      <section>
        <p>
          Welcome to my new XHTML5 weblog <img src="/images/logo.png"/>
        </p>
      </section>
    </article>
    <aside>
      <header>Archives</header>
      <ul>
        <li><a href="/2010/04">April 2010</a></li>
        <li><a href="/2010/05">May 2010</a></li>
        <li><a href="/2010/06">June 2010</a></li>
      </ul>
    </aside>
    <footer>&#169; 2010 by Uche Ogbuji</footer>
    <nav>
      <ul>
        <li><a href="/">Home</a></li>
        <li><a href="/about">About</a></li>
        <li><a href="/2010/06">Home</a></li>
      </ul>
    </nav>
 </body>
</html>
            

Listing 1에서는 HTML5 DTDecl을 사용하며 기본 네임스페이스를 맨 위에서 선언한다. 이 예제에 있는 stylescript 요소는 실제 브라우저 문제에 대한 해결방법을 제공한다. script 요소는 기타 JavaScript를 사용하는 경우에만 필요하다. 문서에서는 많은 새로운 HTML5 요소를 사용하지만 이러한 요소는 XML의 고유 특성이 아니기 때문에 자세히 다루지 않는다. 이러한 요소에 대한 자세한 정보는 참고자료를 참조한다. img 요소에 "자동 닫기" 구문이 사용된 것과(즉, />로 끝남) 저작권 기호에 숫자 항목 양식(&#169;)이 사용된 것에 주목한다.

위 예제가 다양한 브라우저에서 어떻게 작동하는지에 대한 요약 정보는 표 1을 참조한다.


표 1. 이 기사의 권장사항을 충족하는 XHTML5에 대한 브라우저 지원
브라우저동작
레거시 브라우저(예: Internet Explorer 6.x 이하, Netscape, Firefox 1.x)렌더링을 예측할 수 없다. 예를 들어, "자동 닫기" 요소를 종료 태그로 오인할 수 있다. HTML 이름 지정된 엔티티를 사용하는 경우에는 오류가 발생하지 않는다.
Internet Explorer 7 또는 8text/html MIME 유형으로 인해 렌더링은 일반적인 "태그 수프" HTML이 되지만 DTDecl의 존재로 인해 Internet Explorer가 제공하는 것과 같은 "표준 모드"가 트리거된다. HTML 이름 지정된 엔티티에 대한 오류 보고서는 없다.
최신 HTML5 인식 브라우저(예: Firefox 3.x, Safari 4나 최신 Opera 또는 Google Chrome)MIME 유형으로 인해 렌더링은 XHTML5가 아니라 HTML5가 되지만 모드는 "표준 모드"이다. HTML 이름 지정된 엔티티에 대한 오류 보고서는 없다.
표준 XML 1.x 프로세서MIME 유형은 고려되지 않는다. 구문 분석기는 XHTML 네임스페이스에서 모든 요소를 고유하게 확인한다. 허위의 HTML 이름 지정된 항목을 사용하는 경우에는 오류 메시지가 수신된다.

결론

한 가지 중요한 최근의 발전은 W3C HTML Working Group에서 XHTML5에 보다 철저하고 정확한 최신 기반 정보를 제공하기 위해 첫 번째 공개 작업 초안인 "Polyglot Markup: HTML-Compatible XHTML Documents"(링크는 참고자료 참조)를 공개했다는 것이다.

다시 한번 말하지만 이 기사에서 많은 권장사항을 제시하는 것은 매우 힘든 작업이었다. 이러한 시행착오는 길고 고통스러운 경험을 수반하지만 XML을 실제로 HTML에 혼합할 때 재현하기 어려운 버그와 비호환성을 예방하기 위한 유일한 방법이다. 하지만 이것이 신중한 XML 설계와 베스트 프랙티스에 대한 지지를 중단하는 것을 의미하는 것은 확실히 아니다. 브라우저에 연결되는 가장 바깥쪽 컴포넌트를 위한 XHTML5를 저장하는 것이 가장 좋다. XHTML의 모든 유형은 정보가 포함된 언어보다는 렌더링 언어로 더 잘 표시된다. 다른 XML 형식으로 대부분의 시스템에서 기본 정보를 보유한 후 마지막에만 XHTML5로 변환해야 한다. 마지막에 XHTML5를 작성하는 의미가 무엇인지 궁금할 수 있겠지만, 사용자가 생성하는 항목에 대해 보수적이어야 한다는 포스텔의 법칙을 기억한다. 브라우저를 위한 XHTML5를 생성하면 다른 사용자가 사용자의 웹 사이트 및 애플리케이션으로부터 정보를 더 쉽게 추출할 수 있다. 매시업, 웹 API 및 데이터 프로젝트의 시대에도 이는 유용한 특성이다.

이 분야에서의 최근 발전사항에 대해 주의를 기울일 수 있게 해 준 Michael Smith에게 감사의 마음을 전한다.


참고자료

교육

제품 및 기술 얻기

  • Validator.nu 도구: XHTML5 문서의 유효성을 검증해 보자.

  • HTML5 enabling script(Remy Sharp): JavaScript에서 새로운 HTML5 요소에 액세스할 때 발생하는 Internet Explorer 문제점에 이 수정사항을 적용해 보자.

  • html5lib 프로젝트: HTML 또는 XHTML5를 쉽게 이용하려면 HTML 구문 분석기의 Python 및 PHP 구현(Python, C, PHP 및 Ruby에 대한 바인딩이 포함됨)을 살펴보자.

  • IBM 제품 평가판: 다운로드하거나 IBM SOA Sandbox의 온라인 시험판을 살펴보고 DB2®, Lotus®, Rational®, Tivoli® 및 WebSphere®의 애플리케이션 개발 도구와 미들웨어 제품을 사용해 볼 수 있다.

토론

필자소개

Uche Ogbuji 사진

Uche Ogbuji는 차세대 웹 기술 솔루션을 제공하는 Zepheira, LLC의 파트너다. XML, RDF, 지식 관리 응용 프로그램의 오픈 소스 플랫폼인 4Suite 개발을 이끌고 있으며, PDF 조회 언어인 Versa 개발도 이끈다. 그는 Nigeria에서 태어나 현재 Colorado 주 Boulder 시에 살고 있는 컴퓨터 엔지니어다. 자세한 내용은 Ogbuji의 블로그 Copia를 참조한다.

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=XML, 웹 개발
ArticleID=518046
ArticleTitle=XML 살펴보기: HTML의 XML 특성
publish-date=07082010
author1-email=uche@ogbuji.net
author1-email-cc=dwxed@us.ibm.com

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.