Cara standar untuk menerbitkan skema xml

Katakanlah saya memiliki skema xml, yang mendefinisikan namespace: http://foo.com/mySchema. Apakah ada cara standar untuk mempublikasikan skema sehingga contoh skema xml hanya perlu mendefinisikan namespace dan bukan xsi:schemaLocation?

Misalnya, jika Anda melihat peta situs imdb xml: http://www.imdb.com/sitemap_US_index.xml.gz

Xml mendefinisikan namespace: http://www.sitemaps.org/schemas/sitemap/0.9 tanpa juga mendefinisikan skemaLokasi.

Jika Anda mengunjungi URI ini, ada 2 xsds di sana: "siteindex.xsd" dan "sitemap.xsd"

Pertanyaan saya adalah:

  1. Apakah ini bagian dari standar xml? Akankah setiap parser xml "tahu" cara menemukan skema dari URI namespace?
  2. Apakah ada alat "xsd repo" mandiri yang membantu saya mempublikasikan xsds di bawah domain saya, tanpa perlu repot menyiapkan server web sendiri. Saya membayangkan sesuatu dengan semacam RESTful API yang memungkinkan saya membuat PUT skema baru, DELETE skema yang sudah ada, dan tentu saja GET skema baru, menggunakan namespacenya URI

person eladidan    schedule 18.01.2015    source sumber


Jawaban (1)


Standar XML tidak memberi Anda sebagai penerbit XSD cara pasti untuk menentukan pengikatan antara targetNamespace XSD dan lokasi XSD.

Tidak ada alat "xsd repo" umum yang mengelola repositori terkenal apa pun yang dapat membantu Anda dalam hal ini. Tentu saja ada banyak pilihan saat ini menggunakan fasilitas penyimpanan berbasis cloud (Google Drive, DropBox, Amazon Cloud Drive, dll) untuk mempublikasikan file apa pun dengan mudah dan membuatnya tersedia untuk umum melalui URL.

Anda sendirian mengenai di mana mempublikasikan XSD Anda. Perlu diingat bahwa URL namespace tidak harus dapat diambil; tidak ada persyaratan bahwa XSD ada di sana. Perlu diingat juga bahwa pengikatan antara namespace dan lokasi fisik XSD adalah tanggung jawab pengguna, bukan penerbit XSD. Anda menyebutkan xsi:schemaLocation sebagai salah satu mekanisme di bawah kendali pembuat dokumen XML untuk menentukan lokasi XSD; lainnya adalah Katalog XML.

person kjhughes    schedule 18.01.2015