1. 인터넷과 월드 와이드 웹 소개 ... 1 1.1 소개 ... 2 1.2 월드 와이드 웹 콘소시움(W3C) ... 2 1.3 인터넷 역사 ... 3 1.4 월드 와이드 웹 역사 ... 4 1.5 컴퓨팅의 미래 ... 5 1.6 SGML 역사 ... 6 1.7 XML과 XML 프로그램 방법 ... 7 1.8 이 책의 구성 ... 10 1.9 W3C XML 자원 ... 20 1.10 인터넷과 월드 와이드 웹 자원 ... 20 2. 하이퍼텍스트 마크업 언어 4 : Ⅰ부 ... 24 2.1 소개 ... 25 2.2 마크업 언어 ... 25 2.3 HTML 편집 ... 26 2.4 많이 사용되는 요소 ... 27 2.5 헤더 ... 29 2.6 링킹 ... 30 2.7 이미지 ... 33 2.8 특수 문자와 그 밖의 줄 띄기 요소 ... 36 2.9 무순서 리스트 ... 38 2.10 내포 리스트와 순서 리스트 ... 39 2.11 인터넷과 월드 와이드 웹 자원 ... 42 3. 하이퍼텍스트 마크업 언어 4 : Ⅱ부 ... 47 3.1 소개 ... 48 3.2 기본 HTML 테이블 ... 48 3.3 중간 수준의 HTML 테이블과 포맷팅 ... 50 3.4 기본 HTML 폼 ... 53 3.5 보다 복잡한 HTML폼 ... 56 3.6 내부 링킹 ... 63 3.7 이미지 맵 생성과 사용 ... 65 3.8 〈meta〉 태그 ... 68 3.9 frameset 요소 ... 69 3.10 내포 frameset ... 72 3.11 인터넷과 월드 와이드 웹 자원 ... 74 4. 캐스케이딩 스타일 시트(CSS) ... 80 4.1 소개 ... 81 4.2 인라인 스타일 ... 81 4.3 style 요소를 사용하여 스타일 시트 생성하기 ... 82 4.4 스타일 충돌 ... 85 4.5 외부 스타일 시트에 연결하기 ... 89 4.6 요소의 자리 정하기 ... 91 4.7 배경 ... 94 4.8 요소의 차원 ... 96 4.9 텍스트 흐름과 박스 모델 ... 98 4.10 사용자 스타일 시트 ... 104 4.11 인터넷과 월드 와이드 웹 자원 ... 106 5. XML을 이용한 마크업 생성 ... 112 5.1 소개 ... 113 5.2 XML 마크업 소개 ... 113 5.3 파서와 Well-formed XML 문서 ... 114 5.4 maxml을 이용하여 XML 문서 파싱하기 ... 115 5.5 문자 ... 116 5.5.1 문자 세트 ... 117 5.5.2 문자 대 마크업 ... 117 5.5.3 여백 문자, 엔티티 레퍼렌스 내장 엔티티 ... 117 5.5.4 XML 문서에서 유니코드 사용하기 ... 118 5.6 마크업 ... 120 5.7 CDATA 절 ... 124 5.8 XML 이름공간 ... 125 5.9 사례연구 : 일정관리 응용 ... 128 5.10 인터넷과 월드 와이드 웹 자원 ... 129 6. DTD(Document Type Definition) ... 136 6.1 소개 ... 137 6.2 파서, well-formed의 문서와 정확한 XML 문서 ... 137 6.3 DTD(Document Type Definition) ... 138 6.4 요소 형 선언 ... 139 6.4.1 시퀀스, 파이프 문자와 반복 횟수 지시자 ... 141 6.4.2 EMPTY, 혼합된(mixed) 콘텐트와 ANY ... 145 6.5 속성 선언 ... 147 6.5.1 속성 디폴트(REQUIRED, IMPLIED, FIXED) ... 148 6.6 속성 형 ... 149 6.6.1 토큰화 속성 형(ID, IDREF, ENTITY, NMTOKEN) ... 149 6.6.2 열거 속성 형 ... 155 6.7 조건절 ... 155 6.8 여백 문자 ... 157 6.9 사례연구 : 일정관리 응용을 위한 DTD 작성 ... 160 6.10 인터넷과 월드 와이드 웹 자원 ... 161 7. 스키마 ... 167 7.1 소개 ... 168 7.2 스키마 대 DTD ... 169 7.3 마이크로소프트 XML 스키마 : 요소 표현 ... 169 7.4 마이크로소프트 XML 스키마 : 속성 표현 ... 176 7.5 마이크로소프트 XML 스키마 : 데이터 형 ... 179 7.6 W3C XML 스키마 ... 185 7.7 사례연구 : 일정관리 응용을 위한 마이크로소프트 XML 스키마 작성 ... 187 7.8 인터넷과 월드 와이드 웹 자원 ... 188 8. DOM(Document Object Model) ... 195 8.1 소개 ... 196 8.2 DOM 구현 ... 197 8.3 JavaScript를 사용한 DOM ... 197 8.4 설정 ... 202 8.5 DOM 컴포넌트 ... 202 8.6 노드 생성 ... 211 8.7 DOM 탐색 ... 216 8.8 사례연구 : DOM을 사용하기 위해 일정관리 응용 변경하기 ... 219 8.9 인터넷과 월드 와이드 웹 자원 ... 230 9. SAX(Simle API for XML) ... 235 9.1 소개 ... 236 9.2 DOM 대 SAX ... 236 9.3 SAX 기반 파서 ... 237 9.4 설정 ... 237 9.5 이벤트 ... 237 9.6 예 : 트리 다이어그램 ... 238 9.7 사례연구 : 일정관리 응용에 SAX 사용하기 ... 248 9.8 SAX 2.0 ... 257 9.9 인터넷과 월드 와이드 웹 자원 ... 261 10. 사례연구 : XmlMessenger 프로그램 ... 266 10.1 소개 ... 267 10.2 설정 ... 268 10.3 개요 : 서버용 XmlMessenger ... 269 10.4 구현 : 서버용 XmlMessenger ... 270 10.5 개요 : 클라이언트용 XmlMessenger ... 280 10.6 구현 : 클라이언트용 XmlMessenger ... 283 11. XPath(XML Path Language) ... 300 11.1 소개 ... 301 11.2 노드 ... 301 11.3 위치 경로 ... 307 11.3.1 축 ... 307 11.3.2 노드 테스트 ... 308 11.3.3 축과 노드 테스트를 사용하는 위치 경로 ... 309 11.4 노드-세트 연산자와 함수 ... 312 11.5 인터넷과 월드 와이드 웹 자원 ... 316 12. XSL : XSLT(Extensible Stylesheet Language Transformations) ... 321 12.1 소개 ... 322 12.2 설정 ... 322 12.3 템플릿 ... 323 12.4 요소와 속성 생성하기 ... 325 12.5 반복과 정렬 ... 329 12.6 조건 처리 ... 333 12.7 노드 복사 ... 335 12.8 스타일시트 결합 ... 337 12.9 변수 ... 342 12.10 사례연구 : XSLT와 XPath ... 343 12.11 인터넷과 월드 와이드 웹 자원 ... 349 13. XSL : XSL 포맷팅 객체 ... 355 13.1 소개 ... 356 13.2 설정 ... 357 13.3 XSL 포맷팅 객체 문서 예 ... 357 13.4 리스트 ... 367 13.5 인터넷과 월드 와이드 웹 자원 ... 370 14. XLink, XPointer, XInclude와 XBase ... 374 14.1 소개 ... 375 14.2 XLink(XML Linking Language) ... 375 14.2.1 단순 링크 ... 376 14.2.2 확장 링크 ... 380 14.3 XLink와 DTD ... 387 14.4 XPointer(XML Pointer Language) ... 390 14.5 XInclude(XML Inclusions) ... 391 14.6 XBase(XML Base) ... 392 14.7 인터넷과 월드 와이드 웹 자원 ... 392 15. 사례연구 : 액티브 서버 페이지를 이용한 메시지 포럼 ... 397 15.1 소개 ... 398 15.2 설정과 메시지 포럼 문서 ... 398 15.3 포럼 돌아다니기 ... 400 15.4 포럼 추가하기 ... 403 15.5 포럼 XML 문서 ... 408 15.6 메시지 보내기 ... 411 15.7 그 밖의 HTML 문서 ... 415 15.8 인터넷과 월드 와이드 웹 자원 ... 417 16. 서버용 Java 프로그래밍 ... 420 16.1 소개 ... 421 16.2 코쿤 ... 421 16.3 XSP(Extensible Server Pages) ... 425 16.4 사례연구 : 무선 온라인 서점 ... 432 16.5 자카르타 톰캣(Jakarta Tomcat)설정 ... 435 16.6 WAP과 WML : 클라이언트용 문서 ... 436 16.7 Java 서블릿 ... 440 16.8 인터넷과 월드 와이드 웹 자원 ... 481 17. Perl과 XML : 웹 기반의 메시지 포럼 응용 ... 485 17.1 소개 ... 486 17.2 Perl과 XML ... 486 17.3 설정 ... 486 17.4 XML::Parser를 사용해서 포럼 디스플레이하기 ... 488 17.5 XML::DOM을 사용해서 포럼과 메시지 추가하기 ... 492 17.6 XSL을 지원하지 않는 브라우저를 위한 다른 방법 ... 497 17.7 인터넷과 월드 와이드 웹 자원 ... 502 18. 접근성(Accessibility) ... 504 18.1 소개 ... 505 18.2 멀티미디어 콘텐트를 장애자에게 제공하기 위한 대안 ... 505 18.3 구조 중심의 판독성 극대화 방법 ... 508 18.4 HTML 테이블 접근성 ... 509 18.5 HTML 프레임 접근성 ... 512 18.6 XML의 접근성 ... 513 18.7 VoiceXML을 이용한 음성 합성과 인식 사용하기 ... 514 18.8 윈도우즈를 위한 JAWS ... 521 18.9 그 밖의 접근도구 ... 521 18.10 인터넷과 월드 와이드 웹 자원 ... 523 19. XHTML과 XForms ... 528 19.1 소개 ... 529 19.2 XHTML ... 529 19.3 XForms ... 535 19.4 XFA(Extended Forms Architecture) ... 536 19.5 인터넷과 월드 와이드 웹 자원 ... 536 20. 관용 마크업 언어 : Ⅰ부 ... 540 20.1 소개 ... 541 20.2 수학용 마크업 언어(MathML) ... 541 20.3 OpenMath ... 543 20.4 화학용 마크업 언어(CML) ... 544 20.5 무선 마크업 언어(WML) ... 548 20.6 지리용 마크업 언어(GML) ... 552 20.7 동기화 멀티미디어 통합 언어(SMIL) ... 552 20.8 그래픽 마크업 언어(SVG) ... 557 20.9 빈 마크업 언어(BML) ... 561 20.10 X3D(Extensible 3D) ... 570 20.11 인터넷과 월드 와이드 웹 자원 ... 575 21. 관용 마크업 언어 : Ⅱ부 ... 581 21.1 소개 ... 582 21.2 XBRL(Extensible Business Reporting Language) ... 582 21.3 BIPS(Bank Internet Payment System) ... 586 21.4 ebXML(Electronic Business XML) ... 586 21.5 Visa XML Invoice Specification ... 587 21.6 cXML(Commerce XML) ... 588 21.7 LegalXML ... 593 21.8 NewsML ... 594 21.9 Open eBook 출판 구조 ... 594 21.10 XUL(Extensible User Interface Language) ... 596 21.11 인터넷과 월드 와이드 웹 자원 ... 596 22. XML 기술과 응용 ... 601 22.1 소개 ... 602 22.2 XML 질의 언어(XML Query) ... 603 22.3 DSML(Directory Services Markup Language) ... 603 22.4 RDF(Resource Definition Framework) ... 604 22.5 XTM(XML Topic Maps) ... 608 22.6 VHG(Virtual HyperGlossary) ... 613 22.7 CDF(Channel Definition Format) ... 613 22.8 ICE(Information and Content Exchange) 프로토콜 ... 616 22.9 RSS(Rich Site Summary) ... 617 22.10 P3P(Platform for Privacy Preferences) ... 617 22.11 BXXP(Blocks Extensible Exchange Protocol) ... 618 22.12 XML 디지털 서명 ... 619 22.13 XrML(Extensible Rights Markup Language) ... 620 22.14 XMI(XML Metadata Interchange) ... 620 22.15 W3C의 XML 프로토콜 ... 621 22.16 XAML ... 621 23. SOAP와 마이크로소프트의 비즈토크 ... 626 23.1 소개 ... 627 23.2 SOAP(Simple Object Access Protocol) ... 627 23.3 마이크로소프트의 비즈토크 ... 633 23.3.1 비즈토크 프레임워크 ... 633 23.3.2 비즈토크 서버 ... 634 23.3.3 비즈토크 스키마 라이브러리 ... 636 23.3.4 마이크로소프트 비즈토크 서버 2000 ... 636 23.4 인터넷과 월드 와이드 웹 자원 ... 636 24. 보너스 장 : VBScript를 이용한 스크립팅 ... 641 24.1 소개 ... 642 24.2 연산자 ... 642 24.3 데이터 형과 제어 구조 ... 644 24.4 VBScript 함수 ... 648 24.5 VBScript 프로그램 예 ... 653 24.6 배열 ... 659 24.7 문자열 처리 ... 663 24.8 인터넷과 월드 와이드 웹 자원 ... 668 25. 보너스 장 : ASP 소개 ... 674 25.1 소개 ... 675 25.2 ASP 동작 원리 ... 675 25.3 클라이언트용 스크립팅 대 서버용 스크립팅 ... 677 25.4 PWS와 IIS ... 678 25.5 ASP 객체 ... 679 25.6 간단한 ASP 예 ... 679 25.7 서버용 ActiveX 컴포넌트 ... 681 25.8 파일 시스템 객체 ... 686 25.9 세션 트랙킹과 쿠키 ... 694 25.10 데이터베이스, SQL, 마이크로소프트 UDA와 ADO ... 704 25.11 ASP에서 데이터베이스 액세스하기 ... 710 25.12 인터넷과 월드 와이드 웹 자원 ... 718 26. Perl 프로그래밍의 소개 ... 724 26.1 소개 ... 725 26.2 Perl ... 726 26.3 문자열 처리와 정규 표현 ... 732 26.4 클라이언트/서버 환경 변수 보기 ... 737 26.5 폼 처리와 비즈니스 논리 ... 739 26.6 SSI ... 744 26.7 사용자 이름과 비밀번호 검증 ... 748 26.8 ODBC를 사용하여 데이터베이스와 연결 ... 753 26.9 쿠키와 Perl ... 757 26.10 인터넷과 월드 와이드 웹 자원 ... 762 27. 프로그래밍의 소개 ... 767 27.1 소개 ... 768 27.2 Java 키워드, 기본 데이터 형, 클래스 라이브러리 ... 769 27.3 명령 라인 Java 응용 ... 772 27.3.1 명령 라인에서 한 라인의 텍스트 출력 ... 772 27.3.2 명령 라인 응용에서 대화상자 사용하기 ... 777 27.3.3 또 다른 Java 응용 : 정수 더하기 ... 780 27.4 배열 ... 786 27.5 클래스 Vector ... 792 27.6 그래픽 사용자 인터페이스 : JFrames와 이벤트 핸들링의 윈도우 응용 ... 793 27.7 그래픽 사용자 인터페이스 : 내부 클래스 이벤트 핸들링 ... 800 27.8 그래픽 사용자 인터페이스 : 그 밖의 컴포넌트 ... 809 27.8.1 JcomboBox 클래스 ... 809 27.8.2 JList ... 812 27.9 그래픽 사용자 인터페이스 : 레이아웃 매니저 ... 814 27.9.1 BorderLayout ... 815 27.9.2 GridLayout ... 818 27.10 그래픽 사용자 인터페이스 : 컴포넌트 맞춤 제작과 그래픽 소개 ... 820 27.11 멀티스레딩 ... 824 27.11.1 스레드 클래스 : Thread 메소드의 개요 ... 825 27.11.2 스레드 상태 : 스레드의 생명 주기 ... 826 27.11.3 스레드 우선순위와 스레드 스케줄링 ... 827 27.11.4 응용에서 스레드 생성 ... 829 27.12 소켓과 스트림을 이용한 네트워킹 ... 832 27.12.1 스트림 소켓을 이용한 간단한 서버 구축 ... 833 27.12.2 스트림 소켓을 이용한 간단한 클라이언트 구축 ... 834 27.12.3 스트림 소켓 연결에 의한 클라이언트와 서버의 정보 교환 ... 835 27.13 서블릿을 이용한 웹서버 기능 개선 ... 844 27.13.1 서블릿 기술 개요 ... 845 27.13.2 서블릿 API ... 846 27.13.3 HttpServlet 클래스 ... 847 27.13.4 HttpServletRequest 인터페이스 ... 847 27.13.5 HttpServletResponse 인터페이스 ... 848 27.13.6 다계층(Multi-tier) 클라이언트/서버 서블릿 응용 ... 849 27.14 인터넷과 월드 와이드 웹 자원 ... 854 A. HTML 특수 문자 ... 866 B. HTML 색 ... 867 C. ASCII 문자 ... 870 D. 연산자 우선순위 ... 871 E. 숫자 체계 ... 878 E.1 소개 ... 879 E.2 2진수를 8진수와 16진수로 줄여 쓰기 ... 881 E.3 8진수와 16진수를 2진수로 변환하기 ... 883 E.4 2진수, 8진수나 16진수를 10진수로 변환하기 ... 883 E.5 10진수를 2진수, 8진수나 16진수로 변환하기 ... 884 E.6 2진 음수 : 2의 보수 표기 ... 885 F. 구직 정보 ... 890 F.1 소개 ... 891 F.2 온라인 서비스 ... 891 F.3 구직자를 위한 정보 ... 894 F.3.1 종합 구직 사이트 ... 894 F.3.2 기술직 ... 894 F.3.3 온라인 계약직 ... 894 F.3.4 관리직 ... 896 F.3.5 학생과 신진 전문인 ... 896 F.3.6 그 밖의 온라인 정보 ... 897 F.4 채용자를 위한 온라인 정보 ... 897 F.4.1 온라인 취업 공고 ... 898 F.4.2 다양한 근무 환경 ... 899 F.4.3 리쿠르팅 서비스 ... 900 F.4.4 채용을 위한 온라인 시험 ... 900 F.5 인터넷과 월드 와이드 웹 자원 ... 901 찾아보기 ... 909