Привет. Я пытаюсь сосредоточиться на XSD, XML и пространствах имен, но не могу заставить вещи работать так, как я хочу.
У меня есть XSD, который в данный момент начинается так:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.example.com">
<xs:import namespace="http://www.example.com" schemaLocation="Include.xsd" />
Как видите, он импортирует другой xsd-файл, который начинается следующим образом:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified"
targetNamespace="http://www.example.com"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.example.com">
Тогда у меня есть несколько XML-документов на основе этой схемы:
<foobar>
<whatever>....
По сути, мне все равно, что такое пространства имен, я просто хочу, чтобы эта чертова штука сработала. Раньше я не использовал никакого пространства имен, но мне кажется, что я должен использовать их, чтобы импортировать один XSD в другой. Чего я не хочу делать, так это добавлять префиксы ко всем элементам в моих XML-документах.
Чтобы достичь этого, какая комбинация значений мне нужна для различных атрибутов ( targetNamespace, namespace, xmlns, elementFormDefault и т. Д.) В документах XSD и XML?
В настоящее время любые элементы, определенные в импортированном документе XSD, требуют уточнения пространства имен в XML.