XML Şeması

XSD
XML Şeması Özellikler
Uzantı .xsd
MIME türü application/xml, text/xml
PUID x-fmt / 280
İmza 3C( hexa )
Tarafından geliştirildi World Wide Web Konsorsiyumu
Dayalı Genişletilebilir İşaretleme Dili
Web siteleri www.w3.org/TR/xmlschema-0
www.w3.org/TR/xmlschema-1
www.w3.org/TR/xmlschema-2

XML Şema , bir öneri olarak yayımlanan W3C içinde Mayıs 2001 , bir olan XML belge biçimi açıklama dil yapısı ve bir XML belgesinin içerik türünü tanımlamak için. Bu tanım, özellikle bu belgenin geçerliliğini doğrulamayı mümkün kılar.

İsim alanlarını kullanarak farklı kökenlere sahip bir kelime dağarcığı organizasyonunu tanımlamak mümkündür . Coğrafya ve sosyolojiden söz eden birinin aynı metinde olduğu gibi diyagramları kendileri birleştirmek ve içerdiği belge için bir kombinasyon ifade etmek mümkündür.

Doğrulamadan sonra, hangi kurala özgü bilgilerin test edildiğini bilmek de mümkündür: oyun sonrası doğrulama şeması veya PSVI ( şema sonrası doğrulama bilgi seti ).

Bir tanım, bir veya daha fazla XML belgelerinin, genellikle denilen (oluşur XML şema tanımı içinde İngilizce veya XSD dosyası ).

XML Şemasının bir örneği, bir şekilde Belge Türü Tanımına ( DTD ) eşdeğerdir . Bununla birlikte, XML Şeması , DTD'lerle birkaç farklılık getirir: örneğin, bir alanın değeri için geçerlilik alanlarının tanımlanmasına izin verirken, bu bir DTD'de mümkün değildir; diğer yandan, varlıkların tanımlanmasına izin vermez  ; XML Şemasının kendisi bir XML belgesidir, DTD'ler ise SGML belgeleridir .

Bu XML belge içerik tanımlama dilinin kendisi, tanım etiketleri kendinden tanımlı olan bir şema tarafından tanımlanır (bu, özyinelemeli tanımlamaya bir örnektir ).

W3C 1.0 önerisi, bir sunum belgesi (normatif olmayan), yapının nasıl tanımlanacağını belirten bir belge ve verilerin nasıl tanımlanacağını belirten bir belgeden oluşur. Bu tavsiyenin en son baskısı olan sürüm 1.1, şu adreste yayınlandı:Nisan 2012.

Model XML Şeması

Öneri, soyut bir modelden XML belgelerinin geçerliliğini belirtir; XML biçimini sağlar.

Bu soyut model için bir diyagram, aşağıdakiler gibi bir dizi bileşendir:

Ayrıca , kullanılan tüm türlerin temeli olan anyType türünü (herhangi bir tür) sunar.

Her bileşen, W3C XML Bilgi Kümesi ( Infoset olarak bilinir ) tavsiyesi anlamında bir bilgi birimi tarafından çerçevelenir .

XML Şeması , kullanım açısından, öğelerin ve değer türlerinin adla veya adlandırılmış bir bağlamda yerel olarak tanımlanmasına izin verir. Bu iki modun kombinasyonu, dört tekniği tanımlamayı mümkün kılar: Rus bebekleri olarak bilinen (öğeler birbirine uydurularak tanımlanır), salam dilimleri (öğelerin genel tanımları, ancak türlerin yerel), ait jaluziler (elementlerin yerel tanım, ama türlerinin küresel tanım), ve Garden of Eden (unsurları ve türleri küresel tanımı).

XML Şeması , bileşenlerine göre bir bağlama göre düğümlerin bir kombinasyonu olarak benzersizliği belirler. Böylece, örneğin, bir kişinin adı ve adıyla bağlantılı olarak bir dizin bağlamında benzersiz olduğunu doğrulamak ve doğrulamak mümkündür.

Veri tipleri

Yerleşik veri türleri şunlardır:

Misal

Örnek bir XSD dosyası (person.xsd):

<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="personne"> <xs:complexType> <xs:sequence> <xs:element name="nom" type="xs:string" /> <xs:element name="prenom" type="xs:string" /> <xs:element name="date_naissance" type="xs:date" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

Ardından geçerli bir XML dosyası gelir :

<?xml version="1.0" encoding="UTF-8"?> <personne xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="personne.xsd"> <nom>De Latour</nom> <prenom>Jean</prenom> <date_naissance>1967-08-13</date_naissance> </personne>

Dublin Core uygulaması

XML Şeması , sınıflandırma şemalarında yüksek düzeyde resmileştirmeye karşılık gelir . XML şeması standart uygulamak için kullanılan Dublin Çekirdek için meta veri .

Bkz: " XML Şemaları uygulanması için yönergeler desteklemek için Dublin Çekirdek içinde XML öneri "

Öğe adları şöyle belirtilmiştir:

<xs: element name = "title" type = "elementType" /> <xs: element name = "creator" type = "elementType" /> <xs: element name = "konu" type = "elementType" /> <xs: element name = "description" type = "elementType" /> <xs: element name = "yayıncı" type = "elementType" /> <xs: element name = "katkıda bulunan" type = "elementType" /> <xs: element name = " date " type = "elementType" /> <xs: element name = "type" type = "elementType" /> <xs: element name = "format" type = "elementType" /> <xs: element name = " identifier " type = "elementType" /> <xs: element name = "source" type = "elementType" /> <xs: element name = " dil " type = "elementType" /> <xs: element name = "ilişki" type = "elementType" /> <xs: element name = "kapsam" type = "elementType" /> <xs: element name = " rights " type = "elementType" />

Kullanım örneği

XML Şeması , girişte verileri doğrulamak için XForms formlarıyla birlikte kullanılır .

Tarihi

XML Şeması , 1998'de Edinburgh Üniversitesi ile işbirliği içinde Microsoft'tan gelen çeşitli tekliflerin sonucudur. SGML tanımlama dilinden kaynaklanmaktadır. DTD'ler sınırlarını bulduktan sonra Microsoft, XML belgelerini XML-Veri veya Belge İçeriği Açıklaması gibi biçimlerle tanımlamak için XML kullanmayı önerdi ve 1999'da Darmstadt Üniversitesi'nin (Almanya) desteğini aldı. XML Şeması erkenMayıs 2001.

Notlar ve referanslar

  1. Şemalar için Şema (normatif)
  2. (in) XML Şemalarında ve (in) Şema Tasarım Modellerinde Tasarım Desenlerinin Tanıtımı Russian Doll , (in) Salami Slice , (in) Venetian Blind ve (in) Garden of Eden
  3. Jean-Jacques Thomasson , XML Şeması , Paris, Eyrolles ,2002, 466  s. ( ISBN  2-212-11195-9 ) , s.  160-165
  4. Yerleşik veri türleri, XML Şeması önerisi, W3C
  5. QName
  6. (inç) Kapak Sayfaları: XML Şeması
  7. W3C , XML Şeması , W3C Basın Bülteni, 2 Mayıs 2001'i önerir

Kaynakça

  • Web hizmetleri . Teknikler, yaklaşımlar ve araçlar XML, WSDL, SOAP, UDDI, RosettaNet, UML. Hubert Kadima, Valérie Monfort, Dunod, 2003 .

Ayrıca görün

İlgili Makaleler

Dış bağlantılar