it-swarm-tr.com

XML örneği belgesinden bir XSD şeması oluşturmak için herhangi bir araç?

Bir XML örneği belgesini alacak ve karşılık gelen bir XSD şeması çıkaran bir araç arıyorum.

Oluşturulan XSD şemasının elle bir şema oluşturmaya kıyasla sınırlı olacağını kesinlikle kabul ediyorum (muhtemelen isteğe bağlı veya yinelenen unsurları veya veri kısıtlamalarını kullanmayacak), ancak en azından hızlı bir başlangıç ​​noktası olarak işlev görebilir.

146
Matt Dillard

Microsoft XSD çıkarım aracı iyi ve ücretsiz bir çözümdür. XmlSpy (@Garth Gilmour tarafından belirtilen) veya OxygenXML Editor gibi birçok XML düzenleme aracı da bu özelliğe sahiptir. Yine de oldukça pahalılar. BizTalk Server ayrıca bir XSD çıkarım aracına sahiptir.

düzenleme: Sadece .net XmlSchemaInference sınıfını keşfettim, bu yüzden .net kullanıyorsanız bunu düşünmelisiniz

65
Danimal

Açık kaynak ve platformlar arası bir seçenek kullanabilirsiniz: inst2xsd from Apache'nin XMLBeans . Çok kullanışlı ve kolay buluyorum.

Sadece indirin, açın ve oynatın (Java gereklidir).

54
Dario

Trang buradaki en iyi seçenektir. Açık kaynak ve çapraz platform (Java gerekli olsa da)

Trang Web sitesinden:

Trang, XML için farklı şema dilleri arasında dönüşüm yapar. Aşağıdaki dilleri destekler

  • RELAX NG (XML sözdizimi)
  • RELAX NG kompakt sözdizimi
  • XML 1.0 DTD'ler
  • W3C XML Şeması

Desteklenen şema dillerinden herhangi birinde yazılmış olan bir şema, W3C XML Şeması'nın girdi için değil, yalnızca çıktı için desteklenmesi dışında diğer desteklenen şema dillerinden birine dönüştürülebilir.

Trang ayrıca bir veya daha fazla örnek XML belgesinden bir şema çıkartabilir.

İndirme Linki

51
Derferman

VS2010'da, editöre bir XML dosyası yüklerseniz, XML menüsü >> Şema Oluştur öğesini tıklayın.

16
Nathan Donnellan

Ayrıca XML schema learner 'da Github kullanılabilir. .

Birden fazla xml dosyası alabilir ve bu dosyaların hepsinden ortak bir XSD çıkarabilir .

11
edorian

.Net yüklüyse, XSD şemaları ve sınıfları oluşturmak için bir araç zaten varsayılan olarak dahil edilmiştir.
Benim için, XSD aracı aşağıdaki yapı altında kuruluyor. Bu, kurulum dizininize bağlı olarak değişebilir.

C:\Program Files\Microsoft Visual Studio 8\VC>xsd
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.

xsd.exe -
   Utility to generate schema or class files from given source.

xsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:]
xsd.exe <Assembly>.dll|.exe [/outputdir:] [/type: [...]]
xsd.exe <instance>.xml [/outputdir:]
xsd.exe <schema>.xdr [/outputdir:]

Normalde, bu aracın ürettiği sınıflar ve şemalar, özellikle onları bir .NET dili ile tüketecekseniz, oldukça iyi çalışır.

Genelde peşinde olduğum XML belgesini alırım, bir şema (xsd) oluşturmak için XSD aracını /o:<your path> bayrağıyla itin ve ardından sınıfları almak için /classes /L:VB (or CS) /o:<your path> bayraklarını kullanarak xsd dosyasını araçtan geri itin günden güne ithalat ve kullanabileceğim. Net projeleri

10
Pat Hermens

İstediğiniz tek şey XSD ise, LiquidXML'in XSD'ler içeren ücretsiz bir sürümü vardır ve onun için bir GUI'si vardır, böylece isterseniz XSD'yi Tweak yapabilirsiniz. Her neyse, bugünlerde kendi XSD'lerimi elle yazdım, hepsi bu uygulama sayesinde.

http://www.liquid-technologies.com/

6
Robert Gould

eğer, Java world - intelliJ idea 'da çalışıyorsanız, xsd jenerasyonu ve xsd jenerasyonundan samle xml de dahil olmak üzere kapsamlı xml desteği ve xslt hata ayıklayıcıları alabilirsiniz. - özellikle sonradan jaxb gibi araçları kullanmayı planlıyorsanız, Nice.

4

Altova XmlSpy bunu iyi yapıyor - bir genel bakış bulabilirsiniz burada

3
Garth Gilmour

Bu eski bir iş parçacığı ancak bu bağlantıyı göndermenin faydalı olabileceğini düşündüm: bu aracı buldum: xsd-gen XML'den XML Şeması oluştur

ve sadece ihtiyacım olanı yaptım.

3
v_e