Я хочу страницу как это:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:m="mine.xsd">
<m:dialog m:title="Hello">Hi there!</m:dialog>
</html>
Как я могу записать "mine.xsd"?
Вы можете написать этот XSD-файл вручную - вам просто нужно изучить, что составляет XML-схему, и узнать, как написать этот код самостоятельно. Google или Bing для "Руководства по XML-схемам" должны дать вам массу результатов (например, W3Schools XML Schema Tutorial ).
Или вы можете использовать Visual Studio для этого:
XML
выберите ] Создать схему
пункт меню Это сгенерирует схему XML из вашего файла XML.
Примечание: это хорошая отправная точка, но она ни в коем случае не идеальна. Процесс генерации не может знать многих вещей, особенно с небольшими XML-файлами, и ему просто нужно делать определенные предположения, которые могут быть правильными или ошибочными. Вам обязательно нужно взглянуть на файл схемы XML - и здесь очень удобно использовать ноу-хау первого варианта!
xsd файлы являются файлами XML-схемы, прочитайте об этом. Еще немного здесь.
Простой пример:
XMLSchema1.xsd
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Types"
targetNamespace="http://tempuri.org/"
elementFormDefault="qualified"
xmlns="http://tempuri.org/"
xmlns:mstns="http://tempuri.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:simpleType name="Types">
<xs:annotation>
<xs:documentation>.NET types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="String" />
<xs:enumeration value="Int16" />
<xs:enumeration value="Int32" />
<xs:enumeration value="Int64" />
<xs:enumeration value="DateTime" />
<xs:enumeration value="Double" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DataSize">
<xs:annotation>
<xs:documentation>Number of bytes of the data</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:int" />
</xs:simpleType>
<!-- ... -->
</xs:schema>
Тогда в XML-файле можно использовать:
<?xml version="1.0" encoding="utf-8" ?>
<ValueSet
xmlns="http://tempuri.org/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tempuri.org/ XMLSchema1.xsd">
<Values>
<Value Name="Stats" Type="Int32" DataSize="4" />
<Value Name="Time" Type="DateTime" DataSize="4" />
<Value Name="Some" Type="Double" DataSize="4" />
<Value Name="Other" Type="Double" DataSize="4" />
</Values>
</ValueSet>