2012-02-27 29 views
14

Tôi hoàn toàn mới đối với Lược đồ XML và đang cố gắng gỡ bỏ các khái niệm cơ bản. Đây là mã lược đồ xml của tôi (tên tệp: example1.xsd):lỗi xác thực lược đồ xml "tiền tố không bị ràng buộc"

<?xml version="1.0"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:sample="http://www.example" 
targetNamespace="http://www.example.com" 
elementFormDefault="qualified"> 

<xs:element name="school"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element name="element1" type="xs:string"/> 
     <xs:element name="element2" type="xs:string"/> 
     <xs:element name="element3" type="xs:string"/> 
     <xs:element name="element4" type="xs:string"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 

</xs:schema> 

Đây là tài liệu XML.

<?xml version="1.0" encoding="UTF-8"?> 

<sample:school xmlns="http://www.example.com" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="./example1.xsd"> 

     <element1>hello</element1> 
     <element2>hello</element2> 
     <element3>hello</element3> 
     <element4>hello</element4> 

</sample:school> 

Khi cố gắng để xác nhận các tập tin xml, tôi nhận được một lỗi từ netbeans nói rằng: Tiền tố "mẫu" cho các phần tử "mẫu: trường" không bị ràng buộc. [9]

Trả lời

16

Trong XML của bạn, bạn có cần phải:

Một. Hủy bỏ các tiền tố sample: từ sample:school

hoặc

B. Thay đổi xmlns="http://www.example.com" để xmlns:sample="http://www.example.com" và thêm tiền tố sample: với phần còn lại của các yếu tố (<sample:element1>, <sample:element2>, vv)

10

Khi bạn nhận được một lỗi như thế này, cách đơn giản nhất là thêm việc kê khai tiền tố; trong trường hợp của bạn, theo lược đồ, chỉ cần thêm vào phần tử gốc của bạn thuộc tính sau:

xmlns:sample="http://www.example.com" 

Ngoài ra, điều này khá liên quan với XML namespaces.

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