我是 XML 和 XSD 創建的新手。我正處于嘗試形成驗證模式的非常基本的階段。但是,我花了很多時間在這上面轉了一圈。如果有人可以查看并請讓我更好地了解代碼發生了什么?據說根報告沒有全域宣告。
錯誤代碼讀取為
Cvc-elt.1.a:找不到元素“xs:reports”的宣告。“1”行,“134”列。
<?xml version="1.0" encoding="UTF-8"?>
<xs:reports xmlns:xs="https://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="user.xsd">
user(
userID SERIAL,
username varchar(255),
password varchar(255),
firstname varchar(255),
middlename varchar(255),
lastname varchar(255),
email varchar(255),
dob date,
gender varchar(10)
profile_photo bytea,
home_phone varchar(50),
cell_phone varchar(50),
created_date timestamp default current_timestamp
);
</xs:reports>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="reports">
<xs:complexType>
<xs:sequence>
<xs:element name="user">
<xs:complexType>
<xs:sequence>
<xs:element name="userID" type="xs:string"/>
<xs:element name="username" type="xs:string"/>
<xs:element name="password" type="xs:string"/>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="middlename" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="email" type="xs:string"/>
<xs:element name="dob" type="xs:date"/>
<xs:element name="gender" type="xs:string"/>
<xs:element name="profile_photo" type="xs:string"/>
<xs:element name="cell_phone" type="xs:string"/>
<xs:element name="created_date" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
uj5u.com熱心網友回復:
要糾正未能將 XML 與 XSD 關聯的直接錯誤,請閱讀如何使用 schemaLocation 或 noNamespaceSchemaLocation 將 XML 鏈接到 XSD?
然后,在撰寫 XML 時實際遵循 XSD:
<reports>
<user>
<userID>123</userID>
<username>John Smith</username>
...
</user>
</reports>
還有一個問題,為什么 XSD 會user是 的子代reports,但作為第一步,您可以讓現有的 XSD 與新的 XML 一起作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/373586.html
