다음은 developerWorks에 전개 할 기술자료나 튜토리얼을 만드는 과정이다:
- 저자 패키지를 다운로드하고 파일의 압축을 푼다.
- 기술자료용 XML 템플릿 또는 튜토리얼용 XML 템플릿을 복사한다.
- XML 템플릿을 편집하여 콘텐트를 추가한 다음, XML이 스키마에 맞는지를 검사하고 에러를 수정한다.
- 브라우저에서 기술자료와 튜토리얼을 미리 보면서 developerWorks에서 어떻게 나타나는가를 가늠한다.
“developerWorks XML 템블릿으로 작성하기” 기술자료에서, Step 1과 Step 2부터 시작한다. 여기에는, 툴과 모든 파일들이 들어있는 작성자 패키지를 다운로드 하는 방법이 설명되어 있다. 또한, 콘텐트를 구성하고 제출하는 팁도 포함되어 있다.
Step 1과 Step 2를 마친 후에 다시 이 글로 돌아온다. 작성자 패키지를 다운로드 하고, 머신에 콘텐트의 압축을 풀고, 이 글에서 설명된 new-tutorial 또는 new-article 툴을 사용하여 템플릿 카피를 만든다. 이제 나머지 단계들만 남았다. 아래 지시에 따라 콘텐트를 편집, 유효성 검사, 프리뷰(preview)한다.
필요한 것:
- 플레인(plain) 텍스트 포맷으로 저장할 수 있는 텍스트 에디터나 워드 프로세서. 필수적인 것은 아니지만, 라인 넘버를 디스플레이 하는 에디터가 있다면 편리하다. 밸리데이션 단계에서 탐지된 에러들은 라인 넘버로 리포팅 되기 때문이다. Windows XP의 Notepad 애플리케이션은 View > Status Bar 메뉴 옵션을 선택하면 라인 넘버를 디스플레이 한다. 이 옵션은 이전 버전의 Windows에 있는 Notepad에서는 사용할 수 없다.
- 최신 버전의 Microsoft XML Parser (MSXML). 이 글을 쓸 당시 MSXML 4.0 Service Pack 2 (Microsoft XML Core Services)에 포함되었다. (파서를 얻으려면, 참고자료를 참조하라.) msxml.msi로의 링크를 사용하여 MSXML 4.0 SP2와SDK를 컴퓨터에 설치한다. msxml.msi를 로컬 디스크에 저장해야 한다.
- Internet Explorer Version 6 또는 기타 웹 브라우저 (Mozilla, Firefox, Opera)
원하는 텍스트 에디터를 사용하여 새로운 폴더를 검색하고 파일(index.xml)을 편집한다. 선호하는 에디터가 특별히 없다면 Notepad도 충분하다. index.xml 템플릿 파일의 상세한 지침을 참조하라. 여러분이 무엇을 해야 하는지를 이해하는데 도움이 된다.
워드 프로세서를 사용하고 있다면 플레인 텍스트로 파일을 저장해야 한다. Microsoft Word 파일 같은 임베디드 포맷팅으로 파일에서 컷&페이스트(cut and paste)를 한다면, 에디터의 기능을 사용하여 텍스트로서 붙이든가, XML 파일을 플레인 텍스트로 저장한다. index.xml에서 파일 이름을 변경하지 말고, 툴을 사용하여 만드는 HTML 파일(index.xml)을 편집하지 말라. developerWorks 에디터는 XML 버전에서 작업할 것이기 때문이다. 기술자료나 튜토리얼(이 예제에서는 my-article)용 디렉토리에 사진이나 스크린샷 등을 저장한다.
기술자료나 튜토리얼을 편집할 때, 변경 사항들을 스키마에 견주어 유효성 검사를 해야 한다. XML이 처음이라면 늘 파일의 유효성을 검사해야 한다. 에러를 보다 쉽게 파악할 수 있을 것이다.
XML의 밸리데이션 툴은 새로운 기술자료나 튜토리얼을 만들 때, 프로젝트 디렉토리에 설치된다. 기술자료 또는 튜토리얼 디렉토리에 있는 dw-transform.vbs 스크립트를 클릭한다. Windows 설정에 따라, dw-transform으로서 보여준다. 그림 1과 같은 윈도우가 보인다.
그림 1. dw-transform 스크립트로 기술자료 검사하기
XML 코딩 에러가 생기면, 에러 아웃풋이 만들어 진다. dw-transform 스크립트를 사용하면, 그림 2 같은 윈도우가 나온다.
그림 2. 무효 기술자료 (VB 스크립트 체커)
이 경우에, <u>Underlined
phrase</u>를 포함시켜 의도적인 에러를 만들었다. 링크에 밑줄이 쳐져 있기 때문에, developerWorks 기술자료나 튜토리얼에 다른 용도로 밑줄이 쳐진 텍스트를 사용할 수 없다. 따라서 <u>와 </u> 태그는 이 스키마에서는 사용되어서는 안된다. 이 툴은 첫 번째 에러 위치를 파악하고 이를 설명한다. 이는 MSXML 파서가 생성한다. 암호처럼 보이지만, 문제의 위치를 파악하는데 도움이 된다. 이유에 다른 태그 이름의 긴 리스트와 함께 Expecting a, b, br, ... 등이 포함되어 있다면, 태그 이름을 잘못 타이핑 했거나, developerWorks 스키마에서는 지원되지 않는 태그를 사용하려고 했기 때문일 것이다. 라인 넘버를 디스플레이 하는 에디터는 에러를 빠르게 찾도록 도와준다. 그림 3을 보자.
그림 3. Notepad를 사용하여 XML에서 에러 위치 찾기
에러를 찾고 수정한 후에, 파일을 저장하고 dw-transform.vbs를 다시 실행하여 다시 검사한다. 더 이상의 에러가 생기지 않을 때까지 이 과정을 반복한다.
어떤 에러도 없다면, developerWorks에서 기술자료나 튜토리얼이 어떻게 나타나는지 볼 차례이다. 디렉토리에 index.html이라는 파일이 있어야 한다. 각자 선호하는 브라우저를 사용하여 파일을 열어 내용을 미리 본다. Internet Explorer와 Windows XP Service Pack 2를 사용한다면, Internet Explorer에서 액티브 콘텐트를 보여주는 파일을 제한했다는 내용의 팝업 창이나 바가 생긴다. 정보 바를 클릭하고 Allow blocked content...를 선택하여, 기술자료나 튜토리얼의 미리보기를 실행한다.
그림 4. 기술자료 미리보기
주:
- 일부 스타일시트는 서버에 의해 포함되기 때문에, 프리뷰에서 포맷팅은 developerWorks 스태프가 만들어서 서버에 전개했을 때와 똑 같이 나타나지 않을 수 있다.
- 한 튜토리얼의 최종 전개 버전은 여러 개의 개별 페이지들이지만, 프리뷰는 하나의 페이지에 튜토리얼을 보여준다. 한 페이지에서, 각 섹션이 어디에서 시작하는지를 볼 수 있다. 하지만, 왼쪽 네비게이션 영역의 크로스 링크와 튜토리얼의 바디는 미리보기에서는 지원되지 않는다. developerWorks 스태프가 페이지와 링크를 수정한다.
축하한다! 기술자료 또는 튜토리얼의 편집, 유효성 검사, 미리보기를 끝마쳤다. 이제 “developerWorks XML 템플릿으로 작성하기”로 돌아가서 developerWorks 에디터에서 콘텐트를 완료 및 제출한다.
필요한 것:
- 플레인(plain) 텍스트 포맷으로 저장할 수 있는 텍스트 에디터나 워드 프로세서. 필수적인 것은 아니지만, 라인 넘버를 디스플레이 하는 에디터가 있다면 편리하다. 밸리데이션 단계에서 탐지된 에러들은 라인 넘버로 리포팅 되기 때문이다. 많은 리눅스와 유닉스® 에디터들(
vi와emacs)은 라인 넘버를 디스플레이 한다. - 자바 런타임 또는 개발 키트(1.4 레벨 또는 그 이상) IBM Runtime Environment for Java 2 (JRE)를 사용할 것을 권한다. 필요한 Xalan과 Xerces가 포함되어 있고, 다른 자바 구현들과 함께 설치될 수 있다. 참고자료 섹션에서 다운로드 링크를 참조하기 바란다. 다른 자바 런타임이나 개발자 킷을 사용한다면, 그리고 자바 버전에 포함되어 있지 않을 경우, Apache Xalan Version 2.6 패키지가 필요하다. (여기에는 Xerces 함수가 있다.) developerworks/tools/dwxmlxslt.sh 스크립트를 수정하거나, CLASSPATH 환경 변수를 설정한다.
- Mozilla, Firefox, Opera 같은 그래픽 브라우저들.
새로운 폴더를 검색하고, 자신의 텍스트 에디터를 사용하여 XML 파일을 편집한다. index.xml 파일의 상세한 설명을 참조하라. 워드 프로세서를 사용하고 있다면 파일을 플레인 텍스트로 저장하라. index.xml에서 파일 이름을 변경하지 말라. 기술자료나 튜토리얼을 위해 만든 디렉토리에 사진이나 스크린샷 같은 이미지를 저장하라. (my-tutorial)
기술자료나 튜토리얼을 편집할 때, 변경 사항들을 스키마에 견주어 유효성 검사를 해야 한다. XML이 처음이라면 늘 파일의 유효성을 검사해야 한다. 에러를 보다 쉽게 파악할 수 있을 것이다.
XML의 밸리데이션 툴은 새로운 기술자료나 튜토리얼을 만들 때, 프로젝트 디렉토리에 설치된다. 기술자료 또는 튜토리얼 디렉토리에 있는 dw-transform.sh 스크립트를 클릭한다. KDE나 GNOME 데스크탑의 경우, Nautilus 또는 Konqueror 같은 그래픽 매니저에서 이를 실행한다. 그렇지 않을 경우 터미널 윈도우에서 스크립트를 실행해야 한다.
그림 5와 같은 메시지 박스가 보인다.
그림 5. dw-transform 쉘 스크립트를 사용하여 튜토리얼의 유효성 검사하기
XML 코딩 에러가 생기면, 메시지 박스는 그림 6과 비슷한 에러를 보여줄 것이다.
그림 6. 무효 튜토리얼(쉘 스크립트 체커)
이 경우 <u>Underscore error</u>를 포함시켜서 의도적인 에러를 만들었다. 링크에 밑줄이 쳐져 있기 때문에, developerWorks 기술자료나 튜토리얼에 다른 용도로 밑줄이 쳐진 텍스트를 사용할 수 없다. 따라서 <u>와 </u> 태그는 이 스키마에서는 사용되어서는 안된다. 이 툴은 첫 번째 에러 위치를 파악하고 이를 설명한다. 이는 Java 파서가 생성한다. 암호처럼 보이지만, 문제의 위치를 파악하는데 도움이 된다. 이유에 다른 태그 이름의 긴 리스트와 함께 One of '{"" 이 포함되어 있다면, 태그 이름을 잘못 타이핑 했거나, developerWorks 스키마에서는 지원되지 않는 태그를 사용하려고 했기 때문일 것이다. 라인 넘버를 디스플레이 하는 에디터는 에러를 빠르게 찾도록 도와준다. 그림 7을 보자.
그림 7. gedit 에디터를 사용하여 튜토리얼에서 에러 위치 찾기
에러를 찾고 수정한 후에, 파일을 저장하고 dw-transform.sh를 다시 실행하여 다시 검사한다. 더 이상의 에러가 생기지 않을 때까지 이 과정을 반복한다.
주:
- 매칭되는 클로징 태그가 없는 오프닝 태그 같은 에러의 경우 라인 넘버가 없을 수 있다. 자주 검사하도록 한다.
- 탭을 사용하여 들여쓰기를 한다면, 에디터에 나타난 칼럼 넘버는 에러 메시지에 보고 된 칼럼 넘버와 매치되지 않을 수 있다.
어떤 에러도 없다면, developerWorks에서 기술자료나 튜토리얼이 어떻게 나타나는지 볼 차례이다. 디렉토리에 index.html이라는 파일이 있어야 한다. 각자 선호하는 브라우저를 사용하여 파일을 열어 내용을 미리 본다.
그림 8. 튜토리얼 미리보기
주:
- 일부 스타일시트는 서버에 의해 포함되기 때문에, 프리뷰에서 포맷팅은 developerWorks 스태프가 만들어서 서버에 전개했을 때와 똑 같이 나타나지 않을 수 있다.
- 리눅스 변형 툴이 최종 버전에서 보이는 것과 흡사한 html 페이지를 만들기 때문에 왼쪽 네비게이션 영역을 사용하여 튜토리얼의 섹션들 간, 섹션 내를 검색한다.
축하한다! 기술자료 또는 튜토리얼의 편집, 유효성 검사, 미리보기를 끝마쳤다. 이제 “Authoring with the developerWorks XML templates”로 돌아가서 developerWorks 에디터에서 콘텐트를 완료 및 제출한다.
교육
-
"Authoring
with the developerWorks XML templates" (developerWorks, September 2006)
-
"Illustrating
your article or tutorial for developerWorks: Graphic design tips for authors."
(developerWorks, September 2006)
-
developerWorks
author guidelines and editorial policy
제품 및 기술
-
Microsoft's
XML Parser (MSXML)
-
IBM Developer Kit for Java,
Version 1.4.2
-
Apache Xalan
-
IBM trial SW 다운로드 (한글)
토론

Ian Shields는 developerWorks 리눅스 존의 다양한 리눅스 프로젝트에 관여했다. 그는 Research Triangle Park, NC의 프로그래머로 일하고 있다. 1973년 시스템 엔지니어로서 호주 캔버라에 있는 IBM에 입사하여 통신 시스템과 퍼베이시브 컴퓨팅 분야에서 일했다. 페이턴트도 여러 개 갖고 있으며 많은 집필 활동도 하고 있다. Australian National University에서 수학과 철학을 전공했고 North Carolina State University에서 컴퓨터 공학 석사 및 박사 학위를 받았다.