Một số nút trong tài liệu XML có các không gian tên, được xác định bằng tiền tố được xác định.Tại sao không có cú pháp XPath cho các nút đủ điều kiện không gian tên?
Có thể chỉ định tên địa phương() trong XPath 1.0 và do đó bỏ qua không gian tên.
Tuy nhiên, tôi muốn cho phép tác giả của XPath tìm thấy các nút bằng cách sử dụng tên đủ điều kiện không gian tên đầy đủ của họ làm số nhận dạng.
Cách được khuyến nghị là thêm các khai báo không gian tên trong mã gọi (trong trường hợp của tôi là Java). Nhưng điều này có nghĩa là người viết Xpath không có khả năng làm việc với các không gian tên!
Làm cách nào để tìm các nút theo tên hoàn toàn đủ điều kiện của chúng bằng XPath thuần túy?
Nếu tôi hiểu câu hỏi một cách chính xác, bạn sẽ hỏi tại sao cần khai báo một không gian tên bằng cách sử dụng lệnh như 'addNamespace (" abc "," http://example.com ")', sau đó cho phép thực hiện Truy vấn Xpath như '/ abc: node', thay vì bằng cách nào đó bằng cách sử dụng' http: // example.com' trực tiếp trong truy vấn. Tôi đã giải thích câu hỏi một cách chính xác chưa? –
@Jong Bor Vâng, đúng vậy. Sẽ tốt hơn nếu sử dụng tiền tố abc trực tiếp trong truy vấn XPath sau khi khai báo rằng abc = http: //example.com bằng cách nào đó trong XPath. Tôi hiểu rằng các biểu thức XPath là ngắn và sẽ không bình thường khi chèn các định nghĩa vào nó, nhưng không có gì ngăn cản kỹ thuật điều đó trong XPath. –
Câu hỏi hay về BTW, +1. Vì các tiền tố được coi là đường cú pháp không đáng kể, trong khi các URI không gian tên là quan trọng, bạn sẽ nghĩ rằng nó có thể hữu ích khi khớp trên một tên nút là URI không gian tên mà không phải gây rối với tiền tố - đặc biệt nếu XPath cung cấp không có cách nào để khai báo một tiền tố. – LarsH