Menü
Bedava
giriş
ana  /  Tavsiye / XSD dosyalarını açma. XML şeması (XML şeması) - XML \u200b\u200bbelgelerinin yapısının açıklaması XSD veri şemasını nasıl açıp okunur

XSD dosyalarını açma. XML şeması (XML şeması) - XML \u200b\u200bbelgelerinin yapısının açıklaması XSD veri şemasını nasıl açıp okunur

XSD şeması, geleneksel nakış için bir haç ile kullanılır. Çözümün geliştiricisi hobi yazılımıdır. Bu amaçlar için oldukça yaygın bir formattan bahsediyoruz.

Açıklama

XSD şeması, PCstitch programı tarafından kullanılan formatı değiştirdi ve bazı karışıklığa neden oldu. Bu dosyalar, nakış, özellikle de renk efsanesi ve sonraki iş için açıklama için ihtiyacınız olan her şeyi içerir. Bu türdeki materyalleri görüntüleme, Program desen yapıcısının çapraz dikiş için yardımcı olacaktır.

Belgeler

XSD şeması sadece nakışta değil. Benzer uzantılı dosyalar, XML belgesinde hangi özelliklerin ve elemanların oluşabileceğini belirler ve ayrıca arasındaki ilişkiyi belirler. bileşen parçaları. Bu malzemeler yapının özel dil açıklaması ile etkileşime girer belirtilen dosyalar. Şema görevi - XSD sınıfının bir alternatif .dtd dosyaları olarak kullanılabileceğini belirleyin. Çalıştırma sırasında bazen farklı hatalar oluşabilir. Örneğin, "XSD programındaki hata doğrulaması" mesajını görürseniz, muhtemelen malzemeyi uygun olmayan bir programla ilişkilendirmeye çalışırsınız. Formatla çalışmak için uygun uygulamalar aşağıda tartışılacaktır.

SENTEXT SERNA.

"Dosya XSD Programına karşılık gelmiyor" yazının hatası ile başa çıkmak yardımcı olacaktır. bu başvuru. İşlevsel bir ticari XML kodundan bahsediyoruz. SERNA mevcut tüm sabit sistemlerle çalışır: Mac OS X, Linux ve Windows. Editör, XML katalogları için tam desteğe sahiptir. Belirli bir yapıya sahip malzemelerin kullanılabilir.

Bir XSD şeması oluşturmak, bu uygulamanın birçok olanaklarından biridir. Öğelerin yerleştirilmesi, programın içeriğe bağlı nitelik listeleri ve onlar hakkında referans bilgiler olması gerçeğiyle önemli ölçüde kolaylaştırılır. Sürükle ve bırak özelliği, banttaki nesneleri sürükleyip bırakmanızı sağlar. Açılış sırasında uygulanan ve ek dosya kontrolleri. Modeller ve tablolarla çalışmak mümkündür. Etkileşim, büyük ve hacimsel malzemelerle bile gerçekleştirilir. İçerik üzerinde genişletilmiş bir navigasyon var. Çeşitli tasarımların eklentisini basitleştirmek için, Serna Editor bir dizi özel olarak tasarlanmış diyalog aldı. Program uygun ve esnek bir arayüze sahiptir. Açık malzeme ana pencerede görüntülenir. Sonuna kadar sunulur. Burada konuşlandırılmış listeler var. Ayrıca içerikteki bir iletkenin varlığını da memnun eder.

Özel bir stil kullanarak bir belgeyi yönetti. Sadece birkaç tuş kullanarak, profilli değiştirebilirsiniz açık dosya Kendi gereksinimlerinize ve tadınıza göre. SERNA'daki belge, istenen sayıda sayfaya bölünebilir ve ayrılabilir, numaralandırma ve belirli bir sekans dikkate alınır. Bu çözüm, önemli miktarda kod içeren büyük malzemelerle çalışırken çok etkilidir. Burada standart seçenek Belgedeki sonları en aza indirmeniz gerekiyorsa, bilgi uygundur ve tablolar varsa bu çok önemlidir.

Oksijen XML Editörü

"Dosya Dosya Şeması'na karşılık gelmiyor" hatası olan kredinin yanı sıra belirtilen türün dosyalarını da bu Düzenleyiciyi de açabilir. Çözüm, belgeleri yorumlamanızı ve metnin içindeki öğeleri vurgulamanızı sağlar. Ağaç sunumu, kullanıcının farklı belgelerin düğümlerini görmesini sağlar. Böylece, kodun doğruluğunu kontrol edebilir ve hataları ve uyarıları tespit edebilirsiniz. Düzenleme doğrudan zip arşivinden gerçekleştirilebilir.

Altova Xmlspy.

XSD şemasıysanız, bu uygulama aracılığıyla onunla çalışabilirsiniz. Belgeleri düzenleme, hata ayıklamanın yanı sıra oluşturmak, hata ayıklamak için güçlü bir araçtan bahsediyoruz. Windows, Linux ve Mac OS için versiyonlar var. Bu çözeltinin fonksiyonlarının çalışması, şemalarla çalışma verimlilik seviyesini arttırır. Çizikten çeşitli seviyelerin mevcut projeleri. Mevcut malzemeleri düzenlemek mümkündür. Bu durumda, birkaç ekran modu sağlanmıştır - nihai sonuç, hiyerarşik tablo, metin.

Dahili görüntüleyici, hataları önlemenizi ve programın kullanımını kolaylaştırmanızı sağlar. Uygulama uygun bir sözdizimi vurgulama sistemi aldı. Kod hakkında yorum yapmak ve yer imlerini ayarlamak mümkündür. Bu yaklaşım, birim projeleri ile çalışırken navigasyonu kolaylaştırır. Dahili bir dönüştürücü var. Veritabanlarını içe aktarabilirsiniz. Uygun bir sonuç görüntüleme sistemi içeren iki dosyayı karşılaştırmak için bir araç var. Bu platform, yeteneklerini birleştirmeyi mümkün kılan diğer benzer çözümlerle uyumludur.

Diğer çözümler

Şema türü türüyle çalışmayı destekleyen birkaç program var. Visual Studio, aralarında özel ilgiyi hak ediyor. Çeşitli uygulamalar oluşturmanıza olanak tanıyan Microsoft'un gelişimi hakkında konuşuyoruz.

Bu platformun özelliği, farklı programlama dillerinde mevcut olan çok çeşitli hizmetlerdir. Hizmetler, mimariye bağlı olmayan bir ara kod olarak uygulanır. Visual Studio, Windows'ta gelişmenizi sağlayan çok sayıda işlevi birleştiriyor. Uygulamanın çok daha kolay hale geldiği için cihazda yeni bir ortam yaratılmıştır.

Ayrıca ihtiyacınız olan formatla, aşağıdaki uygulamalardan biri ile çalışabilirsiniz: XML Studio, XML Notepad, Japisoft Editix, PSPad Editor, Notepad. Bu yüzden "XSD şemasıyla eşleşmiyor" tipinin yanı sıra, hangi programların dosyalarla iletişim kuracağını nasıl düzeltileceğini düşündük.

XSD dosyaları genellikle XML belgeleri ile birlikte kullanılır. XML dosyasının açıklamalarını ve bunlara uydukları kuralları sunarlar. Kullanıcılar genellikle XSD'yi açmaktan daha fazla bir soru ortaya çıkar. Temel Yardımcı Programlar, PC'de önceden yüklenmiş, ve düzenlemek için ek yazılıma ihtiyaç duyulacaktır.

Genel Açıklama XSD formatı

Genişletme ".xsd" - XML \u200b\u200bşema tanımından kısaltma. Böyle bir uzantılı dosyaların ana görevi XML'yi tanımlamaktır. Yapının açıklamalarını içerebilirler, bireysel unsurlar, Öznitellikler. Bilgi, XML şema açıklama dili tarafından belirlenen metni içerir. Bu dil, XML ile çalışmak için yazılım oluşturur. ".Xsd" içinde, diğer sözlüklerin unsurları, yalnızca XML şeması değil, entegre edilebilir.


Menşe Tarihi

İlk defa, format 2001 yılında görevlendirildi. World Wide Web'in bir konsorsiyumunu tavsiye etti. Bu organizasyon, internetin teknolojik standartlarını tanıtıyor. Konsorsiyumun amacı, farklı ülkelerden gelen dosyaların ve ekipman üreticilerinin uyumluluğunu sağlamaktır.

XML Schema 1.0 dilinin başlangıç \u200b\u200bgelişimi, ".xsd" genişletmede kullanılan 1 yıl boyunca kullanıldı. 5 Nisan 2012 tarihinde, konsorsiyum yeni - 1.1'in tanıtımını onayladı.

XSD dosyasının genişletmesini nasıl ve nasıl açılır?

XSD dosyasını açmaktan üç seçenek arasından seçim yapabilirsiniz. Belgenin içeriğini, tarayıcı seçeneklerini kullanarak bir PC olmadan bile görüntüleyebilirsiniz.


İnternet üzerinden

Tarayıcı çevrimiçi görüntülemek için kullanılır. PC ve mobil tarayıcı olarak uygundur.

XSD şeması - çevrimiçi açıktan daha:

  • diğer tarayıcılar.

İçeriği görüntülemek için, arama dizesi dosyanın yoluna yönlendirilir: "Dosya: /// d: /document.xsd". "Dosya: /// "'dan sonra, seçilen cihazdaki yol, adı olarak belirtilir.

Biçimin çevrimiçi olarak görüntülenmesinin ana dezavantajı yapıda değişiklik yapamamaktır.

Bilgisayarda

Daha fazlası ile çalışırken PC'lerde yüklü olan seçenekleri kullanırken. Sadece içeriği tanımıyor, aynı zamanda metni de düzenleyebilirsiniz.

Biçimle çalışmaya gerek yoksa, metin editörleri bu tür belgeleri yönetmek için kullanır. Aşağıdaki programlar uygundur:

  • WordPad;

Temel fark yoktur. Microsoft Word. Düzenleme açısından daha uygundur ve WordPad ustalaşmada daha ağırdır. Ancak, bu formatla çalışırken programların işlevselliği değişmez.

Biçimi görüntülemek için en basit yazılım not defteridir. Bir metin düzenleyicide görüntülemek ve düzenlemek için, dosya "Açık ..." komutunu açar, ardından programlar listesinden istediğiniz editörü seçin. Ayrıca, "Açık" işlevini seçerek ve öğenin yolunu belirleyerek dosyayı da programın üzerinden açabilirsiniz.

XML şema tanımı profesyonelce çalışıyorsa, daha ciddi programlar görüntülemek ve düzenlemek için kullanır. Dahil eden XML editörleri yüklendi:

  • diğer.

Profesyoneller ikinci programı tercih eder. Windows, Linux, Microsoft, Microsoft'ta çalışmak için uygundur ve yalnızca değiştirilmemesini sağlar, ancak ayrıca belirtilen formatın dosyalarını oluşturur. Düzenleme için çok işlevli bir tablo kullanılır.

XSD dosyasında başka ne olabilir?

XSD formatının bu tür bir dosyanın nasıl açılacağı biliniyor olsa bile, bazen ek sorunlar ortaya çıkar. Ana karmaşıklık, XML şema tanımı dosyaları için iki seçenek olmasıdır. Komutların ve açıklamaların içerdiği ilk metin. Yukarıdaki yöntemler kullanılarak açılırlar. Ancak ikinci, daha az yaygın tip tasarlanmıştır - bir çapraz dikiş devresi. Bunlar, metin değil, görüntüler.


Dışarıdan, iki tür tip farklı değildir, aynı genişlemeye sahiptirler. Bir belgeyi çevrimiçi açmaya çalışırsanız veya bir metin editörü kullanmaya çalıştığınızda, bir hata verilir, kullanıcının görüntüleneceği anlamına gelir. Sadece bir şekilde açıktır - nakış şemasının altında özel olarak keskinleştirilmiş bir programın yardımı ile.

Yardımcı program PC'ye yüklenir. XSD açılış programı ücretsiz ve Rusça çeviri ile indirilebilir. Çapraz dikiş için desen yapımcısında, yalnızca XSD şemasını görüntülemekle kalmaz, aynı zamanda düzenleme ve kendi dosyalarınızı oluşturur.

Formatla uğraşmak zor değil. Yeni gelen bile, PC'ye bir metin editörü veya Notepad ön ayarını kullanarak dosyayı ilk defa açabilecektir.

XSD uzatma dosyaları genellikle kullanıcılardan karışıklığa neden olur. Bu, türüne göre kesinlikle farklı bilgiler olan bu formatın iki türü olduğu gerçeğiyle açıklanmaktadır. Bu nedenle, normal uygulama açılamıyorsa, üzülmeye değer değildir. Belki de başka bir tür dosya var. XSD dosyaları ile hangi programların keşfedilebileceği arasındaki farklar nelerdir, daha fazla düşünülecektir.

XML Belge Diyagramı ( X.Ml. S.chema. D.efinition) en yaygın XSD dosyaları türüdür. 2001'den beri bilinir. Bu dosyalar, XML verilerini tanımlayan en çeşitli bilgileri içerir - bunların yapısı, elemanları, nitelikleri vb. Bu tür bir dosyayı açmak için birçok yol vardır. Örneğin, Microsoft tarafından sunulan bu formatın en basit örneğini (Satınalma Sipariş Şeması) alın.

Yöntem 1: XML editörleri

XML editörleri, XSD dosyalarını açmak için daha uygun bir yazılımdır, çünkü bu tür yardım dosyalarıyla birlikte oluşturulur. Bazılarını daha fazla düşünün.

XML Not Defteri.

Bu program, XML dosyalarıyla çalışmak üzere özel olarak tasarlanmış, Microsoft'tan "Notepad" seçeneklerinden biridir. Buna göre, XSD serbestçe açılıp düzenlenebilir.


XML Notepad, yukarıda açıklanan programlara kıyasla çok daha fazla fırsat sağlar. Sözdizimi vurgulanmasına ek olarak, belge yapısını belirlemek için otomatik bir mod vardır ve görüntüleme ve düzenleme için uygun bir biçimde görüntülenir.

Oksijen XML Editörü

Önceki birinin aksine, bu yazılım ürünü, XML belgeleri geliştirmek için çok daha ciddi bir yoldur. XSD dosya yapısı renkli bir tabloyu temsil eder


Bu program, bağımsız bir uygulama biçiminde ve Eclipse eklentisi şeklindedir.

XSD dosyalarını açabilir ve daha "ağır" yazılım ürünleri, Microsoft Visual Studio, Progress Stylus Studio ve diğerleri gibi. Ancak hepsi profesyoneller için araçları temsil eder. Sadece dosyayı açmak için onları takmak mantıklı değil.

Yöntem 2: Tarayıcılar

XSD dosyaları açık ve herhangi bir tarayıcıda. Bunu yapmak için içerik menüsünü veya menüyü kullanabilirsiniz. "Dosya" (Bu tarayıcıda mevcutsa). Ve yalnızca dosyanın yolu tarayıcı adres çubuğuna kaydedebilir veya Web iletken penceresine sürükleyebilirsiniz.

Örnekümüzün nasıl göründüğü, Google Chrome'da açık:


Ve bu o, ama zaten Yandex tarayıcısında:


Ve burada zaten Opera'da:


Gördüğümüz gibi, ilke farkı yok. Tarayıcıların yalnızca bu tür dosyaları görüntülemek için uygun olduğuna dikkat ediyor. İçinde bir şey düzenleyin.

Yöntem 3: Metin Editörleri

Yapısının basitliği nedeniyle, XSD dosyaları hemen hemen her metin editörüyle kolayca açılır ve serbestçe değişebilir ve devam eder. Farklılıklar sadece görüş ve düzenleme rahatlığı içindedir. Doğrudan metin düzenleyicisinden veya seçeneği seçerek bağlam menüsünden açılabilirler. "Açmak için".

İşte farklı metin editörleriyle nasıl yapılabileceği örnekleri:

Not defteri

Bu, çalışmak için en kolay uygulama. metin dosyaları, varsayılan herhangi bir şekilde bulunur windows sürümü. Bu bizim örnek, "Not Defteri" nde açık gibi görünüyor:


Özellikler eksikliği nedeniyle, XSD dosyasını düzenlemek zor olacaktır, ancak içeriğiyle "Not Defteri" konsolide olabilir.

Başka bir değişmeden windows BileşeniDaha gelişmiş bir işlevselliğe sahip "not defteri" ile karşılaştırıldığında. Ancak, XSD dosyasının açılışında, bu herhangi bir şekilde yansıtılmaz, çünkü bu editör ayrıca görüntülemek ve düzenlemek için herhangi bir ek olanak sağlamaz.


Gördüğünüz gibi, program arayüzü hariç, XSD dosyasının ekranında Not Defteri'ne kıyasla hiçbir şey değişmedi.

Not Defteri ++.

Bu program aynı "defter", ancak bir bütün olan ek özelliklerArdıları başlığın ilerletilmesi. Buna göre, XSD dosyası, Not Defteri ++ 'da açık, sözdizimi vurgulama işlevi sayesinde çok daha çekici görünüyor. Çok daha uygun ve düzenleme süreci yapar.

Açık XSD dosyaları ayrıca MS Word veya LibreOffice gibi daha karmaşık metin işlemcilerinde de olabilir. Ancak bunlardan beri yazılım Ürünler Özellikle böyle dosyaları düzenlemek için tasarlanmamıştır, "Not Defteri" nin aynı şekilde görüntülenecektir.

Çapraz tarzı nakış deseni

Başka bir hiposta genişletme XSD, haçlı bir nakış şemasıdır. Buna göre, bu durumda bu format Dosya bir görüntü. Bu dosyalarda, resimlerin kendisi dışında da bir renk efsanesi vardır ve detaylı Açıklama Nakış oluşturmak için. Böyle bir XSD dosyasını açın tek yol olabilir.

Çapraz dikiş için desen üreticisi, nakış şemalarını açmanın ana yollarıdır, çünkü bunları oluşturmak ve düzenlemek için tasarlanmış olarak tasarlanmıştır. Bu, XSD dosyasının desen yapımcısında nasıl açıldığını.


Programın zengin bir araç parçası var. Ek olarak, kolayca rusfied olabilir. Ek olarak, ücretsizdir.

Böylece, XSD dosya formatı esas olarak bir XML belgesinin bir diyagramıdır. Açılmazsa metin editörleriBu, bir haç içeren bir nakış şeması içeren bir dosyamız var.

Açıklama: XML veri şemaları (XSD). Visual Studio .NET ortamında bir XSD şeması oluşturma. Yazılı bir veri kümesi nesnesi oluşturma. DataSet nesnesinin yapısı hakkında bilgi alma. XML belgelerini ve XSD şemalarını yazılı ve normal veri kümesi nesnelerine yükleme. Readxml ve Readxmlschema yöntemleri. Yazılan ve geleneksel bir veri kümesi nesnesinin içeriğini ve yapısını kaydedin. WRITEXML ve WRITEXMLSCHEMA yöntemleri

Yazılan VeriSet nesnesi. XML belgelerini okuma ve kaydetme

XML veri şemaları (XSD)

Veri devreleri 1. XML şema belgesinin doğru çevirisi -< xML Belge Şeması\u003e Ancak, "XML veri şeması" terimini kullanmaya devam edeceğiz. XSD (XML şema belgesi, XSD) alternatif yol XML belgeleri oluşturma kuralları. DTD'ye kıyasla, şemalar, karmaşık veri yapılarını belirlemek için daha güçlü bir şekilde var, dilin dilbilgisini tanımlamak için daha anlaşılabilir bir yol sağlama, kolayca yükseltebilecek ve genişletebiliyor. XSD şeması aşağıdaki bilgileri içerebilir:

  • veri elemanları arasındaki bağların temsili, ilişkisel veritabanındaki tablolar arasındaki harici tuşların bağlantılarına benzer;
  • temsil benzersiz tanımlayıcılarbirincil anahtara benzer;
  • tip Şartname XML belgesindeki her bir öğe ve nitelikten gelen veriler.

Ana menüde Visual Studio. NET'te bir veri şeması oluşturmak için, Dosya \\ New \\ dosyasına gidin ve şablonlar listesinden seçin (bkz. Şekil 11.3) XML şeması. "Başlamak için, Sunucu Gezgini'nden veya Araç Kutusu penceresinden Nesneleri Çalışma Alanı (Tasarım Alanı) veya sağ tıklayın (Şekil 11.1) (Şek. 11.1) (Şek. 11.1) (Şekil 11.1) (


İncir. 11.1.

Gerçek şu ki, tasarım modundayız. (XML) düğmesine tıklayarak, kod moduna geçiyoruz:

İlk satır, şemanın kök elemanı XS: şeması ile bir XML belgesi olduğu bilinen bir göstergedir. XS öneki: Şema'nın tüm unsurlarını belirler, ad alanlarına işaret eder. İkinci satırda, şemanın uzun, ayrıntılı ve genellikle tamamen gereksiz bir açıklaması vardır (HTML sayfaları için aynı kodla karşılaştırın). Doğru iş için, aşağıdaki gönderimi sınırlamak yeterlidir:

Bununla birlikte, stüdyonun dahili işlenmesi bu "CAP" önerir, bu nedenle silinmemesi gerekir. Visual Studio .NET ortamında belirtilen XML belgesini tanımlayan bir şema oluşturma - Güzel basit görev. Aşağıdaki belgeyi oluşturun xmleasy.xml:

1

Sekmeye (verilere) geçin (veriler) ve yalnızca bir kaydı görün (Şek. 11.2).


İncir. 11.2.

Bu belgeyi tanımlayan bir diyagram oluşturun, çeşitli şekillerde: Ana menüde, XML modunda "XML \\ Schema Oluştur" (Şek. 11.3, A) seçeneğini seçin. bağlam menüsü Aynı öğeyi seçin (Şekil 11.3, B) İçerik menüsündeki veri modunda, bu öğeyi seçin (Şek. 11.3, B) ve Son olarak, Veri modunda, XML Araç Kutusu düğmesine tıklayın (Şek. 11.3, d).


İncir. 11.3.

Her durumda, bir tablo formunda bir belge şeması görünür (Şek. 11.4). Şema modunu bırakalım ve (XML) moduna geçelim.


İncir. 11.4.

Orta, belge yapısını açıklayan XML kodunu oluşturdu:

Bu, ADO .NET nesneleri kullanarak şema tarafından daha fazla manipülasyon için gerekli bir açıklama içerir. XMLeasy.xml kaynak belgesinde, veri programına bir bağlantı ortaya çıktı:

XMLEASY.XSD belgesi, XMLeasy.xml'nin bulunduğu aynı dizinde otomatik olarak oluşturuldu.

XSD şemalarını anlamayı öğrenmek için, önce verilerin açıklaması ile çalışmalıdır. saf formu, ek ürünler olmadan. Tablo 11.1, birkaç basit XML belgesi ve ADO .NET nesnelerine bağlanmadan oluşturulan şemalarını sağlar.

Tablo 11.1. XSD şemalarının örnekleri
XML Belge İçeriği XSD şema içeriği

1

Açıklama
XMLeasy.xml belgesinde, tur öğesi, bir çocuk idor öğesi içeren bir kök öğesidir. Genel şema Kök eleman aşağıdaki forma sahiptir:

: İçerik elemanı ...

Bağlı ortaklıklar aşağıdaki gibi tanımlanır:

XML Belge İçeriği XSD şema içeriği

1 Kıbrıs 25 000.00. İki yetişkin kuponun fiyatı, bir çocuğun fiyatını içerir (7 yıla kadar) 2 Yunanistan 32 000.00. Ağustos ve Eylül aylarında, özel indirimler çalışır 3 Tayland 30 000.00. Uçak bilgisi dahil değil 4 İtalya 26 000.00. Oteldeki kahvaltı, biletin maliyetine dahildir 5 Fransa 27 000.00. Ek geziler bir biletin maliyetine dahil değildir

Açıklama
Kök elemanı tablosu, sırayla, çocuk elemanları grubundan bir tur elementini içerir. Seçim öğesi, diğer elementlerin seçimini belirler ve "sınırsız" (sınırsız) özellik maxoccurs, tur gruplarının varlığını sınırsız hale getirme yeteneğini belirtir.

: :

XML Belge İçeriği XSD şema içeriği

1 Kıbrıs 25 000.00. 1 İki yetişkin kuponun fiyatı, bir çocuğun fiyatını içerir (7 yıla kadar)


İncir. 11.5.
Açıklama
IDTour öğesi için, Int Veri Türü, KAPALI için Kapalı - Tip Boolean için, Gerisi için - varsayılan tip dizesi ile kuruldu. Veri türünü doğrudan XML veri diyagramı modunda değiştirebilirsiniz, ancak daha rahat bir şekilde - şema modunda (bu durumda, MODE DATASET olarak adlandırılır) Aşağı açılır listeden veri türünü seçin (Şek. 11.5):

İÇİNDE yazılım Kursa, bu tablonun tüm dosyalarını XSD klasöründe bulacaksınız (kod \\ glava5 \\ xsd).

Veri türünü XML belgesinde ayarlama (Son örnek Tablo. 11.1) içeriği sınırlamanın yollarından biridir. Belirtilen türün değerini sınırlamak için ek özellikler uygulanır. Devrenin aşağıdaki fragmanında, eleman fiyatının değeri 50 ila 100 arasında olmalıdır:

XML belgesini sınırlamak için bazı sabit değerler aşağıdaki tasarımı kullanır:

Burada ad elemanı, ülkelerin beş adından yalnızca bir sabit değer alabilir.

XSD şemasının gelişimi oldukça tabi tutulur. Görsel Medya Visual Studio .NET Bu görevi kolaylaştırır. Temel kavramlara hakim olmak için, otomatik olarak oluşturulan birkaç XML belgesini incelemek arzu edilir. Tablolar 11.2-11.4, aynı anda bulunabilecek ana unsurları ve nitelikleri açıklar.

Tablo 11.2. Xsd şemaları
Eleman Açıklama
herşey. İç içe geçmiş elemanlar rastgele sırayla belirlenebilir
açıklama. Ebeveyn elemanı Elements-Yorum ve
hiç. İç içe geçmiş ürünler
anyattribute. Herhangi bir nitelik
uygulama bilgisi. Öğe yorumu. Şema başlığını belirtir
öznitelik. Öznitelik
öznitelik grubu. Nitelikler grubu
tercih Diğer unsurları seçmek. Operatörün Analogu "|" DTD'de.
karmaşıklık Kısıtlamalar veya modelin genişletilmesi İçerik karmaşık tipi
complextype. Karmaşık tip öğesi
belgeler Öğe yorumu. Şema hakkında bilgi sağlar
eleman. Eleman
uzantı Eleman genişleme
alan Alan duyuru. Elemanın içinde kullanılır Alanları belirlemek
grup. Element grubu
İthalat Tip bildirimlerinin başka bir şemadan ithalatı
dahil etmek. Mevcut ad alanındaki başka bir şema'yı etkinleştirin
anahtar. Bir öğeyi veya anahtar niteliğini başka bir öğeye işaret etme
keyref. Anahtar noktaların hangi bir öğeyi veya niteliği belirlemek
liste Değerlerin listesini içerebilecek bir öğe
yeniden tanımlamak Geçersiz kılma zaten ilan edilen öğeler
kısıtlama Elemanın Kısıtlanması
Şema. Devrenin kök elemanı
seçici XML öğelerini seçmek için seçici
sıra Diğer elementlerin sırası. Operatörün analogu "," DTD'de
basit Model, içeriği yalnızca sembolik verileri temsil eder.
simpleType. Basit tip öğesi
birlik Birden fazla değere sahip olabilecek bir unsur veya nitelik
benzersiz Benzersiz bir değeri olması gereken öğe veya nitelik
Tablo 11.3. Nitelikler - XSD Şemalarının Sınırlamaları
Öznitelik Açıklama
Değerlerin Numaralandırma Listesi
uzunluk. Uzunluk
maksimum uzunluk. Maksimum uzunluk
en az boyu Minimum uzunluk
maxExclusive. Maksimum değer
maxinclusive. Maksimum değer dahil
minexclusive. Minimum değer
minobil. Dahil minimum değer
kesrimdigits. Kesirli sayılardaki noktalı virgül sayısı
totaldigits. Basamak sayısı
desen. Elementlerin içeriğinin örnek (desen)
varsayılan. Varsayılan öğe veya öznitelik değeri
elementFormDefault. Yerel elemanın özelliklerini küresel olarak tanımlanmış olarak ayarlama
sabit Elemanın veya niteliğin sabit değeri
form Yerel olarak açıklanan ürünler, belgelerin belirli kopyalarında tanımlanır.
Öğe türü. Liste öğelerinin türü
Üye üyeler. Birlikte Kullanılan Üyelerin Türü (Birlik)
maxoccars. Maksimum öğe girişi sayısı
minoccurs. Minimum eleman girişi
karışık. Karışık bir türe sahip bir elemanın ayarlanması
İsim. Öğenin adı veya niteliğinin adı
İsim alanı. Yer isimleri
nonamepace. Belge şemasının yerini ayarlama,
Schemalocation ortaya çıkan isim alanlarına sahip değil
nilllenebilir Elemanın boş bir değer null (NIL) sahip olabileceğini belirlemek
ref. Küresel olarak tanımlanmış bir öğeye bağlantıların ayarlanması
schemalocation Şemanın yerini belirleme
taklit grubu Elementlerin diğer elementler tarafından değiştirilmesinin belirlenmesi
targetNamesPace. Ortaya çıkan şema ad alanı
tip Öğe Türü
kullanmak Eleman zorunlu mu yoksa
değer vermek Diyagram öğesinin değeri
xSI: nil. Boş (null) element XML belgesinin gerçek içeriğini ayarlayın
xSI: Schemalocation XML belgesindeki öğenin gerçek konumu
xSI: Tip. XML belgesinde gerçek öğe türü

Çalışırken çok tipik bir görev hakkında bilgi vermek istiyorum. Xml, yani, yaratma hakkında Xmlmevcut olana göre. Bu işlem, bazı ek işlerin çözüleceği gibi, aşağıdaki gibi bazı aşamalardan oluşacaktır:

  • Yaratık Xmldayalı Xsd.ve tam tersi.
  • Nesnelerin serileştirilmesi ve çözümü.
  • Gelecekteki seri hale getirme için bir sınıfın oluşturulması Xmlveya Xsd..
Başlamadan önce, okuyucunun kelimeleri aşina olduğunu planlıyorum. Xmlve Xsd.. İlgili Xml, Bununla ilgili bir sorun olmadığını düşünüyorum, ama Xsd.ne olduğu soruları ortaya çıkarabilirim. Eğer kısa ise, o zaman:
Xsd.- Bu bir dildir, tanımlamak için Xml. Ve bu açıklamayı içeren dosyanın içeriğine bakarsanız, soru ortaya çıkacak, neden açık etiketleri tanımladığınız görülüyorsunuz? Xml? Ancak, bir tür dış sistemle birleştirdiğiniz ve formatı kullanmak istediğiniz veri alışverişi için entegre olduğunuzu hayal edin. Xml. Yani burada Xsd.bir etiketin içeriğinin yalnızca bir iç eleman içerebileceğini anlamak için adının her bir elemanını, olası nitelikleri, bağlama alanlarını veya niteliklerini tanımlamanızı sağlar ( ) Ve daha fazla ya da düğüm yok, ya da düğümün bir dizisi olabilir (< a\u003e ... ). Ne zaman harici sistem Sizinki, sorunlar ortaya çıkmayabilir, ancak bu üçüncü taraf bir organizasyon olduğunda, o zaman bu açıklama vasıtasıyla Xsd.Bir formatla anlaşmazlıkları çözmek için bir araç olacak ve yardımcı programları kullanarak, herhangi bir uyumluluğu kontrol edebilirsiniz. Xml İlk format.
Peki damga etmeyi öğrenmek için ne yapacağız Xmlreferansınıza göre? Her şeyi sırayla tarif edeceğim.

Var:
Nedir Xml (xmlfile.xml)Dosyaya bir metin biçiminde saklanır. Aşağıda metni vereceğim:

< catalog > < book id = " bk101 " > < author > Gambardella, Matthew. < title > XML Geliştirici Kılavuzu < genre > Bilgisayar < price > 44.95 < publish_date > 2000-10-01 < description > XML ile uygulamalar oluşturmaya derinlemesine bir görünüm. < book id = " bk102 " > < author > Ralls, Kim. < title > Gece yarısı yağmur. < genre > Fantezi. < price > 5.95 < publish_date > 2000-12-16 < description > Eski bir mimar, kurumsal zombileri, kötü bir büyücüyü ve dünyaya ait olan savaşıyor.

Yeni bir oluşturma eylemleri:

  1. İlk önce yardımcı programı kullanma Xsd.exe.veya kullanma Çevrimiçi hizmetler ("XML'ye XSD" kelimesini arayın, bunlardan biri www.freeformatter.com/xsd-generator.html), biz mevcut Xmlonun ilkel Xsd.açıklama. Çıkışta tamamen, otomatik olarak oluşturulacağız Çıkış.xsd. Zaten kullanıma gelen ancak tamamlanmayacak bir dosya.
  2. Sonraki, dayanarak Çıkış.xsd. C # cinsinden sınıflar oluşturacak xmlclass.cs.Bundan sonra, projemize ekleriz. Bir sınıf oluşturular kullanılabilir Xsd.exe,veya xsd2code. Yardımcı program veya herhangi bir çevrimiçi hizmet.
  3. Şimdi dosya derslerini kullanmaya hazırız xmlclass.cs.. Bu nedenle, örnekleri oluşturun ve doldurun xmlclass.ve sonra seri hale getirme işlemini kullanarak, nesneleri dönüştürürüz. Xml dize ve sonra biz kaydettik yeni dosya.. Böylece biz alırız Xmlkullanılabilir duruma göre.
Baister!

Adım 1. XML'den XSD oluşturma.

Yani, kendimi kullandığım yolları vereceğim:
  1. Yarar xsd.exe. - yaratıcı Microsoft..
  2. Yarar xsd2code.exe. - hepsini tanıyan üçüncü taraf bir başvuru xsd.exe.ancak doğrudan indirmek için erişilebilir (açık şu an Çelik Ücretli S. Deneme dönem).
  3. Herhangi bir çevrimiçi hizmet kullanın.
İhtiyacın olması için Xsd.exe.Herhangi birini koymak zorunda kalacaksın Microsoft SDKS.Bununla birlikte, bu uygulama geliyor. Ne yazık ki, şu anda, setindeki stüdyoların hiçbiri bu yardımcı programı içermiyor.

Birini indirip yüklemek için link Sdk:
Windows 7 ve .NET Framework 4 için Windows SDK.

Aramayı kullanıyoruz ve dosyayı buluyoruz xsd.exe., ardından (işinizi basitleştirmek için), kökte oluşturulan klasöre kopyalayın. C: \\ xmltoxsd. Aynı klasörün yanında xmlfile.xml. Ve her şey başlangıç \u200b\u200biçin hazır.


Sıyırmak Komut satırı"(Başlat -\u003e" koşu "-\u003e" cmd "), dizinimize gidin ve varsayılan parametrelerle arayın. xsd.exe.Xmlfile.xml parametreğimizi geçerek:


Ve dosyanın yakınlarda göründüğünü görüyoruz. xmlfile.xsd. içerikle.


Bu kadar! Bu eylemler ilkel bir yaratmak için yeterlidir Xsd.Çalışabileceğiniz dosya. Ama bunu anlamaya değer xsd.exe.Başka bir yardımcı program gibi, alanlarınızın türleri hakkında hiçbir şey bilmiyor (bu nedenle neredeyse her zaman alanların türü olacak dize), hem de niteliklerin ve parametrelerin tüm varyasyonları hakkında. Yani, eğer bir etiketinizde bir nitelik yoksa Xml, sonra açıklamada olmayacak. bu nedenle Xmlen eksiksiz olmalı ve öğe birkaç çocuk alanı içerebilirse, en az iki için eklemek daha iyidir. xsd.exe. Bunun bir koleksiyon olduğunu fark ettim.

Sözdizimi Xsd.Çok karmaşık değil, oldukça ciddi bir açıklama yazılırsa, çalışmak zorunda kalabilirsiniz.

Adım 2. XSD'den sınıf oluşturma.

C #'da bir sınıf oluşturmak için tekrar kullanılmamız gerekecek. xsd.exe. Ancak başka bir parametre ile / Sınıflar.yoldan geçerek xmlfile.xsd..


Uygulamadan sonra, içeriğin sıkıştırılmış formda aşağıda gösterilen XMLFile.CS dosyası görünür:


Gördüğünüz gibi, iç eleman için katalogsınıf oluşturuldu katalog Kitabı.alanları alanlara karşılık gelen Xmlve alan İDbir özellik gibi işaretlendi. Xsd.exe. İçinde doğru bir şekilde gerçekleştirildi katalogbir kitap koleksiyonu saklanır, bu yüzden mülk ortaya çıktı Öğeler., Bağlı ortaklığı doldurmak için.
Yorum Yap: xsd.exe. Elde edilen sınıflara ve alanlara yorum eklemez. Açıklama Xsd.denilen bir unsur var< xs:annotation > , en çok hangi içerir< xs:documentation >, alan açıklamasının yayınlandığı. Teoride, /// açıklamasında yayınlanmalı, ancak şu anda xsd.exe. Açıklamaya metin eklemeyi reddediyor, bu nedenle gibi alternatiflere başvurmalısınız. xsd2code. Veya çevrimiçi hizmetler.

Adım 3. XML'deki nesnelerin serileştirilmesi.

Buradaki ortaya çıkan sınıflar dosyada xmlfile.cs.. Daha sonra, içeriği veya dosyanın kendisi projeye ekle Görsel stüdyo., sonra onunla çalışabilirsiniz. Bir kitap nesnesi oluşturacağım, ardından dosyaya formatta kaydettim. Xml.

Özel void örneği () () ( // İlk kitabı oluşturma Var Book1 \u003d Yeni Katalogbook () () (Yazar \u003d "King", Açıklama \u003d "Çok ilginç kitap", türe \u003d "fantezi", fiyat \u003d 22.tostring (), id \u003d "42011", title \u003d "(! Lang: it" }; !} // ikinci bir kitap oluşturma Var Book2 \u003d Yeni Catalogbook () (Yazar \u003d "O" Brien, Tim ", Açıklama \u003d "Microsoft" s .NET girişimi, bu derin programcının referansında ayrıntılı olarak araştırılmaktadır. ", Tür \u003d "bilgisayar", fiyat \u003d 36.tostring (), id \u003d "30012", başlık \u003d "Microsoft .NET: Programlama İncil" }; // yukarıda iki kitap içeren bir dizinin kök elemanı oluşturma var kataloğu \u003d yeni katalog () (öğeler \u003d yeni (Book1, Book2)); // xml nesne kataloğu içeriyor Var xmlcatalog \u003d serialize (katalog); // dosyaya bir dize yaz // Todo göstermek için yapılır. Dosyaya akışı geçmek için seri hale getirme yönteminin aranması tavsiye edilir. Dosya .writeallText ("çıkış.xml", xmlcatalog); ) Özel dize serialize (TType SourceObject) (eğer (SourceObject \u003d\u003d null) (dönüş dizesi. // XML dizgisinde gerçekleştirmek için XMLSerializer'ı kullanın var xmlSerializer \u003d Yeni XMLSerializer (TypeOF (TTYPE)); Var stringwriter \u003d yeni stringwriter (); Kullanma (var yazar \u003d xmlwriter (stringwriter, yeni xmlwlitesettings () (girinti \u003d true))) (XMLSerializer.Serialize (yazar, sourceObject); Stringwriter.tostring ();))) başladıktan ve açtıktan sonra Çıkış.xml İstediğimiz yolu kaydettiğimizi görebilirsiniz (alt dosyayı - " Oluşturulan kod").