Định vị các phần cụ thể của tài liệu XML với XPath, Phần 2 Cải tiến kết quả của XPath sử dụng vị từ phù hợp pdf

74 320 0
Định vị các phần cụ thể của tài liệu XML với XPath, Phần 2 Cải tiến kết quả của XPath sử dụng vị từ phù hợp pdf

Đ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

Định vị phần cụ thể tài liệu XML với XPath, Phần Cải tiến kết XPath sử dụng vị từ phù hợp Brett McLaughlin , Tác giả, biên tập, O'Reilly Media Tóm tắt: Phần viết đưa cho bạn biết lợi ích XPath Cách sử dụng ký tự dấu gạch chéo, ký tự thay thế, tập hợp văn đơn giản, đồng thời bạn học cách làm xác định phần tử thuộc tính vị trí tài liệu XML Tuy nhiên có lúc bạn cần làm việc dựa vào tên nút tài liệu Khi sử dụng vị từ để thực tìm kiếm bạn đánh giá giá trị thuộc tính nút cha nút phần tử mục tiêu Hơn cho phép bạn tìm tập hợp nút mở rộng thực cải tiến hay chọn lọc cài đặt để bạn thêm vào khẳng định phép XPaths bạn tìm kiếm xác nút bạn muốn Trước bạn bắt đầu Nghiên cứu làm để nhận viết làm để thực Giới thiệu viết Bài viết tập trung mô tả chi tiết XPath, cho phép bạn xác định phần khác tài liệu XML cách sử dụng cú pháp dạng thư mục Bạn học cú pháp XPath bạn làm việc với công cụ để thực thi XPath tương ứng Đồng thời, sau bạn hoàn thành toàn viết bạn nắm khái niệm XPath bạn hiểu rõ cách sử dụng XPath ứng dụng bạn Các mục tiêu Các từ viết tắt viết  API: giao diện lập trình ứng dụng  HTML: Ngôn ngữ đánh dấu siêu văn  URI: Uniform Resource Identifier  W3C: World Wide Web Consortium  XHTML: Ngôn ngữ đánh dấu siêu văn mở rộng  XML: Ngôn ngữ đánh dấu mở rộng  XSL: Extensible Stylesheet Language  XSLT: XSL Transformations Phần viết tập trung vào việc sử dụng vị từ đưa vị từ phù hợp XPath bạn Bao gồm lựa chọn XPath khác cung cấp cho việc tìm kiếm bạn Nó mơ tả cách làm xây dựng vị từ phức tạp thành tập câu lệnh phức tạp truy vấn cách sử dụng cú pháp XPath chuẩn Bạn bắt đầu hiểu ý tưởng ứng dụng XPath bạn biết XPath lựa chọn tốt so với công nghệ XML khác XQuery Cuối bạn biết cách làm việc với kiểu liệu đặc biệt bạn thực so sánh giá trị thuộc tính có giá trị số Điều kiện tiên Những viết khác loạt viết  Sử dụng XPath để định vị lựa chọn phần tài liệu XML, Phần Điều kiện cần thiết để bạn học viết bạn phải đọc làm việc với Phần (xem Tài nguyên) Bài viết giới thiệu đầy đủ khái niệm XPath mô tả chi tiết nút thực đánh giá biểu thức XPath phần phần Thêm vào đó, viết viết nhóm tác giả lập trình tài liệu XML Vì bạn cần biết cách đọc, viết thực thi với XML Bạn nên có khái niệm XML, bao gồm:  Elements - Các phần tử hay gọi thành phần  Attributes - Các thuộc tính  Text - Văn  The root element - Phần tử gốc Mặc dù không yêu cầu bạn làm việc với DOM điều tốt để giúp bạn hiểu nút Nếu muốn nghiên cứu DOM, ghé thăm Tài nguyên để tìm kiếm số đường dẫn liên quan Đồng thời bạn nên tìm hiểu rõ phần liên quan đến nút Phần viết Bài viết đề cập đến xác định số API khác bao gồm: XSL, XSLT XPath Nếu có hiểu biết phần tốt khơng u cầu bắt buộc Để có nhiều thơng tin phần này, ghé thăm Tài nguyên viết Đặt tham biến môi trường cho ví dụ Các tài liệu cài đặt áp dụng cho viết sử dụng lại từ phần I bạn làm việc Phần sẵn sàng để đến Phần Bạn làm việc với tài liệu XML thông qua viết Bạn cần phải có tài liệu để truy cập đến máy bạn phải nắm cấu trúc tài liệu tương ứng Thêm vào bạn cần có cơng cụ để thực thi biểu thức XPath bạn trả lại kết dựa lựa chọn bạn Phần diễn tả làm cách để làm ví dụ viết dựa phần môi trường cá nhân có Thật khơng may mắn cơng cụ để đánh giá xác định XPath không xác định cho hệ thống xử lý khác Có vài cơng cụ tải xuống dạng tệp EXE chạy Microsoft® Windows® khơng làm việc Mac OS X Tương tự, công cụ để làm việc hệ điều hành Mac OS X không chạy Windows Trong bạn sử dụng chương tình Java™ lớp để tạo hệ thống độc lập với làm việc báo tập trung vào nghiên cứu XPaths tập trung vào nghiên cứu kỳ ngôn ngữ lập trình khác Theo phần hiển thị chi tiết cách làm để có công cụ để làm việc với XPath Windows Mác OS X Bạn chọn công cụ mà bạn muốn sử dụng để làm Mỗi công cụ, tất cú pháp ví dụ hiển thị cách đầy đủ bạn có cơng cụ tương ứng bạn để đánh giá biểu thức XPath Đánh giá biểu thức XPath Windows Một công cụ tốt để làm việc với XPath hệ điều hành Windows Stylus Studio (xem Tài nguyên để có đường dẫn tới trang Stylus Studio Web tải về) Tải phiên sau —Enterprise Suite, Professional Suite, hay Home Edition— cài đặt hệ điều hành tương ứng Mỗi bạn cài Stulus Studio bạn phải chắn xử lý XPaths từ phần báo này; sau bạn biết để sẵn sàng làm Kết hình bạn có dạng Hình Hình Stylus Studio cho phép đánh giá xác định biểu thức XPath Đánh giá biểu thức XPath hệ điều hành Mac OS X Các công cụ để làm việc với XPath hệ điều anh Mác OS X— mà không sử dụng lớp Java— có cải tiến tinh tế so với làm việc hệ điều hành Window Hầu hết công cụ sử dụng AquaPath, phần mềm mã nguồn mở tải miễn phí (ghé thăm trang để tải Tài nguyên) Tải AquaPath dạng ảnh đĩa đơn giản cần thực di chuyển ứng dụng AquaPath từ hình ảnh thể vào thư mục ứng dụng Web bạn Nháy đúp chuột vào ứng dụng AquaPath cài đặt mới, bạn nhìn thấy hình có dạng giống Hình Hình AquaPath cung cấp cách xử lý XPath Mac OS X Có thể trơng chưa giống nhiêu bạn bắt đầu tải tài liệu XML đánh vào biểu thức XPath cơng cụ —trơng giống Stylus Studio— thực Kiểm tra tài liệu XML XPath làm việc nhiều XML so với ngơn ngữ lập trình khác Vì hầu hết chương trình sử dụng XPath thơng qua API kể từ Java hay C# viết tập trung vào xử lý XPath dựa tài liệu XML Chính mà nói làm việc với tài liệu XML làm việc với XPath Để phục vụ cho viết bạn cần có tài liệu XML minh họa ngắn gọn (tầm khoảng 50 dịng) tài liệu có số phần tử thuộc tính mang giá trị liệu Ví dụ hiển thị phần tài liệu XML sử dụng, tài liệu Ant xây dựng từ Apache Xerces2 Java Parser Tài liệu bao gồm nhiều ví dụ hiển thị tóm tắt Tuy nhiên bạn tải đầy đủ tài liệu XML từ Tài nguyên Ví dụ Tài liệu mẫu XML cho viết Anupam Bagchi Andy Clark, IBM $Id: build.xml 567790 2007-08-20 19:16:53Z mrglavas $ ==================================================================== > Sử dụng trục XPath (XPath axes) để điều hướng Đâu làm việc với XPath, bạn gặp phải tác giả tài liệu quan tâm đặc biệt đến vị ngữ bạn hỏi bạn sử dụng trục tiền bối (ancestor axis), đề xuất hậu duệ (descendant) lựa chọn tốt Những thuật ngữ như: —trục (axis), tiền bối (ancestor), hậu duệ (hậu bối) (descendant), — tham chiếu gọi trục tài liệu (document axes) XPath Chúng phần quan trọng XPath, thực tế, người đề cập đến sử dụng thuật ngữ tự phụ vừa nói Tuy nhiên, nhiều trường hợp, bạn không cần đến trục XPath Điều quan trọng bạn phải hiểu nốt chí bạn chẳng sử dụng cách rõ ràng Và quan trọng bạn hiểu trục tài liệu XPath, kể bạn dùng nó, góp phần củng cố thêm tảng thứ mà bạn làm XPath Vậy trục gì? Một trục tài liệu định nghĩa tập nốt liên quan đến nốt Dù nữa, định nghĩa hình thức Do đó, bạn có trục tài liệu đơn, bạn nói tài liệu đa trục (multiple document axes) Và bạn sử dụng trục Ví dụ, xem XPath sau:/PLAY/TITLE Bạn viết lại XPath Ví dụ 31 Ví dụ 31 Sử dụng trục (child axis) /PLAY/child::node()[name()='TITLE'] XPath sử dụng trục child::node() trả tất nốt của tập nốt (trong trường hợp này, tập nốt chọn /PLAY) Sau đó, XPath sử dụng vị từ để chọn tên nốt so sánh chúng với chuỗi ký tự 'TITLE' Ví dụ 32 phiên đơn giản Ví dụ 31, mà sử dụng trục Ví dụ 32 Sử dụng trục (một mơ hình trục đơn giản) /PLAY/child::TITLE Tất nhiên khơng có cách dùng trục lại đơn giản cách dùng /PLAY/TITLE, lý bạn thấy trục tài liệu không sử dụng thường xun Các trục tài liệu vơ hình Mặc dù trục không sử dụng nhiều lắm, cách mà XPath xây dựng câu lệnh cách mà XPath đánh giá cơng việc Một XPath đơn lẻ bạn viết ngắn gọn lại thành tập lệnh sau: axis::node-test[predicate] Thường bạn bỏ qua trục Xpath ngầm luận trục Các trục ngầm thường trở thành child, chẳng hạn, /PLAY/TITLE thật /PLAY/child::TITLE Trong thực tế, bạn dịch cho rõ ràng hơn: /child::PLAY/child::TITLE Phần gạch chéo ban đầu chuyển thành gốc, sau tên child PLAY, tiếp sau child child vừa đặt tên TITLE Khi bạn làm việc với thuộc tính, trục không áp dụng child mà cịn thuộc tính Do đó, quay trở lại tệp mẫu xerces-build.xml sample, xét XPath /project/target/@name Bạn hình dung việc sử dụng trục thuộc tính Ví dụ 33 Ví dụ 33 Sử dụng trục thuộc tính /project/target/attribute::name Tất nhiên bạn dịch thành Ví dụ 34 sử dụng trục thuộc tính Ví dụ 34 Sử dụng trục trục thuộc tính /child::project/child::target/attribute::name Một lần nữa, XPath làm điều nội thân nó, khơng có lí để bạn nghĩ đến thuật ngữ Rõ ràng, /project/target/@name dễ dùng Những trục dùng được? Bảng liệt kê tất trục dùng được, bạn khơng dùng trực tiếp Bảng Các trục XPath Document axis self parent child Purpose Chọn nốt Chọn nốt cha nốt chọn tất (children) nốt attribute Chọn tất thuộc tính nốt ancestor (hình thức Chọn tất ancestors—parents, parents of parents, vân vân—của nốt nguyên thủy) ancestor-or-self Chọn ancestors nốt thân nốt descendant (hậu duệ) Chọn tất con, cháu, nốt descendant-or-self preceding (đằng trước) Chọn tất hậu duệ thân nốt Chọn toàn nốt tài liệu mà xuất trước nốt preceding-sibling (anh Chọn tất nốt tài liệu mà anh em —tại mức —của nốt em liền trước) following(theo sau) Chọn tất nốt toàn tài liệu mà xuất sau nốt Chọn tất nốt toàn tài liệu following-sibling(anh anh em —tại mức —của nốt em liền sau) namespace Chọn tất nút không gian tên nút Hầu hết trục có tên gắn liền với chức nó, hữu ích biết bạn khơng dùng thực hành XPaths Một số trục hữu ích Một câu hỏi đặt trục hữu ích nào? Các ứng dụng thường sinh trục tài liệu bạn muốn làm nhiều việc kiểm tra phần tử con, thuộc tính, nút cha, điều kiện định Ví dụ bạn muốn tìm tất (hồi, tiết mục) acts mà witch (diễn viên) thực chẳng hạn Điều khó đấy, bạn phải kiểm tra tất phần tử ACT cho SPEECH nơi mà SPEAKER có chứa "Witch." Sau bạn cần kiểm tra tất STAGEDIR phần tử speeches để xem xem có witch sân khấu lại khơng nói lời thoại khơng? Cuối cùng, bạn muốn kiểm tra thân LINE phần tử để xem có đề cập đến witch khơng? Đó ba XPaths khác hẳn nhau, điều tồi tệ là: STAGEDIR xuất cạnh bên ngồi phần từSPEECH Khơng phải một, mà hai XPaths dành cho cho phần tửSTAGEDIR Ví dụ 35 thực bạn cần Ví dụ 35 Một XPath phức tạp (complex XPath) để chọn giá trị từ phần tử lồng khác //ACT[SCENE/SPEECH/SPEAKER[contains(., 'Witch')]]/TITLE/text() | //ACT[SCENE/SPEECH/LINE[contains(., 'Witch')]]/TITLE/text() | //ACT[SCENE/SPEECH/STAGEDIR[contains(., 'Witch')]]/TITLE/text() | //ACT[SCENE/STAGEDIR[contains(., 'Witch')]]/TITLE/text() Mặc dù với trục, có cách dễ nhiều Cái mà bạn thật muốn làm kiểm tra phần tửACT để xem phần tử có chứa từ "Witch" hay khơng Đó ví dụ việc sử dụng trục hậu bối (descendant axis), bạn thử dùng với XPath Ví dụ 36 Ví dụ 36 Dùng trục hậu bối để "nắm bắt được" tất hậu duệ (con, cháu, ) thành phần //ACT[descendant::*[contains(., 'Witch')]]/TITLE/text() Rõ ràng Ví dụ 36 đơn giản hơn, dễ đọc nhiều xong hiệu chẳng Ví dụ 35 Kết Ví dụ 36 hiển thị Hình 21 Hình 21 Kiểm tra vài phần tử hậu duệ (descendant elements) cho giá trị kiểu chuỗi Trong trường hợp — bạn muốn tìm mức sâu phần tử, cho phần tử khác —mà trục hướng tới Xây dựng SQL-like kết hợp với vị ngữ (predicates) Cho đến đây, tất vị ngữ mà bạn sử dụng để bắt tập nút xác định xem nút thuộc vào tập kết cách so sánh số thuộc tính phần tử nút đặc biệt với giá trị ký tự (literal value), xem xem nút có child thuộc tính khơng Đó việc mà bạn thường làm với XPath Tuy nhiên, đôi khi, mẩu liệu lại trình bày nhiều chỗ khác tài liệu XML, hai mẩu liệu có liên quan lại xuất phần khác tài liệu Trong trường hợp này, bạn muốn liên kết mẩu liệu lại XPath Nói cách khác, bạn muốn tạo chọn lọc (selection) phần tài liệu dựa liệu có liên quan phần khác tài liệu Đây nơi XPath gặp phải hạn chế, không nhiều Với vài XPaths thơng minh, bạn đạt kết nối SQL-like kết nối liệu có liên quan, kể mẩu liệu bạn muốn liên kết nằm phần hoàn toàn khác tài liệu XML Vị ngữ điều hướng lên xuống hệ phân cấp XML Để xử lý XPath phức tạp (complex XPaths) khái niệm việc kết hợp hai phần khác tài liệu, bạn nhận vị từ ln ln có liên quan đến tập nút có trước bạn biết cách làm để chuyển nút liên quan thành nút túy (absolute node): với gạch chéo(single slash) (/) Bạn biết làm để xác định phần tử nằm đâu tài liệu: với hai gạch chéo (double slash) (//) Cả hai cách dùng slashes xuất đầu vị ngữ Xem xét Ví dụ 37, phần XPath ngớ ngẩn lại hoàn toàn hợp pháp Ví dụ 37 Sử dụng vị từ với hai gạch chéo (double slash) /PLAY/ACT[TITLE = //ACT/TITLE] Đây tự tham chiếu XPath đồng thức Xem xét kỹ xem điều xảy đây: Bộ đánh giá xác định tất ACT phần tử lồng thành phần gốc PLAY Phần tử TITLE phần tử ACT tham khảo vị từ Bộ đánh giá (evaluator) so sánh phần tử TITLE với TITLE phần tử lồng phần tử ACT vị trí tài liệu Bởi nút trả lệnh /PLAY/ACT/TITLE luôn khớp với nút trả từ //ACT/TITLE, nên vị từ trả giá trị true Bạn nói Ví dụ 37 đơn giản /PLAY/ACT Bạn làm điều tương tự với XPath Ví dụ 38 Ví dụ 38 Sự so khớp dựa giá trị XPath khác /PLAY/ACT[TITLE = //TITLE[contains(., 'IV')]]/TITLE/text() vị từ chọn TITLE có chứa xâu "IV" (chỉ so khớp tiêu đề "ACT IV") sử dụng giá trị để so sánh đối chiếu ngược lại với tiêu đề TITLE tập nút Một lần ví dụ ngớ ngẩn hiệu quả, đơn giản nhiều sử dụng XPath /PLAY/ACT/TITLE[contains(., 'IV')]/text() bạn có XPath dễ đọc Tuy nhiên, bạn bắt đầu nghĩ vị ngữ sáng tạo kiểu này, dẫn đến số khả đáng ý So sánh hai giá trị chưa xác định với vị ngữ Xem qua phần đầu tài liệu mẫu macbeth.xml Có số nhóm người phần tử PGROUP, nhóm lại có vài người: PERSONA, phần tử tùy chọn GRPDESCR với đặc tả nhóm Giả sử bạn muốn tất lời thoại (speeches) mà người nói (speaker) nằm nhóm có đặc tả chứa cụm từ "Scotland." Đầu tiên, luận XPath để lấy tất speakers mà khơng cần vị từ XPath là: //SPEECH/SPEAKER Để thú vị hơn, tìm lời thoại hồi II (speeches in Act II) quay trở lại xem xét thân phần tử SPEECH thay phần tử SPEAKER Bạn có XPath sau: //ACT[TITLE[contains(., 'ACT II')]]/SCENE/SPEECH XPath bỏ qua thành phần SPEAKER, bạn cần thành phần bạn đạt đến vị từ Tiếp theo, luận XPath bạn cần để chọn người nói SPEAKERs với nhóm mà bạn muốn Nó bao gồm PGROUP mà GRPDESCR chứa cụm từ "Scotland," sau với nhóm PGROUP, trả tất phần tử người PERSONAs Bạn xem XPath hồn thiện Ví dụ 39 Ví dụ 39 Liên kết liệu thơng qua hai thứ chưa xác định vị từ //PGROUP[contains(GRPDESCR, 'Scotland')]/PERSONA Thử chạy XPath này, bạn nhận nút giống Hình 22 Hình 22 Lấy tất PERSONAs mà nằm PGROUP định Giờ bạn sử dụng XPath vế phải đẳng thức Nói cách khác, bạn so sánh nguyên tất phần tử SPEAKER từ XPath với nguyên tất phần tử PERSONA trả trước Ví dụ 40 XPath mà bạn nên sử dụng Ví dụ 40 Việc so khớp dựa giá trị XPath khác //ACT[TITLE[contains(., 'ACT II')]]/SCENE/SPEECH[SPEAKER/text() = //PGROUP[contains(GRPDESCR, 'Scotland')]/PERSONA/text()] Khi bạn đánh giá biểu thức này, kiên nhẫn Trên máy tôi, AquaPath tốn nhiều thời gian Đây XPath phức tạp thú vị: Bạn chọn nút phần tài liệu dựa thông tin liên quan đến phần khác tài liệu Điều thú vị nút khơng liên quan đến mặt vị trí tài liệu hay sơ đồ phân cấp, lại liên quan đến mặt logic Trên thực tế, tài liệu XML, chẳng có mối liên hệ Khơng có phần tử thuộc tính chia sẻ, chí tên thành phần phần tử phần khác Tuy nhiên, bạn biết liệu có liên quan đến điều quan trọng Hãy tự chạy thử XPath này, bạn thấy kết giống Hình 23 Hình 23 Tìm tất lời thoại SPEECHes nói người nói SPEAKERs nhóm PGROUP định XPaths bạn phải sử dụng thủ thuật Nếu bạn liên kết liệu, việc bạn kết nối mẩu thơng tin thơng qua XPath q vàng Kết luận Giống loại đặc tả, XPath chẳng có giá trị trừ bạn biết dùng dùng XPath làm nhiều thứ, bạn thực thích thấy tiện lợi dùng cách đắn Bạn phải dùng thích hợp đừng dùng khơng phải cơng cụ tốt Vậy XPath lý tưởng nào? XPath công cụ tốt bạn muốn tìm thơng tin đặc biệt tài liệu XML Khơng có cơng cụ nhanh bằng, nhạy cảm hữu dụng XPath bạn muốn tìm liệu liên quan đến phần tử, thuộc tính, liệu nguyên bản, XPath làm đơn giản việc lọc thành phần thuộc tính mà bạn khơng mong muốn XPath lý tưởng bạn nắm vững cấu trúc tài liệu XML Có khác lớn hiệu XPath /descendant-or-self::*[contains(., 'Fred')] XPath //ACTOR[NAME[contains(., 'Fred')]] XPath tệ khơng thể đốn trước tốc độ xử lý ta đánh giá Còn XPath thứ hai chứng tỏ hiểu cặn kẽ cấu trúc tài liệu nguồn xử lý đánh giá cách dễ dàng XPath không lý tưởng nào? XPath đạt giá trị bạn kết nối tìm kiếm theo dạng SQLlike, ta thảo luận , phần cuối viết Việc liên kết có thể, chẳng có sai cả, xong bạn đạt đến mức tinh tế việc sử dụng XPath, bạn lại thích khảo sát XQuery XQuery xây dựng XPath phép bạn đặt hàng (ordering), chí định nghĩa lại tiêu chuẩn lựa chọn, xử lý giá trị trả trọn vẹn XPath làm XPath chuyển đổi xử lý đặc tả Nó khơng thân thiện với việc phối hợp văn bản, chèn liệu chuỗi ký tự, thêm vào nút giá trị, hay thứ ngồi việc lựa chọn XSLT xây dựng XPath, XQuery làm số định dạng cho bạn Ngồi ra, bạn cịn sử dụng Java or C# (hoặc ngôn ngữ lập trình đó) API đưa vào kết XPath xử lý chúng ngơn ngữ lập trình Hãy xem viết tương lai IBM developerWorks để biết thêm điều Tôi nên tiếp tục đâu? Điều tốt mà bạn làm sử dụng XPath ứng dụng tức Tốt làm khoảng 30 đến 40 ví dụ tệp làm thêm cho kịch Shakespeare Khơng có hiệu việc thử XPath tài liệu mình, bạn biết tài liệu chứa đó, bạn thấy hài lịng khó khăn việc tìm đến nút muốn bạn lập trình Bạn nên xem qua ứng dụng có xem họ đặt XPath phù hợp với ứng dụng đâu Tìm kiếm hội để sử dụng bạn học viết thứ hai Khi bạn nắm XPath tầm tay, làm theo hai cách (hoặc hai) sau: Học cách sử dụng XPath với ngôn ngữ lập trình mà bạn u thích: Những báo IBM developerWorks việc sử dụng XPath Java, XQuery Java Đây nơi tốt để bạn củng cố thêm kiến thức XPath biết cách kết hợp vào mơi trường lập trình Học XQuery và/hoặc XSLT: Cả hai công cụ đặc tả XML xây dựng XPath cho bạn nhiều khả Bạn vừa củng cố thêm kiến thức XML, vừa học thêm thủ thuật hay Dù làm nữa, thử đưa XPath vào ứng dụng Bạn quen thuộc với khái niệm vị ngữ, trục, biết XPath thực làm Và hi vọng rằng, ứng dụng bạn cải tiến mềm dẻo hơn, rằng, XML dạng tài liệu sử dụng nhiều ... việc với XPath Để phục vụ cho viết bạn cần có tài liệu XML minh họa ngắn gọn (tầm khoảng 50 dòng) tài liệu có số phần tử thuộc tính mang giá trị liệu Ví dụ hiển thị phần tài liệu XML sử dụng, tài. .. hợp nút Trong trường hợp có nút phù hợp với tài liệu nguồn Hình Các vị từ kết hợp phần tử đường dẫn thuộc tính XPaths làm cho nản chí chút đặt biệt mà vị từ dài biểu thức XPath Tuy nhiên bạn thực... thận — áp dụng tốn tử vị trí tập phần tử rỗng Thử với ví dụ XPath /root cho tài liệu ví dụ Kết bạn thu tập rỗng phần tử gốc có tên project tên root Nếu bạn áp dụng vị từ định vị bạn áp dụng số

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