Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
XML Şema Tanımı (Xsd.exe) aracı XDR, XML ve XSD dosyalarından veya çalışma zamanı derlemesindeki sınıflardan XML şeması veya ortak dil çalışma zamanı sınıfları oluşturur.
XML Şema Tanımı aracı (Xsd.exe) genellikle aşağıdaki yolda bulunabilir:
C:\Program Files (x86)\Microsoft SDKs\Windows\{version}\bin\NETFX {version} Tools\
Sözdizimi
Aracı komut satırından çalıştırın.
xsd file.xdr [-outputdir:directory][/parameters:file.xml]
xsd file.xml [-outputdir:directory] [/parameters:file.xml]
xsd file.xsd {/classes | /dataset} [/element:element]
[/enableLinqDataSet] [/language:language]
[/namespace:namespace] [-outputdir:directory] [URI:uri]
[/parameters:file.xml]
xsd {file.dll | file.exe} [-outputdir:directory] [/type:typename [...]][/parameters:file.xml]
Tavsiye
.NET Framework araçlarının düzgün çalışması için, , Path
ve Include
ortam değişkenlerinizi Lib
doğru ayarlamanız gerekir. SDK<\version>\<Bin dizininde >bulunan SDKVars.batçalıştırarak bu ortam değişkenlerini ayarlayın. SDKVars.bat her komut kabuğunda yürütülmelidir.
Tartışma
Tartışma | Açıklama |
---|---|
file.extension | Dönüştürülecek giriş dosyasını belirtir. Uzantıyı aşağıdakilerden biri olarak belirtmelisiniz: .xdr, .xml, .xsd, .dllveya .exe. Bir XDR şema dosyası (.xdr uzantısı) belirtirseniz Xsd.exe XDR şemasını bir XSD şemasına dönüştürür. Çıkış dosyasının adı XDR şemasıyla aynı, ancak .xsd uzantısına sahiptir. Bir XML dosyası (.xml uzantısı) belirtirseniz Xsd.exe dosyadaki verilerden bir şema çıkarır ve bir XSD şeması oluşturur. Çıktı dosyasının adı XML dosyasıyla aynı, ancak .xsd uzantısına sahiptir. Bir XML şema dosyası (.xsd uzantısı) belirtirseniz, Xsd.exe XML şemasına karşılık gelen çalışma zamanı nesneleri için kaynak kodu oluşturur. Çalışma zamanı derleme dosyası (.exe veya .dll uzantısı) belirtirseniz Xsd.exe bu derlemedeki bir veya daha fazla tür için şema oluşturur. Şemaların oluşturulacağı türleri belirtmek için seçeneğini kullanabilirsiniz /type . Çıkış şemaları schema0.xsd, schema1.xsd vb. olarak adlandırılır. Xsd.exe sadece belirtilen türler XMLRoot özel özniteliğini kullanarak bir ad alanı belirttiğinde birden çok şema oluşturur. |
Genel Seçenekler
Seçenek | Açıklama |
---|---|
/h[elp] | Araç için komut sözdizimini ve seçenekleri görüntüler. |
/o[utputdir]:directory | Çıkış dosyalarının dizinini belirtir. Bu argüman yalnızca bir kez görünebilir. Varsayılan değer geçerli dizindir. |
/? | Araç için komut sözdizimini ve seçenekleri görüntüler. |
/p[arameters]:file.xml | Belirtilen .xml dosyasındaki çeşitli işlem modları için seçenekleri okuyun. Kısa form şeklindedir /p: . Daha fazla bilgi için Açıklamalar bölümüne bakın. |
XSD Dosya Seçenekleri
.xsd dosyaları için aşağıdaki seçeneklerden yalnızca birini belirtmeniz gerekir.
Seçenek | Açıklama |
---|---|
/c[lasses] | Belirtilen şemaya karşılık gelen sınıflar oluşturur. Nesneye XML verilerini okumak için yöntemini kullanın XmlSerializer.Deserialize . |
/d[ataset] | Belirtilen şemaya karşılık gelen DataSet sınıfından türetilmiş bir sınıf oluşturur. Türetilmiş sınıfta XML verilerini okumak için DataSet.ReadXml yöntemini kullanın. |
.xsd dosyaları için aşağıdaki seçeneklerden herhangi birini de belirtebilirsiniz.
Seçenek | Açıklama |
---|---|
/e[lement]:element | Şemada için kod oluşturulacak öğeyi belirtir. Varsayılan olarak tüm öğeler yazılır. Bu bağımsız değişkeni birden çok kez belirtebilirsiniz. |
/enableDataBinding | Oluşturulan tüm türlerde veri bağlamayı etkinleştirmek için INotifyPropertyChanged arabirimini uygular. Kısa form şeklindedir /edb . |
/enableLinqDataSet | (Kısa form: /eld .) Oluşturulan DataSet'in LINQ to DataSet kullanılarak sorgulanabileceğini belirtir. /dataset seçeneği de belirtildiğinde bu seçenek kullanılır. Daha fazla bilgi için bkz. LINQ to DataSet'e Genel Bakış ve Yazılan Veri Kümelerini Sorgulama. LINQ kullanma hakkında genel bilgi için bkz. Language-Integrated Sorgusu (LINQ) - C# veya Language-Integrated Sorgusu (LINQ) - Visual Basic. |
/f[ields] | Yalnızca alanları oluşturur. Varsayılan olarak, yedekleme alanları olan özellikler oluşturulur. |
/l[anguage]:language | Kullanılacak programlama dilini belirtir. (Varsayılan olan C#), (Visual Basic), CS (JScript) VB veya JS (Visual J#) arasından VJS seçim yapın. Ayrıca System.CodeDom.Compiler.CodeDomProvider uygulayan bir sınıf için tam nitelikli bir ad da belirtebilirsiniz. |
/n[amespace]:namespace | Oluşturulan türler için çalışma zamanı ad alanını belirtir. Varsayılan ad alanı Schemas . |
/nologo | Afişi gizler. |
/sipariş | Tüm parçacık üyelerinde açık sipariş tanımlayıcıları oluşturur. |
/o[ut]:directoryName | Dosyaları yerleştirecek çıkış dizinini belirtir. Varsayılan değer geçerli dizindir. |
/u[ri]:uri | Şemada kod oluşturulacak öğelerin URI'sini belirtir. Bu URI varsa seçeneğiyle /element belirtilen tüm öğeler için geçerlidir. |
DLL ve EXE Dosya Seçenekleri
Seçenek | Açıklama |
---|---|
/t[ype]:typename | Şema oluşturulacak türün adını belirtir. Birden çok tür bağımsız değişkeni belirtebilirsiniz.
typename bir ad alanı belirtmezse, Xsd.exe derlemedeki tüm türleri belirtilen türle eşleştirir.
typename bir ad alanı belirtiyorsa, yalnızca bu tür eşleştirilir.
Typename bir yıldız karakteri (*) ile bitiyorsa, araç * işaretinden önceki dizeyle başlayan tüm türlerle eşleşir. seçeneğini atlarsanız /type , Xsd.exe derlemedeki tüm türler için şemalar oluşturur. |
Açıklamalar
Aşağıdaki tabloda Xsd.exe gerçekleştirdiği işlemler gösterilmektedir.
Operasyon | Açıklama |
---|---|
XDR'yi XSD'ye | XML-Data-Reduced şema dosyasından XML şeması oluşturur. XDR, erken XML tabanlı bir şema biçimidir. |
XML'yi XSD'ye | XML dosyasından xml şeması oluşturur. |
XSD'yi DataSet'e | Bir XSD şema dosyasından ortak dil çalışma zamanı DataSet sınıfları oluşturur. Oluşturulan sınıflar, normal XML verileri için zengin bir nesne modeli sağlar. |
XSD'den Sınıflara | Bir XSD şema dosyasından çalışma zamanı sınıfları oluşturur. Oluşturulan sınıflar, şemayı izleyen XML kodunu okumak ve yazmak için ile System.Xml.Serialization.XmlSerializer birlikte kullanılabilir. |
Sınıflardan XSD'ye | Çalışma zamanı derleme dosyasındaki bir türden veya türlerden XML şeması oluşturur. Oluşturulan şema tarafından XmlSerializerkullanılan XML biçimini tanımlar. |
Xsd.exe yalnızca World Wide Web Consortium (W3C) tarafından önerilen XML Şema Tanımı (XSD) dilini izleyen XML şemalarını işlemenize olanak tanır. XML Şema Tanımı teklifi veya XML standardı hakkında daha fazla bilgi için bkz https://w3.org. .
XML Dosyası ile Seçenekleri Ayarlama
anahtarını kullanarak /parameters
, çeşitli seçenekleri ayarlayan tek bir XML dosyası belirtebilirsiniz. Ayarlayabileceğiniz seçenekler, XSD.exe aracını nasıl kullandığınıza bağlıdır. Seçenekler arasında şema oluşturma, kod dosyaları oluşturma veya özellik içeren DataSet
kod dosyaları oluşturma yer alır. Örneğin, öğesini bir şema oluştururken yürütülebilir dosya (.exe) veya tür kitaplığı (.dll) dosyası olarak ayarlayabilirsiniz <assembly>
, ancak kod dosyası oluştururken ayarlayamayabilirsiniz. Aşağıdaki XML, öğesinin <generateSchemas>
belirtilen yürütülebilir dosyayla nasıl kullanılacağını gösterir:
<!-- This is in a file named GenerateSchemas.xml. -->
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateSchemas>
<assembly>ConsoleApplication1.exe</assembly>
</generateSchemas>
</xsd>
Yukarıdaki XML GenerateSchemas.xmladlı bir dosyada bulunuyorsa, komut istemine aşağıdakileri yazarak ve /parameters
basarak anahtarı kullanın:
xsd /p:GenerateSchemas.xml
Öte yandan, derlemede bulunan tek bir tür için şema oluşturuyorsanız, aşağıdaki XML'yi kullanabilirsiniz:
<!-- This is in a file named GenerateSchemaFromType.xml. -->
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateSchemas>
<type>IDItems</type>
</generateSchemas>
</xsd>
Ancak, önceki kodu kullanmak için komut isteminde derlemenin adını da sağlamanız gerekir. Komut istemine aşağıdakileri girin (XML dosyasının GenerateSchemaFromType.xmlolarak adlandırılması):
xsd /p:GenerateSchemaFromType.xml ConsoleApplication1.exe
öğesi için <generateSchemas>
aşağıdaki seçeneklerden yalnızca birini belirtmeniz gerekir.
Öğe | Açıklama |
---|---|
<meclis> | Şemanın oluşturulacağı derlemeyi belirtir. |
<tür> | Şema oluşturmak için derlemede bulunan bir türü belirtir. |
<XML> | Şema oluşturmak için bir XML dosyası belirtir. |
<Xdr> | Şeması oluşturulacak bir XDR dosyası belirtir. |
Kod dosyası oluşturmak için öğesini kullanın <generateClasses>
. Aşağıdaki örnek bir kod dosyası oluşturur. Oluşturulan dosyanın programlama dilini ve ad alanını ayarlamanıza olanak sağlayan iki özniteliğin de gösterildiğini unutmayın.
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateClasses language='VB' namespace='Microsoft.Serialization.Examples'/>
</xsd>
<!-- You must supply an .xsd file when typing in the command line.-->
<!-- For example: xsd /p:genClasses mySchema.xsd -->
öğesi için <generateClasses>
ayarlayabileceğiniz seçenekler şunlardır.
Öğe | Açıklama |
---|---|
<öğe> | Kod oluşturmak için .xsd dosyasındaki bir öğeyi belirtir. |
<schemaImporterExtensions> | sınıfından SchemaImporterExtension türetilmiş bir tür belirtir. |
<şema> | Kod oluşturulacak xml şeması dosyasını belirtir. Birden çok <XML Şeması dosyası, birden çok >şema öğesi kullanılarak belirtilebilir. |
Aşağıdaki tabloda öğesiyle birlikte kullanılabilecek öznitelikler gösterilmektedir <generateClasses>
.
Öznitelik | Açıklama |
---|---|
dil | Kullanılacak programlama dilini belirtir. (C#, varsayılan), (Visual Basic), CS VB (JScript) veya JS (Visual J#) arasından VJS seçim yapın. uygulayan CodeDomProviderbir sınıf için tam ad da belirtebilirsiniz. |
isim alanı | Oluşturulan kodun ad alanını belirtir. Ad alanı CLR standartlarına uygun olmalıdır (örneğin, boşluk veya ters eğik çizgi karakteri içermemelidir). |
Seçenekler | Aşağıdaki değerlerden biri: none , properties (public alanlar yerine özellikler oluşturur), order veya enableDataBinding (önceki XSD Dosya Seçenekleri bölümündeki /order ve /enableDataBinding anahtarlarına bakın). |
Ayrıca DataSet
öğesini kullanarak <generateDataSet>
kodunun nasıl oluşturulduğunu denetleyebilirsiniz. Aşağıdaki XML, oluşturulan kodun belirtilen bir öğe için Visual Basic kodu oluşturmak için yapıları (sınıf gibiDataSet
) kullandığını DataTable belirtir. Oluşturulan DataSet yapıları LINQ sorgularını destekleyecektir.
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateDataSet language='VB' namespace='Microsoft.Serialization.Examples' enableLinqDataSet='true'>
</generateDataSet>
</xsd>
öğesi için <generateDataSet>
ayarlayabileceğiniz seçenekler şunlardır.
Öğe | Açıklama |
---|---|
<şema> | Kod oluşturulacak xml şeması dosyasını belirtir. Birden çok <XML Şeması dosyası, birden çok >şema öğesi kullanılarak belirtilebilir. |
Aşağıdaki tabloda öğesiyle kullanılabilecek öznitelikler gösterilmektedir <generateDataSet>
.
Öznitelik | Açıklama |
---|---|
enableLinqDataSet | Oluşturulan DataSet'in LINQ to DataSet kullanılarak sorgulanabileceğini belirtir. Varsayılan değer yanlıştır. |
dil | Kullanılacak programlama dilini belirtir. (C#, varsayılan), (Visual Basic), CS VB (JScript) veya JS (Visual J#) arasından VJS seçim yapın. uygulayan CodeDomProviderbir sınıf için tam ad da belirtebilirsiniz. |
isim alanı | Oluşturulan kodun ad alanını belirtir. Ad alanı CLR standartlarına uygun olmalıdır (örneğin, boşluk veya ters eğik çizgi karakteri içermemelidir). |
Üst düzey <xsd>
öğesinde ayarlayabileceğiniz öznitelikler vardır. Bu seçenekler herhangi bir alt öğeyle (<generateSchemas>
<generateClasses>
veya <generateDataSet>
) kullanılabilir. Aşağıdaki XML kodu, "MyOutputDirectory" adlı çıkış dizininde "IDItems" adlı bir öğe için kod oluşturur.
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/' output='MyOutputDirectory'>
<generateClasses>
<element>IDItems</element>
</generateClasses>
</xsd>
Aşağıdaki tabloda öğesiyle birlikte kullanılabilecek öznitelikler gösterilmektedir <xsd>
.
Öznitelik | Açıklama |
---|---|
çıktı | Oluşturulan şemanın veya kod dosyasının yerleştirileceği dizinin adı. |
logo yok | Afişi gizler. "true veya false olarak ayarla." |
Yardım | Araç için komut sözdizimini ve seçenekleri görüntüler. "true veya false olarak ayarla." |
Örnekler
Aşağıdaki komut, öğesinden myFile.xdr
bir XML şeması oluşturur ve bunu geçerli dizine kaydeder.
xsd myFile.xdr
Aşağıdaki komut, öğesinden myFile.xml
bir XML şeması oluşturur ve bunu belirtilen dizine kaydeder.
xsd myFile.xml /outputdir:myOutputDir
Aşağıdaki komut, C# dilinde belirtilen şemaya karşılık gelen bir veri kümesi oluşturur ve bunu geçerli dizinde olduğu gibi XSDSchemaFile.cs
kaydeder.
xsd /dataset /language:CS XSDSchemaFile.xsd
Aşağıdaki komut, derlemedeki myAssembly.dll
tüm türler için XML şemaları oluşturur ve bunları geçerli dizinde olduğu gibi schema0.xsd
kaydeder.
xsd myAssembly.dll