
TIÊU CHUẨN QUỐC GIA
TCVN 11523-2:2016
ISO/IEC 24752-2:2014
CÔNG NGHỆ THÔNG TIN - GIAO DIỆN NGƯỜI SỬ DỤNG - BỘ ĐIỀU KHIỂN TỪ XA PHỔ DỤNG –
PHẦN 2: MÔ TẢ SOCKET GIAO DIỆN NGƯỜI SỬ DỤNG
Information technology User interfaces - Universal remote console - Part 2: User interface socket
description
Lời nói đầu
TCVN 11523-2:2016 hoàn toàn tương đương với ISO/IEC 24752-2:2014
TCVN 11523-2:2016 do Tiểu Ban kỹ thuật tiêu chuẩn quốc gia TCVN/JTC 1/SC 35 Giao diện người sử
dụng biên soạn, Tổng cục Tiêu chuẩn Đo lường Chất lượng đề nghị, Bộ Khoa học và Công nghệ công
bố.
Bộ tiêu chuẩn TCVN 11523 Công nghệ thông tin - Giao diện người sử dụng - Bộ điều khiển từ xa phổ
dụng gồm sáu phần:
- TCVN 11523-1:2016 (ISO/IEC 24752-1:2014), Phần 1: Khung tổng quát chung
- TCVN 11523-2:2016 (ISO/IEC 24752-2:2014), Phần 2: Mô tả socket giao diện người sử dụng
- TCVN 11523-3:2016, Phần 3: Khuôn mẫu trình bày
- TCVN 11523-4:2016 (ISO/IEC 24752-4:2014), Phần 4: Mô tả đích
-TCVN 11523-5:2016 (ISO/IEC 24752-5:2014), Phần 5: Mô tả tài nguyên
- TCVN 11523-6:2016 (ISO/IEC 24752-6:2014), Phần 6: Tích hợp dịch vụ web
CÔNG NGHỆ THÔNG TIN - GIAO DIỆN NGƯỜI SỬ DỤNG - BỘ ĐIỀU KHIỂN TỪ XA PHỔ DỤNG –
PHẦN 2: MÔ TẢ SOCKET GIAO DIỆN NGƯỜI SỬ DỤNG
Information technology User interfaces - Universal remote console - Part 2: User interface
socket description
1 Phạm vi áp dụng
Bộ tiêu chuẩn này hỗ trợ việc vận hành các sản phẩm thông tin và điện tử thông qua các giao diện từ
xa, thay thế và các tác nhân thông minh.
Socket giao diện người sử dụng là một giao diện người sử dụng trừu tượng mô tả chức năng và trạng
thái của thiết bị hoặc dịch vụ (đích) theo cách máy có thể hiểu được mà độc lập với việc trình diễn và
các khả năng nhập của thiết bị tương tác người sử dụng. Tiêu chuẩn này xác định ngôn ngữ dựa trên
Ngôn ngữ đánh dấu mở rộng (XML) để mô tả socket giao diện người sử dụng. Mục đích của socket
giao diện người sử dụng là tiết lộ thông tin liên quan đến đích sao cho người sử dụng có thể hiểu được
trạng thái của nó và điều hành nó. Socket giao diện người sử dụng bao gồm dữ liệu đưa ra cho người
sử dụng, các biến được người dùng sử dụng, các lệnh mà người sử dụng có thể kích hoạt và các
ngoại lệ mà người sử dụng được thông báo. Đặc tả socket giao diện người sử dụng thích hợp với việc
xây dựng và thích nghi của các giao diện người sử dụng.
2 Sự phù hợp
Tệp XML phù hợp với tiêu chuẩn này (là mô tả socket giao diện người sử dụng) nếu thực hiện tất cả
các yêu cầu sau đây:
a) Tệp XML có kiểu MIME như đã quy định trong điều 6.1, nếu thích hợp:
b) Tệp XML được mã hóa trong UCS (xem điều 6.1);
c) Thẻ gốc của nó là thẻ <uis:uiSocket> (với uis biểu diễn vùng tên “http://
openurc.org/ns/uisocketdesc-2”),. như đã quy định trong Điều 6;
d) Tệp XML chứa tất cả các thẻ và thuộc tính yêu cầu với các giá trị riêng, như đã quy định trong Điều
6;

e) Nếu tệp XML chứa các thẻ hoặc thuộc tính được khuyến cáo hoặc tùy chọn với các giá trị của chúng
thì sẽ được trình bày như đã quy định trong Điều 6.
CHÚ THÍCH 1 Sự phù hợp chặt chẽ về ngôn ngữ (không có các thẻ hoặc thuộc tính bổ sung nào được
phép) không được yêu cầu bởi vì các phiên bản tương lai của tiêu chuẩn này có thể thêm vào các thẻ,
các thuộc tính hoặc các giá trị mới. Do đó, các nhà sản xuất URC được khuyến khích cài đặt các URC
của họ sao cho việc đánh dấu sẽ được bỏ qua mà không gây ra lỗi
CHÚ THÍCH 2 Các nhà sản xuất đích mong muốn thêm vào thông tin về nhà sản xuất cho mô tả socket
ngoại trừ các thẻ, các thuộc tính và các giá trị quy định trong tiêu chuẩn này, điều này có thể thực hiện
bằng cách cung cấp bên ngoài các mô tả tài nguyên hướng vào cấu trúc của mô tả socket. Để biết
thêm chi tiết tham khảo TCVN 11523-5 (ISO/IEC 24752-5).
3 Tài liệu viện dẫn
Các tài liệu viện dẫn sau là rất cần thiết cho việc áp dụng tiêu chuẩn. Đối với các tài liệu viện dẫn ghi
năm công bố thì áp dụng bản được nêu. Đối với các tài liệu viện dẫn không ghi năm công bố thì áp
dụng phiên bản mới nhất, bao gồm cả các sửa đổi.
TCVN 11523-1 (ISO/IEC 24752-1) Công nghệ thông tin - Giao diện người sử dụng - Bộ điều khiển từ
xa phổ dụng - Phần 1: Khung tổng quát
TCVN 11523-4 (ISO/IEC 24752-4) Công nghệ thông tin - Giao diện người sử dụng - Bộ điều khiển từ
xa phổ dụng - Phần 4: Mô tả đích
TCVN 7980:2015 (ISO 15836:2009) Thông tin tư liệu - Bộ yếu tố siêu dữ liệu Dublin Core
ISO/IEC 10646:20111 Information technology - Universal coded character set (Công nghệ thông tin - Bộ
ký tự mã hóa chung)
ISO/IEC 14977:1996, Information technology - Syntactic metalanguage - Extended BNF (Công nghệ
thông tin - Siêu ngôn ngữ cú pháp)
W3C Recommendation: XML Path Language (XPath) 2.0 (Second Edition), W3C Recommendation 14
December 2010 (Link errors corrected 3 January 2011) (Khuyến cáo W3C: Ngôn ngữ đường truyền
XML 2.0 (Xuất bản lần 2), Khuyến cáo W3C ngày 14 tháng 10 năm 2010 (các lỗi đã hiệu chỉnh ngày 3
tháng 1 năm 2011))2
W3C Recommendation: XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition), W3C
Recommendation 14 December 2010 (Khuyến cáo W3C: XQuery 1.0 và Xpath 2.0 Chức năng và toán
tử (xuất bản lần 2), Khuyến cáo W3C ngày 14 tháng 10 năm 20103)
W3C Recommendation: XML Schema Part 1: Structures Second Edition, W3C Recommendation 28
October 2004) (Khuyến cáo W3C: Lược đồ XML Phần 1: Các cấu trúc xuất bản lần 2, Khuyến cáo
W3C ngày 28 tháng 10 năm 20044)
W3C Recommendation: XML Schema Part 2: Datatypes Second Edition, W3C Recommendation 28
October 2004 (Khuyến cáo W3C: Lược đồ XML Phần 2: Các kiểu dữ liệu xuất bản lần 2, Khuyến cáo
W3C ngày 28 tháng 10 năm 20045)
4 Thuật ngữ và định nghĩa
Tiêu chuẩn này áp dụng các thuật ngữ và định nghĩa trong TCVN 11523-1 (ISO/IEC 24752-1) và TCVN
11523-4 (ISO/IEC 24752-4) và áp dụng thuật ngữ và định nghĩa sau đây
4.1
Thẻ ngữ cảnh (context element)
Thẻ có phần phụ thuộc gắn liền với nó.
5 Liên quan đến các tiêu chuẩn khác
5.1 Liên quan đến XML
Đặc tả này xác định ngôn ngữ dựa trên Ngôn ngữ đánh dấu mở rộng (XML). Đánh dấu trong XML có
phân biệt chữ hoa, chữ thường.
Các tên thẻ, các tên thuộc tính và các giá trị không thể định vị được, tức là chúng đồng nhất với tất cả
các ngôn ngữ quốc tế. Tuy nhiên, nội dung văn bản giữa các thẻ có thể là ngôn ngữ cụ thể. Với tất cả
các ngôn ngữ dựa vào XML, các ký tự khoảng trắng bao quanh các thẻ là không có nghĩa.

Đặc tả này tận dụng khái niệm vùng tên XML để kích hoạt việc nhập các tên thẻ hoặc thuộc tính đã xác
định ở nơi khác.
Tất cả các tên của thẻ hoặc thuộc tính sử dụng trong tiêu chuẩn này mà không có tiền tố vùng tên
được xác định bởi bộ tiêu chuẩn này và là một phần của vùng tên với tham chiếu URI
http://openurc.org/ns/uisocketdesc-2. Nếu không được xác định như vùng tên mặc định thì nên sử
dụng định danh vùng tên ‘uis’.
Trong tiêu chuẩn này, các tiền tố vùng tên sau đây và các định danh vùng tên tương ứng được sử
dụng để tham chiếu các vùng tên nước ngoài:
- dc: Vùng tên của bộ phần tử siêu dữ liệu Dublin Core (http://purl.org/dc/elements/1.1/) (Bộ phần tử
xác định trong TCVN 7980 (ISO 15836));
- dcterms: Vùng tên về các thuật ngữ siêu dữ liệu DCMI (http://purl.oro/dc/terms);
- xsd: Vùng tên về lược đồ XML (http://www.w3.org/2001/XMLSchema):
- xsi: Vùng tên về đối tượng lược đồ XML (http://www.w3.org/2001/XMLSchema-instance).
Đối với định nghĩa lược đồ XML cho mô tả socket giao diện người sử dụng, xem Phụ lục A.
5.2 Biểu thức XPath
5.2.1 Khái quát
Đặc tả này sử dụng ngôn ngữ đường truyền (XPath) phiên bản 2.0 để ghi địa chỉ các thẻ trong socket.
Cụ thể, Xpath được sử dụng trong việc mô tả các phụ thuộc giữa các thẻ của socket.
Cú pháp XPath 2.0 được sử dụng không tương thích Xpath 1.0.
5.2.2 Sử dụng cú pháp và các ngữ nghĩa của XPath 2.0
Bộ tiêu chuẩn này sử dụng cú pháp và các ngữ nghĩa của XPath 2.0 với các bổ sung và các loại bỏ
sau đây:
a) Các biểu thức XPath phải được sử dụng trong UCS.
b) Ngữ cảnh biểu thức tĩnh (xem điều 2.1.1 trong XPath 2.0) phải được khởi tạo với các thành phần
sau đây:
1) “Chế độ tương thích với XPath 1.0” là false.
2) “Các vùng tên đã biết tĩnh” là các khai báo vùng tên nằm trong phạm vi đối với thẻ XML chứa biểu
thức XPath.
3) “Vùng tên của kiểu/thẻ mặc định” phải là vùng tên rỗng (liên quan đến các kiểu được xác định trong
mô tả socket, xem Điều 11).
4) “Vùng tên chức năng mặc định” phải là vùng tên chức năng chuẩn của XPath 2.0:
http://www.w3.org/2005/xpath-functions.
5) “Các định nghĩa lược đồ trong phạm vi” chỉ chứa “các kiểu lược đồ trong phạm vi” với nội dung sau
đây: Tất cả các kiểu vùng tên http://www.w3.org/2001/XMLSchema, như đã xác định trong điều 2.5.1
của XPath 2.0; và các kiểu cục bộ xác định trong phần <xsd:schema> của mô tả socket (xem Điều 11).
CHÚ THÍCH XPath 2.0 thêm vào các kiểu xác định trước sau đây cho các kiểu xác định trước của Định
nghĩa lược đồ XML Phần 2: sd:untyped, xsd:untypedAtomic, xsd:anyAtomicType,
xsd:dayTimeDuration, xsd:yearMonthDuration.
6 “Các biến trong phạm vi” là trống.
7 “Các chữ ký chức năng” phải là các chức năng của vùng tên http://www.w3.org/2005/ xpath-
functions, như đã xác định trong Xquery 1.0 và XPath 2.0 Các chức năng và các toán tử với các loại bỏ
như đã quy định trong điều 5.2.4; các chức năng xây dựng cho tất cả kiểu nguyên tử trong “các định
nghĩa lược đồ trong phạm vi”; và các chức năng bổ sung xác định trong 5.2.5.
CHÚ THÍCH Các thành phần sau đây của ngữ cảnh biểu thức tĩnh XPath 2.0 không được sử dụng
trong tiêu chuẩn này: “kiểu tĩnh mục ngữ cảnh”, “các đối chiếu đã biết tĩnh”, “các đối chiếu mặc định”,
“URI cơ sở”, “các tài liệu đã biết tĩnh”; và các chức năng bổ sung xác định trong điều 5.2.5.
c) Ngữ cảnh biểu thức động (xem điều 2.1.2 trong Xpath 2.0) phải được khởi tạo với các thành phần

sau đây:
1) “Mục ngữ cảnh” phải là tập hoặc thẻ socket mà biểu thức Xpath được quy định là độc lập.
2) “Các giá trị biến” là trống.
3) “Các cài đặt chức năng” phải bao gồm việc cài đặt các chức năng của vùng tên
http://www.w3.org/2005/xpath-functions, như đã xác định trong Xquery 1.0 và XPath 2.0 Các chức
năng và các toán tử; các chức năng xây dựng đối với tất cả các kiểu nguyên tử trong “các định nghĩa
lược đồ trong phạm vi”; và các chức năng bổ sung xác định trong điều 5.2.5.
4) “dateTime hiện tại” phải là thời gian hiện tại với múi giờ địa phương của URC, biểu diễn như giá trị
của kiểu xsd:dateTime.
5) “múi giờ ngầm định” phải là múi giờ địa phương của URC.
CHÚ THÍCH Các thành phần sau đây của ngữ cảnh biểu thức động Xpath 2.0 không được sử dụng
trong tiêu chuẩn này: “mục ngữ cảnh”, “vị trí ngữ cảnh”, “kích cỡ ngữ cảnh”, “các tài liệu sẵn có”, “các
tập hợp sẵn có”, “tập hợp mặc định”.
d) Không có mô hình dữ liệu (đối tượng XDM). Các biểu thức và chức năng mà liên quan đến đối
tượng mô hình dữ liệu không được sử dụng trong các mô tả socket. Biểu thức mục ngữ cảnh (xem
điều 3.1.4 trong Xpath 2.0) không được sử dụng. Các biểu thức đường truyền (xem điều 3.2 trong
Xpath 2.0) không được sử dụng. Các thao tác tại nút như là so sánh nút (xem điều 3.5.3 trong Xpath
2.0) và các toán tử phép hợp, phép nhân logic và loại trừ
e) Việc đánh giá các biểu thức logic (AND/OR) phải chặt chẽ từ trái qua phải và không được đánh giá
toán hạng phải nếu kết quả được xác định bởi toán hạng trái. Tức là, với biểu thức có dạng “A và B”,
thì B không được đánh giá nếu A sai và trong trường hợp “A hoặc B” thì B không được đánh giá nếu A
sai. Ngoài ra, Các thao tác boolean phải thừa nhận giá trị “không xác định” (xem điều 5.2.3).
f) Cài đặt Xpath 2.0 phải dựa trên XML 1.0 và các vùng tên trong XML.
g) Cài đặt Xpath 2.0 có thể hỗ trợ trục vùng tên.
5.2.3 Giá trị không xác định
Bộ tiêu chuẩn này thêm vào giá trị “không xác định” như một giá trị đặc biệt cho tất cả các kiểu từ
Xpath 2.0 (xem điều 5.2.2) và các kiểu xác định (xem Điều 11).
Nếu mọi phần của biểu thức Xpath là không xác định thì toàn bộ biểu thức phải không xác định. Quy
tắc này không được áp dụng nếu kết quả của biểu thức được xác định mà không đánh giá mọi phần
không xác định của nó, dựa trên logic đánh giá.
VÍ DỤ Biểu thức sau đây sẽ không bao giờ đánh giá một kết quả không xác định. Nó cho kết quả đúng
nếu thẻ với id ‘myvar’ là sẵn có và có giá trị 4, nếu không thì nó cho kết quả sai.
uis:hasDefinedValue(‘myvar’) and uis:value(‘myvar’) eq 4
CHÚ THÍCH Các cài đặt có thể khác nhau miễn sao kết quả được đảm bảo. Ví dụ, sự loại trừ lỗi có thể
tăng để báo hiệu rằng biểu thức Xpath cho kết quả là “không xác định”.
5.2.4 Các chức năng XPath
Các chức năng Xpath sau đây có thể được sử dụng:
- Các chức năng của vùng tên http://www.w3.org/2005/xpath-functions như đã xác định trong các chức
năng và toán tử của Xquery 1.0 và Xpath 2.0
- Các chức năng của nhà xây dựng cho tất cả các kiểu nguyên từ trong “các định nghĩa lược đồ trong
phạm vi”
Với các loại trừ sau đây:
- Chức năng string [] chỉ được sử dụng với một đối số.
- Chức năng resolve-uri () không được sử dụng.
- Các chức năng liên quan đến Qname (Điều 11 của các chức năng và toán tử của Xquery 1.0 và xpath
2.0), các toán tử trên ký pháp (Điều 13) và các chức năng và toán tử trên các nút (Điều 14) không
được sử dụng.

- Các chức năng ngữ cảnh sau đây (Điều 13 của các chức năng và toán tử của Xquery 1.0 và Xpath
2.0) không được sử dụng: vị trí, lần cuối, sự đối chiếu mặc định, uri cơ sở tĩnh.
Xpath 2.0 quy định các quy tắc chuyển đổi ngầm định giữa các kiểu áp dụng.
5.2.5 Các chức năng thêm vào
5.2.5.1 Khái quát
Bộ tiêu chuẩn này xác định các chức năng thêm vào sau đây được sử dụng trong việc thể hiện các phụ
thuộc socket.
CHÚ THÍCH Các chức năng này được xác định trong vùng tên http://openurc.org/ns/uisocketdesc-2.
Tiền tố vùng tên cho vùng tên này (ví dụ: “uis”) cần được khai báo trên một trong các thẻ XML chứa
biểu thức Xpath. Chú ý rằng tiền tố vùng tên cho “http://openurc.org/ns/uisocketdesc-2” phải luôn được
sử dụng cho các chức năng này vì vùng tên chức năng mặc định là “http://www.w3.org/2005/xpath-
functions” (vùng tên chức năng Xpath 2.0). Sử dụng thuộc tính “xmlns” để khai báo vùng tên XML mặc
định không thay đổi vùng tên chức năng mặc định.
5.2.5.2 xsd:anyType uis:value (đường truyền String)
Đây là chức năng mà lấy đối số đường truyền của biến, lệnh, thông báo socket hoặc thành phần có chỉ
số của nó và trả về giá trị hiện thời của biến, lệnh hoặc thông báo (thành phần) đó.
CHÚ THÍCH Kiểu giá trị trả về của chức năng uis:value [] giống với kiểu thẻ socket tham chiếu tới bởi
đổi số ‘đường truyền’. Chú ý rằng, mặc dù kiểu trả về tĩnh là xsd:anyType nhưng kiểu giá trị trả về động
luôn là giá trị cụ thể hơn (dẫn xuất từ kiểu tĩnh); nó có thể được truy vấn bởi toán tử boolean ‘đối tượng
của’.
Cú pháp sau đây được xác định cho đường truyền (trong ký pháp BNF mở rộng, xem ISO/IEC 14977)
— path = absolutePath | relativePath | shortcutPath;
— absolutePath = “/” , { setPath , “/” } elementPath;
— relativePath = ( “./” | ( “../” , { “../” } ) ) , { setPath, “/” } elementPath;
— shortcutPath = elementPath;
— setPath = setId , { “[“ , setIndex “]” };
— elementPath = normalElementPath | basicCommandPath | timedCommandPath | notifyPath;
— normalElementPath = elementId , { “[“ , elementIndex , “]” };
— basicCommandPath = elementId , { “[“ , elementIndex, “]” };
— timedCommandPath = elementId, { “[“, elementIndex , “]” }, [ “[ttc]”];
— notifyPath = elementld, {“[“, elementIndex, “]”} [ “[ttc]” ];
Đường truyền phải là đường truyền tuyệt đối, đường truyền tương đối hoặc đường truyền tắt.
Đường truyền tuyệt đối phải là một danh mục phân chia bằng dấu gạch chéo của các id của tập và id
của thẻ, đi trên đường truyền từ thẻ gốc <uiSocket> (xem điều 6.1) xuống thẻ socket, với các chỉ số
trong các dấu ngoặc vuông bất cứ khi nào một tập hoặc thẻ có các thứ nguyên. Đường truyền tuyệt đối
phải bắt đầu với ký tự gạch chéo (“/”) thay thế cho thẻ gốc.
Đường truyền tương đối phải có mục ngữ cảnh (nút) như là thẻ hoặc tập socket xác định phần phụ
thuộc. Các đường truyền bắt đầu với “./” có mục ngữ cảnh như điểm bắt đầu cho đường truyền tiếp
theo. Các đường truyền bắt đầu với “./” tham chiếu đến <set> cha của mục ngữ cảnh như đoạn đầu
tiên trong đường truyền. Mỗi “./” tiếp theo trong đường truyền tham chiếu đến nút <set> cha kế tiếp về
phía gốc. Không có chỉ mục nào được quy định cho mọi tập hoặc thẻ thứ nguyên mà được tham chiếu
bởi “./” hoặc “../”. Tại thời gian chạy, các chỉ mục thiếu (bắt đầu từ gốc) sẽ được lấy từ tập/thẻ sở hữu
phần phụ thuộc. Mặt khác được quy định trong đường truyền tương đối. Điều đó có nghĩa là các
đường truyền tương đối xảy ra trên các tập hoặc thẻ thứ nguyên đang tham chiếu các thẻ với cùng một
tập các chỉ mục hoặc tập con từ đó (tức là chúng đang tham chiếu đến cùng “slice (phiến)” của các
thành phần).
Đường truyền tắt phải bỏ qua các id của tập và chỉ sử dụng id và các chỉ số của thẻ, nếu có. Nó không
có ký tự gạch chéo ở đầu (“/”). Đường truyền tắt không được sử dụng nếu đường truyền bao gồm tập

