Podczas pracy nad przyszłymi elementami Desktop Info doszedłem do momentu, w którym przydało by się mieć schemat pliku xml czyli xsd. O ile w moim przypadku stworzenie takiego schematu nie powinno nastręczać problemu (plik jest bardzo prosty) dla kogoś kto płynnie włada xsd-ami to mi niestety by zajęło trochę czasu, żeby poprzypominać sobie konstrukcję. Wprawdzie Visual Studio bardzo przyjemnie umila ten proces przez podpowiadanie składni i kolejnych elementów to jednak istnieje szybsza metoda.
Mając otwarty przykładowy plik xml, w menu znajdziemy pozycję Create Schema. To narzędzie generuje nam plik xsd. Teraz co pozostaje to tylko doprowadzenie xsd do takiego stanu jaki nas interesuje.
<?xml version=„1.0„ encoding=„utf-8„?>
<xs:schema attributeFormDefault=„unqualified„ elementFormDefault=„qualified„ xmlns:xs=„http://www.w3.org/2001/XMLSchema„>
<xs:element name=„InputControls„>
<xs:complexType>
<xs:sequence>
<xs:element name=„TextBox„>
<xs:complexType>
<xs:attribute name=„id„ type=„xs:string„ use=„required„ />
<xs:attribute name=„exampleValue„ type=„xs:string„ use=„required„ />
<xs:attribute name=„exampleTooltip„ type=„xs:string„ use=„required„ />
</xs:complexType>
</xs:element>
<xs:element name=„ComboBox„>
<xs:complexType>
<xs:attribute name=„id„ type=„xs:string„ use=„required„ />
<xs:attribute name=„exampleValue„ type=„xs:string„ use=„required„ />
<xs:attribute name=„exampleTooltip„ type=„xs:string„ use=„required„ />
</xs:complexType>
</xs:element>
<xs:element name=„Label„>
<xs:complexType>
<xs:attribute name=„id„ type=„xs:string„ use=„required„ />
<xs:attribute name=„value„ type=„xs:string„ use=„required„ />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Mając coś takiego jak powyżej, mamy już z górki (w większości przypadków) 🙂