ตามข้อมูลจำเพาะสำหรับการค้นหา Schemas
อาจมีหรือไม่มีการดึงสคีมาผ่านชื่อเนมสเปซ ... ชุมชนผู้ใช้และ / หรือข้อตกลงของผู้บริโภค / ผู้ให้บริการอาจสร้างสถานการณ์ที่ [พยายามดึงข้อมูล xsd จากเนมสเปซ url] เป็นกลยุทธ์เริ่มต้นที่สมเหตุสมผล
(ขอบคุณสำหรับความชัดเจนข้อมูลจำเพาะ!)
และ
ในกรณีที่ผู้เขียนเอกสาร (มนุษย์หรือไม่) สร้างเอกสารที่มีสคีมาเฉพาะในมุมมองและรับประกันว่าเอกสารบางส่วนหรือทั้งหมดเป็นไปตามสคีมานั้นจะมีการจัดเตรียม schemaLocation และ noNamespaceSchemaLocation [แอตทริบิวต์]
ดังนั้นโดยพื้นฐานแล้วในการระบุเพียงเนมสเปซ XML ของคุณ "อาจ" ถูกพยายามตรวจสอบเทียบกับ xsd ที่ตำแหน่งนั้น (แม้ว่าจะไม่มีschemaLocation
แอตทริบิวต์ก็ตาม) ทั้งนี้ขึ้นอยู่กับ "ชุมชน" ของคุณ หากคุณระบุเฉพาะเจาะจงแสดงschemaLocation
ว่าโดยพื้นฐานแล้วเอกสาร xml "ควร" สอดคล้องกับ xsd ที่กล่าวไว้ดังนั้น "โปรดตรวจสอบความถูกต้อง" (ตามที่ฉันอ่าน) ฉันเดาว่าถ้าคุณไม่ทำ a schemaLocation
หรือnoNamespaceSchemaLocation
แอตทริบิวต์มันก็แค่ "ไม่ผ่านการตรวจสอบ" ส่วนใหญ่ (ตามคำตอบอื่น ๆ ดูเหมือนว่า java จะทำแบบนี้)
ริ้วรอยอีกประการหนึ่งคือโดยทั่วไปเมื่อมีการตรวจสอบความถูกต้อง xsd ในไลบรารี java [เช่นไฟล์ spring config xml] หากไฟล์ XML ของคุณระบุschemaLocation
URL xsd เฉพาะในไฟล์ XML เช่นxsi:schemaLocation="http://somewhere http://somewhere/something.xsd"
โดยทั่วไปภายในหนึ่งในไหการพึ่งพาของคุณจะมีสำเนาของ ไฟล์ xsd นั้นในส่วนทรัพยากรและฤดูใบไม้ผลิมีความสามารถในการ "แมป" ที่บอกว่าให้ปฏิบัติกับไฟล์ xsd นั้นราวกับว่ามันแมปกับ url http://somewhere/something.xsd
(ดังนั้นคุณจะไม่ต้องเข้าเว็บและดาวน์โหลดไฟล์ แต่มันมีอยู่ในเครื่องเท่านั้น) ดูhttps://stackoverflow.com/a/41225329/32453สำหรับข้อมูลเพิ่มเติมเล็กน้อย