วิธีมาตรฐานในการเผยแพร่สคีมา xml

สมมติว่าฉันมีสคีมา xml ซึ่งกำหนดเนมสเปซ: http://foo.com/mySchema มีวิธีมาตรฐานในการเผยแพร่สคีมาเพื่อให้อินสแตนซ์ xml ของสคีมาจะต้องกำหนดเนมสเปซเท่านั้นไม่ใช่ xsi:schemaLocation หรือไม่

ตัวอย่างเช่น หากคุณดูแผนผังไซต์ xml ของ imdb: http://www.imdb.com/sitemap_US_index.xml.gz

xml กำหนดเนมสเปซ: http://www.sitemaps.org/schemas/sitemap/0.9 โดยไม่ต้องกำหนด schemaLocation ด้วย

หากคุณเยี่ยมชม URI นี้ จะมี 2 xsds อยู่ที่นั่น: "siteindex.xsd" และ "sitemap.xsd"

คำถามของฉันคือ:

  1. นี่เป็นส่วนหนึ่งของมาตรฐาน xml หรือไม่ ตัวแยกวิเคราะห์ xml ทุกคนจะ "รู้" วิธีค้นหาสคีมาจาก URI เนมสเปซหรือไม่
  2. มีเครื่องมือ "xsd repo" แบบสแตนด์อโลนที่ช่วยให้ฉันเผยแพร่ xsds ภายใต้โดเมนของฉัน โดยไม่ต้องยุ่งยากกับการตั้งค่าเว็บเซิร์ฟเวอร์ด้วยตัวเองหรือไม่ ฉันกำลังจินตนาการถึงบางสิ่งบางอย่างด้วย RESTful API ที่ช่วยให้ฉันสามารถ PUT สคีมาใหม่, DELETE สคีมาที่มีอยู่ และแน่นอน GET สคีมาใหม่ โดยใช้เนมสเปซของพวกเขา URI

person eladidan    schedule 18.01.2015    source แหล่งที่มา


คำตอบ (1)


มาตรฐาน XML ไม่ได้กำหนดวิธีที่ชัดเจนให้คุณในฐานะผู้เผยแพร่ XSD ในการกำหนดการเชื่อมโยงระหว่าง targetNamespace ของ XSD และตำแหน่งของ XSD

ไม่มีเครื่องมือ "xsd repo" ทั่วไปที่จัดการพื้นที่เก็บข้อมูลที่รู้จักกันดีทุกประเภทที่สามารถช่วยคุณในเรื่องนี้ แน่นอนว่าในปัจจุบันนี้มีตัวเลือกมากมายที่ใช้พื้นที่จัดเก็บข้อมูลบนคลาวด์ (Google Drive, DropBox, Amazon Cloud Drive ฯลฯ) เพื่อเผยแพร่ไฟล์ใดๆ ได้อย่างง่ายดายและทำให้เข้าถึงได้แบบสาธารณะผ่าน URL

คุณตัดสินใจเองเกี่ยวกับสถานที่ที่จะเผยแพร่ XSD ของคุณ โปรดทราบว่า URL เนมสเปซไม่จำเป็นต้องเรียกกลับคืน; ไม่มีข้อกำหนดว่าจะต้องมี XSD อยู่ที่นั่น นอกจากนี้ โปรดทราบว่าการเชื่อมโยงระหว่างเนมสเปซและตำแหน่งทางกายภาพของ XSD เป็นความรับผิดชอบของผู้ใช้ ไม่ใช่ผู้เผยแพร่ XSD คุณกล่าวถึง xsi:schemaLocation ว่าเป็นกลไกหนึ่งภายใต้การควบคุมของผู้เขียนเอกสาร XML สำหรับการระบุตำแหน่ง XSD อีกรายการคือแคตตาล็อก XML

person kjhughes    schedule 18.01.2015