Theo định nghĩa:Thuộc tính noNamespaceSchemaLocation có thuộc tính nào trên phân tích cú pháp XML?
Thuộc tính noNamespaceSchemaLocation tham chiếu tài liệu Lược đồ XML không có vùng tên đích.
Thuộc tính này sẽ thay đổi kết quả phân tích cú pháp như thế nào?
Ví dụ, hãy XML này:
<?xml version="1.0"?>
<name
xmlns="http://www.example.com/name"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com/name schema/schema.xsd"
title="Mr.">
<first>John</first>
<middle>M</middle>
<last>Doe</last>
</name>
đề cập đến schema này:
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:target="http://www.example.com/name"
targetNamespace="http://www.example.com/name" elementFormDefault="qualified">
<element name="name">
<complexType>
<sequence>
<element name="first" type="string"/>
<element name="middle" type="string"/>
<element name="last" type="string"/>
</sequence>
<attribute name="title" type="string"/>
</complexType>
</element>
</schema>
Tôi đã gỡ bỏ những khai báo namespace từ sơ đồ:
xmlns:target="http://www.example.com/name"
targetNamespace="http://www.example.com/name"
mà không hề sử dụng noNamespaceSchemaLocation thuộc tính trong XML tham chiếu, không có lỗi nào được ném ra. Tại sao chúng ta thậm chí cần thuộc tính này ngay từ đầu?
Cảm ơn bạn đã trả lời Michael. Tôi cho rằng câu hỏi của tôi nên là "Thuộc tính noNamespaceSchemaLocation có hiệu lực gì đối với xác thực * * *?". Nếu một phần tài liệu của tôi không có không gian tên, bạn có nghĩa đó là thời gian hiệu ứng noNamespaceSchemaLocation sẽ khởi động và khắc phục sự chồng chéo 'không có không gian tên' của dữ liệu và lược đồ? – Jops
Thuộc tính cho bộ xử lý lược đồ biết nơi tìm kiếm một lược đồ có thể được sử dụng để xác thực các phần tử không có không gian tên. Trong ví dụ của bạn, không có bất kỳ yếu tố nào như vậy. –
Ah, tuyệt. Cảm ơn Michael đã làm rõ. Hoàn toàn hiểu ngay bây giờ. – Jops