JiBX 1.2, Phần 2: Từ lược đồ XML thành mã Java Tạo mã Java tùy chỉnh, sạch hơn từ lược đồ XML pot

67 357 0
JiBX 1.2, Phần 2: Từ lược đồ XML thành mã Java Tạo mã Java tùy chỉnh, sạch hơn từ lược đồ XML pot

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

JiBX 1.2, Phần 2: Từ lược đồ XML thành mã Java Tạo mã Java tùy chỉnh, từ lược đồ XML Dennis Sosnoski, Nhà tư vấn, Sosnoski Software Solutions, Inc Tóm tắt: Việc tạo mã từ định nghĩa lược đồ XML sử dụng rộng rãi cho kiểu trao đổi liệu XML, bao gồm dịch vụ Web Hầu hết công cụ liên kết liệu cấu trúc cách cứng nhắc mã tạo dựa lược đồ — khía cạnh lược đồ khơng liên quan đến ứng dụng bạn Trong hướng dẫn này, phần thứ hai loạt hai phần, tìm hiểu cách làm để JiBX 1.2 tạo mã qua việc thực diễn dịch lược đồ tốt loại bỏ lớp lộn xộn không cần thiết Bạn thấy tùy chỉnh mã tạo để phù hợp tốt với nhu cầu bạn, bao gồm tuỳ chỉnh dễ dàng loại bỏ thành phần không cần thiết lược đồ Trước bắt đầu Về hướng dẫn JiBX công cụ để liên kết liệu XML với đối tượng Java™ Liên kết liệu JiBX biết đến từ lâu cách tiếp cận nhanh linh hoạt để liên kết mã Java tới XML Nhưng phức tạp định nghĩa liên kết JiBX hỗ trợ cịn hạn chế với định nghĩa lược đồ XML sử dụng ngày rộng rãi làm cho người dùng thất vọng nhiều lần May mắn thay, phiên 1.2 JiBX tiến bước dài theo hướng loại bỏ vấn đề Trong hướng dẫn này, bạn tìm hiểu việc sử dụng đặc tính JiBX 1.2 để tạo định nghĩa lược đồ XML cách dễ dàng từ mã Java có để đọc viết tài liệu khớp với định nghĩa lược đồ tạo — hồn tồn khơng cần phải vào chi tiết định nghĩa liên kết JiBX Phần trình bày nửa cịn lại vấn đề: mã Java tạo định nghĩa lược đồ XML Mục tiêu Hướng dẫn dẫn cho bạn trình sử dụng JiBX để tạo mã Java từ định nghĩa lược đồ XML Đầu tiên, bạn tìm hiểu cách làm việc lược đồ đơn giản tạo mô hình liệu Java mặc định khớp với lược đồ nào, sau sử dụng mơ hình liệu để đọc việt tài liệu XML Tiếp theo bạn thấy cách làm để sử dụng tùy chỉnh để sửa đổi việc sinh mã cho phù hợp tốt với yêu cầu bạn Cuối cùng, bạn chuyển đến ví dụ lược đồ chuẩn- cơng nghiệp phức tạp khám phá khả tùy chỉnh để làm đơn giản mơ hình liệu sinh cho lược đồ cải thiện khả sử dụng Sau đọc hướng dẫn thực hết ví dụ cung cấp, bạn có khả sử dụng JiBX để tạo mơ hình liệu Java tùy chỉnh cho lược đồ riêng bạn Các điều kiện cần có trước Để hiểu hướng dẫn này, bạn nên có kiến thức mã Java XML Bạn không cần phải hiểu biết chi tiết định nghĩa lược đồ XML quen thuộc với lược đồ giúp bạn hiểu rõ ví dụ tốt Các yêu cầu hệ thống Để chạy ví dụ này, bạn cần phải cài đặt:  Cả hai: o o  Sun's JDK 1.5.0_09 (hoặc hơn) Bộ dụng cụ cho nhà phát triển IBM cho công nghệ Java 1.5.0 SR3 Một phiên công cụ xây dựng Apache Ant Các hướng dẫn tải cài đặt JiBX có hướng dẫn Giới thiệu JiBX JiBX nhiều công cụ dùng để chuyển đổi cấu trúc liệu Java tài liệu XML (xem Tài nguyên) Cái làm nên khác biệt JiBX so với công cụ khác đặc tính linh hoạt hiệu Hiệu JiBX đánh giá vị trí cao lĩnh vực này, vượt hai lần so với hiệu công cụ phổ biến khác (như JAXB 2.0 chẳng hạn) JiBX linh hoạt hơn hầu hết tất công cụ Java-XML khác, sử dụng định nghĩa liên kết để tách cấu trúc Java khỏi mơ tả XML cho thay đổi độc lập với Với phát hành 1.2, JiBX bổ sung thêm đặc tính hỗ trợ định nghĩa lược đồ XML Bạn sử dụng công cụ kèm theo phát hành JiBX để tạo định nghĩa lược đồ khớp với mã Java bạn để tạo mã Java khớp với định nghĩa lược đồ bạn Dù cách nào, bạn nhận định nghĩa liên kết phép bạn sử dụng JiBX để chuyển đổi mã Java tài liệu XML khớp với định nghĩa lược đồ Trong hướng dẫn này, bạn thấy cách làm để áp dụng kiểu tạo thứ hai: từ định nghĩa lược đồ tạo mã Java Cài đặt JiBX Bạn cần phải cài đặt JiBX trước tiếp tục thực hướng dẫn Hãy Tải ZIP phân phối 1.2.x giải nén vào chỗ thuận tiện hệ thống bạn Xong việc, bạn nhận thư mục có tên jibx, có chứa tất tệp JiBX JAR, tài liệu hướng dẫn, ví dụ chí mã nguồn Cài đặt mã nguồn ví dụ hướng dẫn Bây tải mã mẫu hướng dẫn này, cung cấp dạng tệp tin ZIP Cách dễ để cài đặt hệ thống bạn giải nén tệp tin ZIP vào thư mục gốc phân phối JiBX bạn (hoặc Windows®, chép thư mục dwcode1 từ bên tệp tin ZIP vào thư mục gốc phân phối JiBX bạn) Điều tạo thư mục dwcode2 thư mục jibx, với tệp tin ví dụ (bao gồm tệp tin build.xml, custom.xml tệp tin khác) bên thư mục dwcode2 Mã mẫu bao gồm tệp tin xây dựng Ant Apache để tự động hố cho chạy cơng cụ JiBX xử lý bước khác có ví dụ Nếu bạn cài đặt mã mẫu trực tiếp vào thư mục cài đặt JiBX, công cụ xây dựng (build) truy cập tệp JiBX JAR mà khơng cần thêm cấu hình Nếu bạn cài đặt mã mẫu nơi khác, bạn sử dụng cơng cụ xây dựng Ant Trong trường hợp này, bạn cần chỉnh sửa tệp tin build.properties bên thư mục mã mẫu thay đổi giá trị thuộc tính jibx-home thành đường dẫn đến cài đặt JiBX bạn Tạo liên kết mã mặc định từ lược đồ Rất dễ dàng để tạo định nghĩa liên kết JiBX mã Java tương ứng từ định nghĩa lược đồ XML Bạn tìm hiểu cách làm phần Giới thiệu ví dụ lược đồ đơn giản Như ví dụ đơn giản, tơi bắt đầu với lược đồ tạo Phần Listing hiển thị phiên rút gọn lược đồ này, nhằm biểu diễn đơn hàng từ cửa hàng trực tuyến Lược đồ đầy đủ cung cấp tệp tin starter.xsd thư mục dwcode2 mã mẫu Listing Lược đồ ví dụ Supported shipment methods The "INTERNATIONAL" shipment methods can only be used for orders with shipping addresses outside the U.S., and one of these methods is required in this case. Order line item information. Stock identifier This is expected to be 12 characters in length, with two leading alpha characters followed by ten decimal digits Number of units ordered. Price per unit. Address information. First line of street information (required) State abbreviation (required for the U.S and Canada, optional otherwise). Postal code (required for the U.S and Canada, optional otherwise). Customer information. Order information. Billing address information. Date order was placed with server. Tạo mã liên kết mặc định Để tạo liên kết JiBX lớp Java từ lược đồ XML, bạn cần chạy công cụ org.jibx.schema.codegen.CodeGen có tệp tin jibx-tools.jar từ phân phối JiBX Bạn chạy cơng cụ trực tiếp từ dịng lệnh gián tiếp thơng qua cơng cụ xây dựng Ant Apache Phần tải hướng dẫn bao gồm kịch lệnh Ant build.xml có đích codegen để thực hoạt động tạo mã Để thử điều này, mở cửa sổ dòng lệnh thư mục dwcode2 nơi cài đặt tải gõ ant codegen Nếu bạn cài đặt Ant hệ thống cài đặt mã tải theo hướng dẫn, bạn nhìn thấy kết tương tự hiển thị Hình 1: */ public List getReportedTimes() { return reportedTimeList; } /** * Set the list of 'ReportedTime' element items * * @param list */ public void setReportedTimes(List list) { reportedTimeList = list; } /** * Get the number of 'ReportedTime' element items * @return count */ public int sizeReportedTime() { return reportedTimeList.size(); } /** * Add a 'ReportedTime' element item * @param item */ public void addReportedTime(ReportedTime item) { reportedTimeList.add(item); } /** * Get 'ReportedTime' element item by position * @return item * @param index */ public ReportedTime getReportedTime(int index) { return reportedTimeList.get(index); } /** * Remove all 'ReportedTime' element items */ public void clearReportedTime() { reportedTimeList.clear(); } } /** * Schema fragment(s) for this class: * * <xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" * name="GenderCode"/> * */ public class GenderCode { private int genderCode; /** * Get the 'GenderCode' element value * * @return value */ public int getGenderCode() { return genderCode; } /** * Set the 'GenderCode' element value * * @param genderCode */ public void setGenderCode(int genderCode) { this.genderCode = genderCode; } } Loại bỏ định nghĩa khơng sử dụng Trong ví dụ tuỳ chỉnh đầu tiên, cách sử dụng lược đồ ban đầu đơn giản, bạn thấy làm để kiểm sốt định nghĩa kiểu có mơ hình liệu tạo cách sử dụng thuộc tính generate-all="false" để vơ hiệu hố việc tạo tất định nghĩa toàn cục danh sách includes để bắt buộc tạo định nghĩa cụ thể Listing 14 trình bày tuỳ chỉnh sửa đổi cho lược đồ TimeCard có bổ sung thêm thuộc tính này, có phần tử TimeCard đưa vào mơ hình liệu tạo (tất nhiên, với tất thứ sử dụng biểu diễn TimeCard) Listing 14 Tuỳ chỉnh với thành phần TimeCard Bạn sử dụng đích Ant custgen2 để thử tuỳ chỉnh với CodeGen sử dụng đích custom2 để chạy toàn chuỗi từ tạo ra, biên soạn, liên kết thử nghiệm Sự thay đổi làm giảm số lượng lớp mức đỉnh mơ hình liệu từ 15 xuống 10 — khơng phải khởi đầu cho việc đơn giản hố mơ hình liệu Tùy chỉnh thành phần riêng biệt Cho đến nay, bạn thấy có ví dụ tuỳ chỉnh áp dụng toàn tập hợp lược đồ cho lược đồ riêng Bạn tùy chỉnh việc CodeGen xử lý thành phần cụ thể định nghĩa lược đồ, bao gồm định nghĩa toàn cục mục nhúng vào định nghĩa tồn cục Các tuỳ chỉnh có sẵn bao gồm việc loại bỏ thành phần khỏi mơ hình liệu, việc thay đổi tên lớp hay tên giá trị sử dụng cho thành phần việc thay đổi kiểu lược đồ thành phần Các tuỳ chỉnh để loại bỏ thành phần khỏi mơ hình liệu khơng hữu ích bạn kiểm sốt lược đồ — trường hợp đó, thay đổi lược đồ trực tiếp luôn đơn giản Tuy nhiên, lược đồ trao đổi liệu mức doanh nghiệp thường bao gồm thành phần đặc biệt mà khơng thích hợp ứng dụng cụ thể sử dụng lược đồ lược đồ thường khơng thuộc quyền kiểm sốt bạn Việc sử dụng tùy chỉnh trường hợp cho phép bạn làm đơn giản hóa mơ hình liệu bạn mà không cần chạm vào lược đồ cung cấp Các tuỳ chỉnh thành phần Các tuỳ chỉnh cho thành phần lược đồ hoạt động cách kết hợp phần tử tuỳ chỉnh với phần tử định nghĩa lược đồ biểu diễn thành phần Bạn sử dụng vài cách tiếp cận khác để thiết lập kết hợp phần tử tuỳ chỉnh phần tử lược đồ tình hình cụ thể, cách tiếp cận thuận lợi cách tiếp cận khác Tuy nhiên, phần kết hợp cố định: Tên phần tử tùy chỉnh phải luôn khớp với tên phần tử thành phần lược đồ Vì ví dụ để tùy chỉnh định nghĩa lược đồ, bạn cần phải sử dụng phần tử tuỳ chỉnh

Ngày đăng: 07/08/2014, 10:22

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan