2010-07-18 3 views
9

Ich möchte eine Seite wie folgt aus:Wie erstellt und verwendet XML-Namespace?

<?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> 

Wie kann ich "mine.xsd" schreiben?

Antwort

7

xsd-Dateien sind XML-Schemadateien, read about it. Some more here.

Ein einfaches Beispiel:

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> 

dann in der XML-Datei können Sie verwenden:

<?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> 
+1

Ich möchte einige benutzerdefinierte Tags oder Attribute in XHTML-Code einbetten, ohne Syntaxfehler zu verursachen. Gibt es eine Möglichkeit, meine Tags mit Hilfe von XML-Schemas in das Element "" zu "injizieren"? – JSPDeveloper01

4

Sie schreiben selbst, dass XSD-Datei, mit der Hand - Sie müssen nur untersuchen, was das XML-Schema ausmacht, und lernen, wie Sie diesen Code selbst schreiben. Google oder Bing für "XML Schema Tutorial" sollte Ihnen eine Menge Treffer geben (z. B. die W3Schools XML Schema Tutorial).

Oder könnten Sie Visual Studio verwenden, um dies zu tun:

Example image

  • die XML-Datei öffnen Sie in Visual Studio
  • Vom XML Menü behandeln möchten, wählen Sie die Create Schema Menüpunkt

Dies generiert ein XML-Schema aus Ihrer XML-Datei.

Hinweis: Dies ist ein guter Ausgangspunkt - aber es ist keineswegs perfekt. Gerade bei kleineren XML-Dateien gibt es viele Dinge, die der Generierungsprozess nicht wissen kann und nur bestimmte Annahmen treffen muss - was richtig oder falsch sein könnte. Sie müssen sich die XML-Schemadatei mit Sicherheit ansehen - und hier kommt das Know-how der ersten Option sehr gut zum Tragen!