2012-06-13 40 views
6

Sau khi đọc MSDN-XAML NamespacesMSDN-Understanding XAML Namespaces, tôi vẫn không hiểu mục đích của việc có một Tên Điều kiện Đủ điều kiện (QName).Tên đủ điều kiện trong khai báo không gian tên

Hãy khai báo không gian tên sau đây là một ví dụ:

xmlns: x = 'http: //www.w3.org/1999/XSL/Transform'

x là tiền tố viết tắt của URI đầy đủ (trong trường hợp này là một URL): http://www.w3.org/1999/XSL/Transform. Sau đó, có QName này được gọi là xmlns. Định nghĩa cho QName trong mdsn là:

tên này hoàn chỉnh bao gồm các tiền tố là hình thức từ vựng của một tên có trình độ (QName):

gì đó có nghĩa gì và tại sao nó có kể từ câu lệnh thet đã có một bộ định vị và một tiền tố để xác định không gian tên và tên của nó được sử dụng?

Trả lời

1

Tôi nghĩ rằng đây không phải là câu hỏi XAML mà nó chỉ là một câu hỏi về không gian tên XML.

Thuộc tính xmlns (thuộc tính đặc biệt) chỉ là thuộc tính được sử dụng trong XML để xác định không gian tên. Nó nói "ở đây có một khai báo không gian tên". Nếu bạn không thêm tiền tố, thì bạn đang yêu cầu nó đặt không gian tên là giá trị của thuộc tính làm không gian tên mặc định cho trang. Nếu bạn bỏ qua hoàn toàn không gian tên mặc định sau đó được giả định là giá trị của thuộc tính (sau dấu = và giữa dấu ngoặc kép).

XAML là XML và chọn sử dụng cơ chế XML để khai báo không gian tên. Tôi đoán họ có thể đã tạo ra cơ chế riêng của họ để làm điều đó nhưng vì họ đã không, nếu bạn thêm không gian tên của bạn như bạn gợi ý trong câu hỏi của bạn, mà không có xmlns :, ứng dụng xử lý XML (khung công tác .NET trong trường hợp này , phân tích cú pháp tệp XAML) sẽ không biết bạn đang cố định nghĩa một vùng tên; nó sẽ nghĩ rằng bạn đã thêm một thuộc tính được gọi là "x" vào phần tử được xác định trong (rất có thể không phải là thuộc tính được xác định cho phần tử đó).

Để biết thêm về không gian tên XML

http://www.w3.org/TR/REC-xml/

http://www.w3schools.com/XML/xml_namespaces.asp

http://en.wikipedia.org/wiki/XML_namespace

+0

bạn có thể giải thích trong bối cảnh XAML? – KMC

+0

Xin lỗi, tôi đã có XHTML trên não như tôi đã làm rất nhiều điều đó ngày hôm qua. Tôi đã thay đổi câu trả lời để chỉ nói về XML (và XAML ở một mức độ nào đó) –

Các vấn đề liên quan