Tài liệu tham chiếu Java API Phần 2: Sử dụng JavaTOC doclet để sinh cấu trúc tham chiếu Eclipse Javadoc API Mariana Alupului, Phát triển Thông tin, Rational software, IBM Tóm tắt: Bài v
Trang 1Tài liệu tham chiếu Java API
Phần 2: Sử dụng JavaTOC doclet để sinh cấu trúc tham chiếu Eclipse Javadoc API
Mariana Alupului, Phát triển Thông tin, Rational software, IBM
Tóm tắt: Bài viết này (là phần 2 của loạt bài viết) mô tả các cách tiếp cận khác
nhau để tạo ra tài liệu tham chiếu giao diện lập trình ứng dụng (API) Java dễ sử dụng và có thể tìm kiếm được
Về đầu trang
Cấu trúc tham chiếu Eclipse Javadoc API được tạo ra với JavaTOC doclet
Trang 2Các ràng buộc thiết kế
Để trở thành một thư ký kỹ thuật (người phát triển thông tin Java API) có kỹ năng cao, bạn phải đạt được trình độ hiểu biết thông thạo về ngôn ngữ Java, các công cụ sinh tài liệu tham chiếu Java API và các kỹ năng
Bạn có thể chạy JavaTOC doclet và Javadoc để sinh ra tài liệu tham chiếu Java API, định hướng mục lục và cấu trúc trình bổ sung Hoặc bạn có thể chỉ chạy JavaTOC doclet để tạo ra định hướng mục lục từ các tài liệu có sẵn mà lập trình viên đã tạo ra và chuyển cho bạn
Luồng công việc
Với mỗi trình bổ sung mà bạn muốn đóng góp cho hệ trợ giúp Eclipse (phần tham chiếu Java API), thì nói chung cần xử lý theo luồng sau:
• Chạy JavaTOC doclet để tạo ra tất cả các tệp trình bổ sung cần thiết cho hệ trợ giúp Eclipse (plugin.xml, primary.plugin.toc.xml, META-
INF/MANIFEST.MF, build.properties, và plugin.properties)
Tệp plugin.xml, mở rộng điểm mở rộng org.eclipse.help.toc, cần phải chỉ ra:
1 Một tệp mục lục XML, nếu bạn chỉ có một ít các gói Java
2 Nhiều tệp mục lục XML, khi bạn có nhiều gói Java
• Chạy Javadoc (Sun Microsystems) trên các tệp mã nguồn Java của bạn để tạo ra các tệp HTML cho tài liệu tham chiếu Java API
• Kiểm tra tài liệu tham chiếu Java API đã được tạo ra
Trang 3Ant là hệ thống xây dựng Java mà ngày nay dường như tất cả mọi người đều đang
sử dụng Nếu bạn chưa từng làm việc với Ant thì hãy xem ở trang thông tin
Jakarta, hoặc "Open Source Java: Ant" (Java mã nguồn mở: Ant)
Cách yêu thích của tôi để chạy công cụ JavaTOC doclet là thông qua hệ thống xây dựng Ant, nhưng trong bài viết này tôi sẽ chỉ cho các bạn cách sử dụng JavaTOC doclet từ giao diện dòng lệnh (Command Prompt)
Xây dựng các tệp đầu ra mục lục XML với dòng lệnh
Các ngôn ngữ lập trình máy tính hỗ trợ việc tạo tài liệu mã nguồn bằng cách cung cấp các ký hiệu đặc biệt để đánh dấu bắt đầu và kết thúc của các đoạn mô tả mã nguồn Các ký hiệu và mô tả này được coi chung là các chú giải Ngôn ngữ lập trình Java hỗ trợ ba loại chú giải: nhiều dòng, dòng đơn và doc
Bộ công cụ JavaTOC Doclet phiên bản 1.0.0 cung cấp giao diện dòng lệnh như là một sự lựa chọn cho những người dùng ít hiểu biết về Ant để họ có thể sử dụng bộ công cụ một cách dễ dàng
1 Hãy chắc chắn rằng Javadoc đã được cài đặt trên đường dẫn của bạn
( \jdk1.5.0_06\bin\javadoc.exe)
o GHI CHÚ: thông thường Javadoc sẽ có một đường dẫn có dạng C:\Program Files\Java\jdk1.5.0_06\bin
2 Tải về tệp JavaToc Doclet ZIP và giải nén tệp đó vào thư mục bạn chọn (ví
dụ, C:\doclet\ trên Windows) Một thư mục JavaTOC với các thư mục con bin\, demo\ và doc\ sẽ được tạo ra
o Thư mục bin chứa các lớp Java bạn cần để chạy phần mở rộng doc
như là các thư viện jar (DocletTOC.jar)
Trang 4o Thư mục doc chứa tài liệu hướng dẫn JavaTOC và (ví dụ) tài liệu API trình bổ sung org.dita.dost.doc ở định dạng HTML
o Thư mục tài nguyên src chứa các tệp nguồn Java mà bạn có thể sử
Trang 5-sourcepath src
-d com.ibm.doc_plugin_name
-overview src/overview-summary.html -doctitle 'Navigation label'
-version 'plugin_version' -pluginid plugin_id -provider 'plugin_provider_name'
Trang 6
source\ \ \package1\fileA.java,source\ \ \package2\fileB.java, , ,
source\ \ \packageN\fileN.java
5 Bằng cách dùng trình soạn thảo NotePad để mở, bạn có thể sửa các tệp này
o JavaTOC doclet gán các giá trị tên trình bổ sung, id, phiên bản và tên nhà cung cấp cho dự án trình bổ sung Eclipse của bạn, thể hiện trong ví dụ 2
Điểm mở rộng từ trình bổ sung org.eclipse.help.toc nhận biết đây là một trình bổ sung cho hệ thống trợ giúp
Tệp doclet.toc.xml được tham chiếu đến như là mục lục cho trình bổ sung này; tệp này sẽ cung cấp dữ liệu cho thông tin có thứ bậc ở khung bên trái của cửa sổ trợ giúp Eclipse
o Tệp packages có nội dung giống như được thể hiện trong ví dụ 3
6 Chạy lệnh: javadoc @tocdoclet @options @packages @removefiles —
xóa tất cả các lớp mà bạn không muốn để hiển thị ra (ví dụ 4)
Bảng các tham số đề xuất được cung cấp bởi JavaTOC doclet:
Trang 7Tạo ra đầu ra thông qua doclet thay thế
Để chạy doclet, bạn sẽ cần phải chỉ ra lớp doclet trên dòng lệnh Javadoc, sử dụng tùy chọn: -doclet <class>
Trang 8Chỉ ra các chi tiết tên nhà cung cấp trình bổ sung
-anchor Việc liên kết được chỉ ra bằng cách sử dụng tham chiếu tới mục lục
đủ tiêu chuẩn, ví dụ như là
Trang 9<toc link_to=" /the_other_plugin_id/path/to/toc.xml#anchor_id"/>
-notree
Phần đóng góp org.eclipse.help.toc chỉ ra một hoặc một số các tệp XML kết hợp, các tệp này chứa cấu trúc của trợ giúp của bạn và tích hợp của nó với trợ giúp được đóng góp bởi các trình bổ sung khác
Nếu bạn định tạo tài liệu cho một dự án đầy đủ thì chỉ ra là sẽ tạo nhiều tệp mục lục XML
GHI CHÚ: Nếu quên tham số cờ này thì sẽ chỉ tạo ra một tệp mục lục XML
7 Doclet tạo ra các tệp XML đầu ra cho trình bổ sung, và một số tệp hữu ích
tại c:\doclet\com.ibm.doc_plugin_name, giờ đây là thư mục trình bổ sung
của bạn:
o plugin.xml
o plugin.properties
o project
Trang 10o META-INF\MANIFEST.MF
o com.ibm.packageN.toc.xml — các tệp XML mục lục để xây dựng cây định hướng trong trình duyệt trợ giúp
o buildJavaDoc.xml — tệp ANT để chạy công cụ JavaDoc từ môi trường Ant
o buildJavaDoc.bat — tệp BAT để chạy công cụ JavaDoc
8 Chạy JavaDoc từ giao diện dòng lệnh (buildJavaDoc.bat) để tạo tệp HTML cho tài liệu API
Về đầu trang
Sử dụng JavaTOC doclet để tạo một tệp mục lục XML
Đến giờ thì chúng ta vừa nói về doclet, hãy tiếp tục với ví dụ thực sự, sử dụng JavaTOC doclet với các tệp nguồn DITA-OT 1.3 (DITA-OT1.3_src.zip) làm ví dụ của chúng ta
Tệp mục lục định nghĩa các điểm mục nhập khóa thành các tệp nội dung HTML bằng cách định nghĩa các chủ đề đã được dán nhãn được ánh xạ tới các tệp HTML,
và hoạt động giống như mục lục của một tập các nội dung HTML Đôi khi các tệp mục lục này được đề cập đến như là các tệp định hướng bởi vì chúng mô tả cách định hướng nội dung HTML Một trình bổ sung có thể có một hoặc nhiều tệp mục lục
Chạy ví dụ org.dita.dost
Chạy tệp bat: C:\doclet\JavaTOC>TOCDoclet_dost.bat (Từ ví dụ 5 tới ví dụ 8)
Trang 11Ví dụ 7 các tùy chọn
-sourcepath demo/src
Trang 12-d demo/output/org.dita.dost.doc
-overview demo/src/overview-summary.html -doctitle 'Building DITA output'
Trang 13org.dita.dost.util
org.dita.dost.writer
org.dita.dost.exception
hoặc là từ giao diện dòng lệnh, thư mục C:\doclet\JavaTOC>:
javadoc -doclet com.ibm.malup.doclet.config.TOCDoclet -docletpath
C:\doclet\JavaTOC\bin\TOCNavDoclet.jar -sourcepath demo/src -d
demo/output/org.dita.dost.doc -doctitle 'Building DITA output' -pluginid
org.dita.dost.doc -provider XYZ -version 1.0.1 -overview summary.html org.dita.dost.index org.dita.dost.invoker org.dita.dost.log
demo/src/overview-org.dita.dost.module org.dita.dost.pipeline org.dita.dost.platform
org.dita.dost.reader org.dita.dost.util org.dita.dost.writer org.dita.dost.exception
Thư mục đích cho các tệp đầu ra
• Doclet tạo ra các tệp XML đầu ra cho trình bổ sung và một số tệp hữu dụng
tại C:\doclet\JavaTOC\output\org.dita.dost.doc, giờ đây là thư mục trình
Trang 14o org.dita.dost.doc_toc.xml— tệp XML mục lục để xây dựng cây định hướng trong trình duyệt trợ giúp
o buildJavaDoc.xml — tệp ANT để chạy công cụ JavaDoc từ môi trường Ant
o buildJavaDoc.bat — tệp BAT để chạy công cụ JavaDoc
<! Trình bổ sung này định nghĩa một trợ giúp trực tuyến >
<! đóng góp cho IBM Rational Software Modeler >
<! Các tài liệu được cấp phép - Quyền sở hữu của IBM >
<! (c) Bản quyền công ty IBM Giữ bản quyền >
Trang 15<!
========================================================== >
Trang 16Plugin.providerName = IBM
Các tệp bảng kê trình bổ sung mở rộng các xâu ký tự của chúng bằng cách thay thế
xâu với một khóa (ví dụ %pluginName) và tạo ra một mục nhập trong tệp
plugin.properties có dạng: pluginName = "Online Help Sample Plugin" (trình bổ
sung minh họa trợ giúp trực tuyến (ví dụ 11)
Ví dụ 11 META-INF\MANIFEST.MF
Trang 17
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Doc Plug-in
Bundle-SymbolicName: -pluginid; singleton:=true
Một tệp đơn giản có nội dung giống như được hiển thị trong ví dụ 12
Ví dụ 12 org.dita.dost.doc_toc.xml
Trang 18
<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.toc"?>
<toc label="Building DITA output">
<topic label="Overview" href="overview-summary.html">
<topic label="org.dita.dost.index Package"
<topic label="org.dita.dost.invoker Package" summary.html">
<topic label="AntInvoker" href=" /invoker/AntInvoker.html"/>
Trang 19<topic label="MessageBean" href=" /log/MessageBean.html"/>
<topic label="MessageUtils" href=" /log/MessageUtils.html"/>
Trang 20<topic label="ModuleFactory" href=" /module/ModuleFactory.html"/>
<topic label="MoveIndexModule" href=" /module/MoveIndexModule.html"/> <topic label="MoveLinksModule" href=" /module/MoveLinksModule.html"/> </topic>
<topic label="org.dita.dost.pipeline Package"
Trang 21<topic label="PipelineFacade" href=" /pipeline/PipelineFacade.html"/> <topic label="PipelineHashIO" href=" /pipeline/PipelineHashIO.html"/> </topic>
<topic label="org.dita.dost.platform Package" summary.html">
<topic label="IAction" href=" /platform/IAction.html"/>
<topic label="DescParser" href=" /platform/DescParser.html"/>
<topic label="Features" href=" /platform/Features.html"/>
<topic label="FileGenerator" href=" /platform/FileGenerator.html"/> <topic label="ImportAction" href=" /platform/ImportAction.html"/> <topic label="InsertAction" href=" /platform/InsertAction.html"/> <topic label="Integrator" href=" /platform/Integrator.html"/>
<topic label="IntegratorTask" href=" /platform/IntegratorTask.html"/> </topic>
<topic label="org.dita.dost.reader Package"
href=" /reader/package-summary.html">
<topic label="AbstractReader" href=" /reader/AbstractReader.html"/> <topic label="AbstractXMLReader"
Trang 22<topic label="CatalogUtils" href=" /util/CatalogUtils.html"/>
<topic label="Constants" href=" /util/Constants.html"/>
<topic label="DITAOTCopy" href=" /util/DITAOTCopy.html"/>
<topic label="FileUtils" href=" /util/FileUtils.html"/>
<topic label="IsAbsolute" href=" /util/IsAbsolute.html"/>
<topic label="StringUtils" href=" /util/StringUtils.html"/>
Trang 23</topic>
<topic label="org.dita.dost.writer Package"
href=" /writer/package-summary.html">
<topic label="AbstractWriter" href=" /writer/AbstractWriter.html"/>
<topic label="AbstractXMLWriter" href=" /writer/AbstractXMLWriter.html"/> <topic label="CHMIndexWriter" href=" /writer/CHMIndexWriter.html"/> <topic label="DitaIndexWriter" href=" /writer/DitaIndexWriter.html"/>
<topic label="DitaLinksWriter" href=" /writer/DitaLinksWriter.html"/>
<topic label="DitaWriter" href=" /writer/DitaWriter.html"/>
Trang 24(TOC) được viết như là một tài liệu XML Nhu cầu duyệt được và tìm kiếm được được thỏa mãn với cách tiếp cận thông tin có cấu trúc này, sử dụng XML
Tài liệu được cung cấp với một danh mục có thể rút gọn lại được ở bên trái và tài liệu HTML ở bên phải
Chạy JavaDoc để tạo tệp HTML
Chạy JavaDoc từ giao diện dòng lệnh từ thư mục
C:\doclet\JavaTOC\demo\output\org.dita.dost.doc (buildJavaDoc.bat) để tạo ra các tệp HTML cho tài liệu tham chiếu API
C:\doclet\JavaTOC\demo\output\org.dita.dost.doc>javadoc -sourcepath src -d doc -doctitle "Building DITA output" -overview src\overview.html
org.dita.dost.index org.dita.dost.invoker org.dita.dost.log org.dita.dost.module org.dita.dost.pipeline org.dita.dost.platform org.dita.dost.reader org.dita.dost.util org.dita.dost.writer org.dita.dost.exception
Về đầu trang
Sử dụng JavaTOC doclet để tạo ra nhiều tệp mục lục XML
Một tệp Java API đơn điển hình có thể chứa từ bảy tệp gói trở lên Với JavaTOC doclet, bạn chỉ duy trì một tệp (package.txt), và phần còn lại sẽ được tạo ra Bạn
có thể giảm đáng kể thời gian phát triển và có thể tập trung vào việc làm tài liệu API bởi vì JavaTOC tạo ra 100% mã trợ giúp trình bổ sung cho bạn
Chạy cùng ví dụ org.dita.dost
Trang 25Chạy JavaTOC doclet giao diện dòng lệnh từ C:\doclet\ directory
C:\doclet\JavaTOC>javadoc @tocdoclet options.org.dita.dost @packages (Ví dụ
Trang 26hoặc
C:\doclet\JavaTOC>javadoc doclet com.ibm.malup.doclet.config.TOCDoclet docletpath C:\doclet\JavaTOC\bin\TOCNavDoclet.jar -sourcepath demo/src -d demo/output/org.dita.dost.doc -doctitle 'Building DITA output' -pluginid
-org.dita.dost.doc -provider XYZ -version 1.0.1 -overview summary.html -notree org.dita.dost.index org.dita.dost.invoker org.dita.dost.log org.dita.dost.module org.dita.dost.pipeline org.dita.dost.platform
demo/src/overview-org.dita.dost.reader org.dita.dost.util org.dita.dost.writer
Thư mục đích cho các tệp đầu ra (org.dita.dost.doc)
• Doclet tạo ra các tệp XML đầu ra cho trình bổ sung và một số các tệp hữu
ích tại C:\doclet\JavaTOC\demo\output\org.dita.dost.doc Đây là thư
mục trình bổ sung mới của bạn:
Trang 27org.dita.dost.writer.toc.xml — các tệp XML mục lục để xây dựng cây định hướng trong trình duyệt trợ giúp
o buildJavaDoc.xml — tệp ANT để chạy công cụ JavaDoc từ môi trường Ant
o buildJavaDoc.bat — tệp BAT để chạy công cụ JavaDoc
Tệp org.dita.dost.index.toc.xml chỉ là một mục lục khác, và cần có định dạng giống hệt như bất cứ tệp toc.xml nào khác (ví dụ 14)
Trang 28<extension point="org.eclipse.help.toc">
<toc file="doclet.toc.xml" primary="true"/>
<toc file="org.dita.dost.exception.toc.xml"/> <toc file="org.dita.dost.index.toc.xml"/> <toc file="org.dita.dost.invoker.toc.xml"/> <toc file="org.dita.dost.log.toc.xml"/> <toc file="org.dita.dost.module.toc.xml"/> <toc file="org.dita.dost.pipeline.toc.xml"/> <toc file="org.dita.dost.platform.toc.xml"/> <toc file="org.dita.dost.reader.toc.xml"/> <toc file="org.dita.dost.util.toc.xml"/> <toc file="org.dita.dost.writer.toc.xml"/>