![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Giới thiệu MicroXML, Phần 2: Xử lý MicroXML bằng MicroLark
Số trang: 8
Loại file: pdf
Dung lượng: 120.20 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
MicroXML, bản đơn giản hóa tương thích lùi của XML, là đặc tả mới nổi lên. Trong phần 1 của loạt bài viết này, hãy khám phá các nguyên tắc cơ bản của MicroXML, bạn đã học được những khái niệm cơ sở của MicroXML và nó khác với XML 1.x và các tiêu chuẩn liên quan như thế nào. MicroXML đã được James Clark đề xuất và được John Cowan nâng cao, ông cũng đã tạo ra trình phân tích cú pháp đầu tiên của nó là MicroLark. MicroLark là mã nguồn mở (giấy phép Apache 2.0), được viết...
Nội dung trích xuất từ tài liệu:
Giới thiệu MicroXML, Phần 2: Xử lý MicroXML bằng MicroLark Giới thiệu MicroXML, Phần 2: Xử lý MicroXML bằng MicroLarkMicroXML, bản đơn giản hóa tương thích lùi của XML, là đặc tả mới nổi lên. Trong phần 1 củaloạt bài viết này, hãy khám phá các nguyên tắc cơ bản của MicroXML, bạn đã học được nhữngkhái niệm cơ sở của MicroXML và nó khác với XML 1.x và các tiêu chuẩn liên quan như thếnào. MicroXML đã được James Clark đề xuất và được John Cowan nâng cao, ông cũng đã tạo ratrình phân tích cú pháp đầu tiên của nó là MicroLark. MicroLark là mã nguồn mở (giấy phépApache 2.0), được viết bằng ngôn ngữ Java và thực hiện một số chế độ phân tích cú pháp: chế độkéo, chế độ đẩy và chế độ cây.Trong bài viết này, hãy học về phân tích định dạng MicroXML. Hãy khám phá những khía cạnhkhác nhau của API của trình phân tích cú pháp MicroLark bằng cách sử dụng dòng lệnh và mãmẫu.Bắt đầuĐể làm theo các ví dụ trong bài viết này, bạn cần phải tải về (xem phần Tài nguyên): microLark.jar, hoặc mã nguồn nếu bạn thích Trình thông dịch Jython mã nguồn mởBạn có thể bắt đầu bằng cách chạy MicroLark trên dòng lệnh với tập tin MicroXML như là đầuvào. Liệt kê 1 là một thay đổi nhỏ của tập tin đơn giản từ phần 1.Liệt kê 1. Tập tin đơn giản Welcome page Welcome to IBMdeveloperWorks. Ghi lưu mẫu ở trên là listing1.xml và đưa nó nào MicroLark bằng cách sử dụng mã trong liệt kê2.Liệt kê 2. MicroLarkjava -jar microlark.jar listing1.xmlBạn sẽ nhận được đầu ra trong liệt kê 3.Liệt kê 3. Đầu ra(htmlAlang en- -- -(head- -(title-Welcome page)title- -)head- -(body- -(p-Welcome to(aAhref http://ibm.com/developerworks/-IBM developerWorks)a-.)p- -)body- )htmlCó phải nó trông hơi lạ? Liệt kê 3 có định dạng được gọi là PYX, biểu diễn theo dòng của các tàiliệu XML, cũng dẫn xuất từ quy ước biểu diễn các tài liệu SGML. PYX biểu hiện tất cả cácthông tin trong tài liệu XML theo cách giảm thiểu gánh nặng phân tích cú pháp. Đây là công cụcực kỳ hữu ích mà rất đáng buồn là nó bị các nhà phát triển XML bỏ rơi.Hoạt động mặc định của MicroLark là chuyển đổi tài liệu MicroXML sang PYX, hay đúng hơnlà tập hợp con của PYX, dựa trên thực tế là MicroXML là tập hợp con của XML. (Để biết thêmvề PYX, đọc Các vấn đề của XML: Giới thiệu PYX trong phần Tài nguyên.)Định dạng PYX là cực kỳ đơn giản. Ký tự đầu tiên trên mỗi dòng xác định kiểu nội dung củadòng. Nội dung không trực tiếp lan trên nhiều dòng, mặc dù các dòng kế tiếp nhau có thể chứacùng kiểu nội dung. Trong trường hợp các thuộc tính của thẻ, tên thuộc tính và giá trị chỉ đơngiản được tách ra bởi khoảng trắng, mà không cần sử dụng thêm dấu ngoặc kép. Liệt kê 4 chothấy các ký tự tiền tố.Liệt kê 4. Các ký tự tiền tố( start-tag) end-tagA attribute- character data (content)? processing instructionChú giải tương ứng với đầu vào ở trên. Vẻ đẹp của PYX là nó có thể được sử dụng với các lệnhxử lý văn bản luôn hữu ích và có từ lâu của UNIX như grep, awk, sort, sed, awk vân vân.Xử lý lỗiNhư với bất kỳ trình phân tích cú pháp XML hoặc MicroXML nào, điều quan trọng là hiểunhững gì xảy ra trong trường hợp đầu vào có lỗi. Liệt kê 5 là ví dụ về XML không đúng khuôndạng từ Phần 1.Liệt kê 5. XML không đúng khuôn dạngHello, I claim to be MicroXMLNếu bạn ghi lưu liệt kê trên thành tệp badxml.xml và cho chạy nó qua MicroLark, bạn nhận đượcđầu ra trong liệt kê 6.Liệt kê 6. Xử lý lỗi$ java -jar microlark.jar badxml.xml(para-Hello, I claim to be(strong-MicroXML!1:50:Unexpected end-tagMicroLark bắt đầu bằng cách phát ra các dòng PYX và sau đó dừng lại đột ngột với thông báolỗi khi gặp thẻ không khớp. Đầu ra chỉ rõ hàng và cột của tập tin nguồn, nơi lỗi xảy ra.Về đầu trangAPI trình phân tích cú phápHầu hết người dùng sẽ muốn gắn bó chặt chẽ hơn vào trình phân tích cú pháp MicroLark. Đểlàm như vậy mà không đi quá sâu vào mã Java phức tạp, bạn sẽ sử dụng Jython, một công cụ tạosản phẩm mẫu ban đầu xuất sắc. Jython là bản triển khai thực hiện bằng ngôn ngữ Python, tạo ravà có thể thực thi mã byte Java. Jython cho phép bạn tương tác với các lớp Java và các API bằngcách sử dụng một ngôn ngữ đơn giản hơn nhiều.Trình phân tích cú pháp đẩyNếu bạn đang quen thuộc với API đơn giản cho XML (SAX) thì bạn đã quen thuộc với giao diệnđẩy. Để sử dụng giao diện đẩy của MicroLark, bạn cung cấp cho một lớp các phương thức rấtgiống SAX để xử lý các cấu kiện khác nhau như các phần tử, thuộc tính và dữ liệu ký tự. Hãy sửdụng giao diện ContentHandler để cung cấp lớp này. MicroLark có một vài lớp tiện ích với giaodiện đó, bao gồm cả PyxWriter, lớp này tạo ra PYX như trong liệt kê 3.Liệt kê 7 là chương trình Jython đơn giản để lặp lại hoạt động của dòng lệnh cơ bản củaMicroLark.Liệt kê 7. PYXfrom org.ccil.cowan.microlark import PyxWriter, Parserfrom java.lang import Systempw = PyxWriter(System.out)f = ope ...
Nội dung trích xuất từ tài liệu:
Giới thiệu MicroXML, Phần 2: Xử lý MicroXML bằng MicroLark Giới thiệu MicroXML, Phần 2: Xử lý MicroXML bằng MicroLarkMicroXML, bản đơn giản hóa tương thích lùi của XML, là đặc tả mới nổi lên. Trong phần 1 củaloạt bài viết này, hãy khám phá các nguyên tắc cơ bản của MicroXML, bạn đã học được nhữngkhái niệm cơ sở của MicroXML và nó khác với XML 1.x và các tiêu chuẩn liên quan như thếnào. MicroXML đã được James Clark đề xuất và được John Cowan nâng cao, ông cũng đã tạo ratrình phân tích cú pháp đầu tiên của nó là MicroLark. MicroLark là mã nguồn mở (giấy phépApache 2.0), được viết bằng ngôn ngữ Java và thực hiện một số chế độ phân tích cú pháp: chế độkéo, chế độ đẩy và chế độ cây.Trong bài viết này, hãy học về phân tích định dạng MicroXML. Hãy khám phá những khía cạnhkhác nhau của API của trình phân tích cú pháp MicroLark bằng cách sử dụng dòng lệnh và mãmẫu.Bắt đầuĐể làm theo các ví dụ trong bài viết này, bạn cần phải tải về (xem phần Tài nguyên): microLark.jar, hoặc mã nguồn nếu bạn thích Trình thông dịch Jython mã nguồn mởBạn có thể bắt đầu bằng cách chạy MicroLark trên dòng lệnh với tập tin MicroXML như là đầuvào. Liệt kê 1 là một thay đổi nhỏ của tập tin đơn giản từ phần 1.Liệt kê 1. Tập tin đơn giản Welcome page Welcome to IBMdeveloperWorks. Ghi lưu mẫu ở trên là listing1.xml và đưa nó nào MicroLark bằng cách sử dụng mã trong liệt kê2.Liệt kê 2. MicroLarkjava -jar microlark.jar listing1.xmlBạn sẽ nhận được đầu ra trong liệt kê 3.Liệt kê 3. Đầu ra(htmlAlang en- -- -(head- -(title-Welcome page)title- -)head- -(body- -(p-Welcome to(aAhref http://ibm.com/developerworks/-IBM developerWorks)a-.)p- -)body- )htmlCó phải nó trông hơi lạ? Liệt kê 3 có định dạng được gọi là PYX, biểu diễn theo dòng của các tàiliệu XML, cũng dẫn xuất từ quy ước biểu diễn các tài liệu SGML. PYX biểu hiện tất cả cácthông tin trong tài liệu XML theo cách giảm thiểu gánh nặng phân tích cú pháp. Đây là công cụcực kỳ hữu ích mà rất đáng buồn là nó bị các nhà phát triển XML bỏ rơi.Hoạt động mặc định của MicroLark là chuyển đổi tài liệu MicroXML sang PYX, hay đúng hơnlà tập hợp con của PYX, dựa trên thực tế là MicroXML là tập hợp con của XML. (Để biết thêmvề PYX, đọc Các vấn đề của XML: Giới thiệu PYX trong phần Tài nguyên.)Định dạng PYX là cực kỳ đơn giản. Ký tự đầu tiên trên mỗi dòng xác định kiểu nội dung củadòng. Nội dung không trực tiếp lan trên nhiều dòng, mặc dù các dòng kế tiếp nhau có thể chứacùng kiểu nội dung. Trong trường hợp các thuộc tính của thẻ, tên thuộc tính và giá trị chỉ đơngiản được tách ra bởi khoảng trắng, mà không cần sử dụng thêm dấu ngoặc kép. Liệt kê 4 chothấy các ký tự tiền tố.Liệt kê 4. Các ký tự tiền tố( start-tag) end-tagA attribute- character data (content)? processing instructionChú giải tương ứng với đầu vào ở trên. Vẻ đẹp của PYX là nó có thể được sử dụng với các lệnhxử lý văn bản luôn hữu ích và có từ lâu của UNIX như grep, awk, sort, sed, awk vân vân.Xử lý lỗiNhư với bất kỳ trình phân tích cú pháp XML hoặc MicroXML nào, điều quan trọng là hiểunhững gì xảy ra trong trường hợp đầu vào có lỗi. Liệt kê 5 là ví dụ về XML không đúng khuôndạng từ Phần 1.Liệt kê 5. XML không đúng khuôn dạngHello, I claim to be MicroXMLNếu bạn ghi lưu liệt kê trên thành tệp badxml.xml và cho chạy nó qua MicroLark, bạn nhận đượcđầu ra trong liệt kê 6.Liệt kê 6. Xử lý lỗi$ java -jar microlark.jar badxml.xml(para-Hello, I claim to be(strong-MicroXML!1:50:Unexpected end-tagMicroLark bắt đầu bằng cách phát ra các dòng PYX và sau đó dừng lại đột ngột với thông báolỗi khi gặp thẻ không khớp. Đầu ra chỉ rõ hàng và cột của tập tin nguồn, nơi lỗi xảy ra.Về đầu trangAPI trình phân tích cú phápHầu hết người dùng sẽ muốn gắn bó chặt chẽ hơn vào trình phân tích cú pháp MicroLark. Đểlàm như vậy mà không đi quá sâu vào mã Java phức tạp, bạn sẽ sử dụng Jython, một công cụ tạosản phẩm mẫu ban đầu xuất sắc. Jython là bản triển khai thực hiện bằng ngôn ngữ Python, tạo ravà có thể thực thi mã byte Java. Jython cho phép bạn tương tác với các lớp Java và các API bằngcách sử dụng một ngôn ngữ đơn giản hơn nhiều.Trình phân tích cú pháp đẩyNếu bạn đang quen thuộc với API đơn giản cho XML (SAX) thì bạn đã quen thuộc với giao diệnđẩy. Để sử dụng giao diện đẩy của MicroLark, bạn cung cấp cho một lớp các phương thức rấtgiống SAX để xử lý các cấu kiện khác nhau như các phần tử, thuộc tính và dữ liệu ký tự. Hãy sửdụng giao diện ContentHandler để cung cấp lớp này. MicroLark có một vài lớp tiện ích với giaodiện đó, bao gồm cả PyxWriter, lớp này tạo ra PYX như trong liệt kê 3.Liệt kê 7 là chương trình Jython đơn giản để lặp lại hoạt động của dòng lệnh cơ bản củaMicroLark.Liệt kê 7. PYXfrom org.ccil.cowan.microlark import PyxWriter, Parserfrom java.lang import Systempw = PyxWriter(System.out)f = ope ...
Tìm kiếm theo từ khóa liên quan:
Giới thiệu MicroXML Xử lý MicroXML MicroLark hệ quản trị cơ sở dữ liệu lập trình XML cơ sở dữ liệu nâng caoTài liệu liên quan:
-
Giáo án Tin học lớp 12 (Trọn bộ cả năm)
180 trang 288 0 0 -
Thực hiện truy vấn không gian với WebGIS
8 trang 263 0 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 252 0 0 -
69 trang 148 0 0
-
Tiểu luận môn Cơ sở dữ liệu nâng cao: Mã hóa cơ sở dữ liệu Database Encryption
16 trang 129 0 0 -
57 trang 90 0 0
-
Bài giảng Khái niệm về hệ cơ sở dữ liệu: Bài 2 - Hệ quản trị cơ sở dữ liệu
13 trang 88 0 0 -
34 trang 85 0 0
-
Giáo trình Hệ quản trị cơ sở dữ liệu - Trần Thiên Thành
130 trang 80 0 0 -
Phát triển Java 2.0: Phân tích dữ liệu lớn bằng MapReduce của Hadoop
12 trang 76 0 0