RegistryPackageQuery (truy vấn gói đăng ký) Mục đích:

Một phần của tài liệu NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG KINH DOANH ĐIỆN TỬ (ebXML) - PHẦN 4: QUY ĐỊNH KỸ THUẬT VỀ DỊCH VỤ ĐĂNG KÝ (ebRS) (Trang 57 - 59)

8. Dịch vụ quản lý truy vấn

8.2.9RegistryPackageQuery (truy vấn gói đăng ký) Mục đích:

Mục đích:

Để xác định một tập hợp các trường hợp gói đăng ký là kết quả của một truy vấn với siêu số liệu đăng ký đã được lựa chọn.

Quy định ebRIM

Hình 23 - Quy định ebRIM cho RegistryPackageQuery (truy vấn gói đăng ký) Định nghĩa

1. đặt RP biểu thị cho tập hợp của tất cả các trường hợp Gói đăng ký trong sổ đăng ký. Các bước dưới đây sẽ gỡ bỏ các trường hợp trong RP mà không thoả mãn các điều kiện của các bộ lọc đã được xác định;

a) nếu RP trống rỗng thì tiếp tục đến các quy tắc đã được xác định kế tiếp;

b) nếu một Bộ lọc gói đăng ký không được xác định, thì chuyển đến quy tắc đã được xác định kế tiếp; nếu không thì đặt x là một trường hợp gói đăng ký trong RP. Nếu x không thoả mãn Bộ lọc gói đăng ký thì xóa x khỏi RP. Nếu RP trống rỗng thì tiếp tục quy tắc đã được xác định kế tiếp; c) nếu một nhân tố Truy vấn đối tượng đăng ký được bao gồm trực tiếp trong nhân tố

RegistryPackageQuery (truy vấn gói đăng ký) thì sau đó xem xét mỗi Truy vấn đối tượng đăng ký như sau: để RO là tập hợp của các trường hợp RegistryObject (đối tượng đăng ký) được trả lại bởi Truy vấn đối tượng đăng ký mà được xác định trong Phần 8.2.2 và đặt PO là tập hợp con của RO mà là các thành viên của gói x. Nếu PO trống rỗng, thì xóa x khỏi RP. Nếu RP trống rỗng thì tiếp tục chuyển đến các quy tắc đã được xác định kế tiếp. Nếu một nhân tố Truy vấn mục nhập đăng ký được bao gồm trực tiếp trong nhân tố RegistryPackageQuery (truy vấn gói đăng ký) thì xem xét mỗi Truy vấn mục nhập đăng ký như sau: đặt RE là tập hợp của các trường hợp Mục nhập đăng ký được trả lại bởi Truy vấn mục nhập đăng ký đã được xác định trong Phần 8.2.3 và đặt PE là tập hợp con của RE mà là thành viên của gói x. Nếu PE trống rỗng, thì xóa x khỏi RP. Nếu RP trống rỗng thì tiếp tục chuyển đến quy tắc đã được tính đến kế tiếp;

d) đặt RP là tập hợp của các trường hợp Gói đăng ký còn lại. Đánh giả Truy vấn mục nhập đăng ký kế thừa khắp RP như đã được giải thích trong Phần 8.2.3.

2. nếu RP trống rỗng, thì xây dựng cảnh báo: kết quả RegistryPackageQuery (truy vấn gói đăng ký) trống rỗng; nói cách khác tập hợp RP là kết quả của RegistryPackageQuery (truy vấn gói đăng ký);

3. quay lại kết quả và bất kỳ các cảnh báo gia tăng nào hoặc các kiểu trừ (trong Danh sách lỗi đăng ký) trong RegistryResponse (phản hồi đăng ký).

Các ví dụ

Một khách hàng mong muốn xác định tất các các trường hợp gói trong sổ đăng ký mà bao gồm một ExtrinsicObjects (đối tượng ngoại lai) mang hóa đơn như là một thành viên của gói.

Một khách hàng mong muốn xác định tất cả các trường hợp gói trong sổ đăng ký mà không trống rỗng.

Một khách hàng mong muốn xác định tất cả các gói trong sổ đăng ký mà trống rỗng. Vì

RegistryPackageQuery (truy vấn gói đăng ký) không được cài đặt cho thao tác phủ định, vì vậy khách hàng này phải thực hiện hai đề nghị RegistryPackageQuery (truy vấn gói đăng ký) riêng biệt, một là tìm ra tất cả các gói và thứ hai là tìm ra tất cả các gói không trống rỗng và sau đó sẽ tìm ra sự khác biệt từ kết quả. Như vậy, họ có thể thực hiện nhiều Truy vấn mục nhập đăng ký phức tạp hơn và kiểm tra sự liên kết gói giữa gói và các thành viên của nó mà không tồn tại Ghi nhớ: một gói đăng ký là một trường hợp Mục nhập đăng ký bên trong mà hoàn toàn được xác định bởi những liên kết với những thành viên của nó. Vì vậy một RegistryPackageQuery (truy vấn gói đăng ký) có thể luôn luôn được xác định lại như một Truy vấn mục nhập đăng ký tương đương sử dụng các liên kết “Nguồn” và “Mục tiêu”. Tuy nhiên, truy vấn mục nhập đăng ký tương đương thường khá phức tạp khi viết.

Một phần của tài liệu NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG KINH DOANH ĐIỆN TỬ (ebXML) - PHẦN 4: QUY ĐỊNH KỸ THUẬT VỀ DỊCH VỤ ĐĂNG KÝ (ebRS) (Trang 57 - 59)