Yeni Başlayanlar İçin XML Eğitimi
XML nedir?
XML e anlamına gelirXgerilebilir MArkupe Ldil. İşaretlemeyi kullanan ve genişletilebilen bir dildir (bir programlama dili değildir). Şundan türetilmiştir: Standard Generjilendirilmiş MArkupe Ldil(SGML). XML aynı zamanda DTD'leri de kullanır (DMeslek Type DTanımlar) XML belge yapısını tanımlamak için.
XML, hesaplamalı işlemleri ve algoritmaları yönetmek için değildir. Bu nedenle XML bir programlama dili değildir. Ana amaç bilgiyi görüntülemek değil veriyi taşımaktır. XML, insan tarafından okunabilirlik ile makine tarafından okunabilirlik arasındaki boşluğu doldurur. HTML etiketlerinin aksine, XML etiketleri kendi kendini tanımlar.
XML açık bir formattır. XML'in dosya adı uzantısı .xml
XML'in tarihi
XML 1996'da başladı ve ilk olarak 1998'de yayınlandı. World Wide Web Consortium (W3C) geliştiricisidir XMLve bu bir hale geldi W3C önerisi 1998 içinde.
XML'in iki versiyonu vardır.
- XML1.0
- XML1.1
XML1.1 en son sürümdür. Henüz, XML1.0 en çok kullanılan versiyonudur.
XML editörleri şunlardır:
- Tim Bray,
- Jean Paoli,
- CM Sperberg,
- Eve Maler,
- François Yergeau.
XML Özellikleri
XML'in bazı önemli özellikleri şunlardır:
- Genişletilebilir ve insan tarafından okunabilir.
- Platform ve dilden bağımsızdır.
- Beyaz alanı korur.
- Genel basitlik.
- Kendini tanımlayan doğa.
- Verileri HTML'den ayırır.
- XML etiketleri önceden tanımlanmamıştır. Özelleştirilmiş etiketlerinizi tanımlamanız gerekir.
- XML veriyi görüntülemek için değil, veriyi taşımak için tasarlandı.
- XML'in işaretleme kodunu bir insan için anlamak kolaydır.
- İyi yapılandırılmış formatın programlardan okunması ve yazılması kolaydır.
- XML, HTML gibi genişletilebilir bir biçimlendirme dilidir.
XML Kodlama
Kodlama, Unicode karakterlerin ikili gösterimlerine dönüştürülmesidir. UTF, XML kodlaması için kullanılır. UTF için standlar UCS (UCS için standlar Uevrensel Ckarakter Sve) Tdönüşüm Fformat.
Temel olarak iki tür UTF kodlaması vardır.
- UTF-8 : UTF-8, karakterleri temsil etmek için 8 bit kullanır.
- UTF-16
Örnek:
<?xml version="1.0" encoding="UTF-8"?>
Karakterleri temsil etmek için 16 bit kullanır.
Örnek:
<?xml version="1.0" encoding="UTF-16"?>
XML bildiriminin içinde kodlamayı kullanabilirsiniz. UTF-8, XML'deki varsayılan kodlamadır.
XML Sözdizimi
Aşağıdaki kod bölümü temel XML sözdizimini gösterir.
<?xml version = "1.0" encoding = "UTF-8" ?> <root> <child> <subchild>.....</subchild> </child> </root>
XML Bildirimi
XML bildirimi, XML sürümünden, karakter kodlamasından ve/veya bağımsız durumdan oluşur. Beyanname isteğe bağlıdır.
XML Bildirimi için Sözdizimi
Aşağıdaki kod bölümü XML bildiriminin sözdizimini gösterir.
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
XML Bildirim Kuralları
Aşağıda XML bildirim kuralları yer almaktadır.
- XML bildirimi mevcutsa, görünen ilk şey bu olmalıdır.
- XML bildirimi büyük/küçük harfe duyarlıdır ve küçük harfle başlamalıdır. <?xml.
- Kapanış etiketi yoktur.
XML Bildirimi Örneği
Aşağıdaki kod parçası bir XML bildiriminin örneğini göstermektedir.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
XML Yorumları
Yorumlar isteğe bağlıdır. Yorum eklemek belge içeriğini anlamanıza yardımcı olur.
XML Yorumları için Sözdizimi
Bir yorum şununla başlar: <!– ve ile biter ->.
Aşağıdaki kod parçası XML yorumlarının sözdizimini göstermektedir.
<!-- Add your comment here -->
XML Etiketleri ve Öğeleri
Etiketler, bildirimler dışında çift olarak çalışır. Her etiket çifti bir açılış etiketi (Aynı zamanda etiketi başlat) Ve kapanış etiketi (Aynı zamanda bitiş etiketi).
Etiket adları ekte yer almaktadır <>. Belirli bir etiket çifti için başlangıç ve bitiş etiketleri, bitiş etiketinin farklı olması dışında aynı olmalıdır. / sonra <.
<name>...</name>
Açılış ve kapanış etiketleri arasında kalan her şeye denir. içerik.
Açılış etiketi, içerik ve kapanış etiketinin tamamına bir eleman.
Opening tag + content + closing tag = an element
Not: Öğeler aynı zamanda nitelikler de içerebilir. Özelliklerini çok yakında öğreneceksiniz.
Aşağıdaki unsuru ele alalım.
<age>20</age>
Yukarıdaki öğede,
- yaş olduğunu elemanın adı.
Not: Etiket adı aynı zamanda bir olarak da anılır eleman or eleman adı.
- – açılış etiketi
- 25 - içerik
- – kapanış etiketi.
Aşağıda gösterildiği gibi etiketlerin arasında içerik yoksa buna şu ad verilir: boş etiketler.
<result></result>
XML Etiketi ve Öğe Kuralları
Aşağıdaki liste XML etiket ve eleman kurallarını göstermektedir.
- Etiketler büyük/küçük harfe duyarlıdır.
Örnek:
Doğru:
<age>20</age>
Yanlış:
<age>20</Age>
Not: YAŞ, Yaş, ve yaş XML'de üç farklı addır.
- Tüm XML belgeleri tek bir kök öğe içermelidir.
- Tüm öğelerin bir kapanış etiketi olması gerekir (bildirimler hariç).
- Etiket adı bir harfle veya alt çizgiyle başlamalıdır; XML.
- Bir etiket adı harfler, rakamlar, kısa çizgiler, alt çizgiler ve noktalar içerebilir. Kısa çizgiler alt çizgidir ve izin verilen tek noktalama işaretleri noktalardır.
- Etiket adı boşluk içeremez.
- Tüm elemanların düzgün bir şekilde iç içe geçmesi gerekir.
Örnek:
Doğru:
<b><u>This text is bold and italic</u></b>
Yanlış:
<b><u>This text is bold and italic.</b></u>
XML Nitelikleri
Bir öğenin niteliği, başlangıç etiketindeki etiket adından sonra yerleştirilir. Tek bir öğeye farklı özellik adlarıyla birden fazla özellik ekleyebilirsiniz.
Aşağıdaki XML belgesini ele alalım.
<company name="ABC Holdings" location="London"> <chairman>Mr. John</chairman> <gm>Mr. Wood</gm> </company>
Bunda iki özellik var şirket eleman, yani isim ve yer.
Hadi çalışalım isim nitelik,
- name=”ABC Holdingleri” – bir özellik
- isim – özellik adı
- ABC Holdings – özellik değeri
not: bir özellik adı olarak da bilinir nitelik.
Ayrıca yukarıdaki örnekte, şirket olduğunu kök eleman.
XML Öznitelik Kuralları
Aşağıdaki listede XML öznitelik kuralları gösterilmektedir.
- Öznitelik değerleri tırnak içinde olmalıdır.
- Bir öğe aynı ada sahip birden fazla nitelik içeremez.
Nitelik ve Öğe
Bir nitelik ile bir öğe arasındaki fark konusunda hâlâ kafanız mı karıştı? İşte başka bir örnek.
Aşağıda verilen A ve B belgelerini ele alalım.
Belge A:
<teacher subject="English"> <name>Mr. John</name>. <qualification>Graduate</qualification> </teacher>
Belge B:
<teacher> <subject>English</subject> <name>Mr. John</name> <qualification>Graduate</qualification> </teacher>
A belgesinde, konu bir özniteliği.
B belgesinde, konu bir eleman.
XML Varlıkları
XML Varlıkları nedir?
Basit bir ifadeyle varlıklar, özel karakterleri temsil etmenin bir yoludur. Varlıklar aynı zamanda şu şekilde de bilinir: varlık referanslar.
Neden XML Varlıklarına İhtiyacınız Var?
Bazı karakterler (örneğin ", & <, vb.) XML'de ayrılmıştır. Onlar olarak anılırlar özel karakterler doğrudan başka amaçlarla kullanılamaz.
Örneğin, < ve > için kullanılan semboller etiketler. Doğrudan klavyeden yazamazsınız daha kısa ve daha büyük işaretler. Bunun yerine varlıkları kullanmanız gerekir.
Aşağıdaki tabloda bazı popüler XML varlıkları gösterilmektedir.
Karakter | Açıklama | Varlık adı | kullanım |
---|---|---|---|
" | Tırnak işareti (çift tırnak) | quot | " |
& | Ampersand | amp | & |
' | Kesme işareti (tek tırnak) | sonra | ' |
< | Less imzalamaktan | lt | < |
> | İşaretten büyük | gt | > |
Örnek:
<friend> <name>My friends are Alice & Jane.</name> </friend>
HTML ve XML
HTML ve XML arasındaki benzerlikler
Aşağıdaki liste HTML ile XML arasındaki benzerlikleri göstermektedir.
- Her ikisi de açık formatlardır.
- Her ikisi de işaretleme dilidir.
- Her ikisi de içeriği tanımlamak için etiketleri ve nitelikleri kullanır.
HTML ve XML arasındaki farklar
XML, HTML'e benzese de XML, HTML'nin yerini almaz. HTML ve XML arasında da bazı önemli farklılıklar vardır.
Aşağıdaki liste tablosu HTML ile XML arasındaki karşılaştırmayı göstermektedir.
HTML | XML | |
---|---|---|
Için standlar | Köprü Metni Biçimlendirme Dili | Genişletilebilir İşaretleme Dili |
dil türü | Önceden tanımlanmış bir işaretleme dili. | İşaretleme dillerini belirtmek için bir çerçeve. |
Yapısal detaylar | Sağlanmadı. | Sağlanan. |
Amaç | Verileri görüntülemek için kullanılır. | Verileri taşımak için kullanılır |
Tarafından yönlendirilen | Biçim odaklı. | İçerik odaklı. |
Tabiat | Statik bir yapıya sahiptir. | Dinamik bir yapıya sahiptir. |
Etiket türü | Önceden tanımlanmış etiketler. | Kullanıcı tanımlı etiketler. |
Etiket sınırı | Sınırlı sayıda etiket mevcuttur. | Etiketler genişletilebilir. |
Etiketleri kapatma | Kapanış etiketlerinin kullanılması gerekli değildir (ancak kapanış etiketlerinin kullanılması önerilir). | Kapanış etiketleri zorunludur. |
Ad alanı desteği | Desteklenmiyor. | Desteklenir. |
Büyük küçük harf duyarlılığı | Etiketler büyük/küçük harfe duyarlı değildir. | Etiketler büyük/küçük harfe duyarlıdır. |
Beyaz boşluk | Beyaz boşluk korunamaz (beyaz boşluk göz ardı edilebilir). | Beyaz boşluk korundu (beyaz boşluk göz ardı edilemez). |
Ayrıştırma JavaSenaryo | Ekstra bir uygulamaya gerek yoktur. | DOM uygulamasına ihtiyaç var. |
Kod yerleştirme | Mutlaka gerekli değildir. | Gerekli. |
Hatalar | Küçük hataları görmezden gelebilir. | Hatalara izin verilmez. |
Dosya Adı Uzantısı | . Html or . Htm | . Xml |
Beden | Nispeten büyük. | Nispeten küçük. |
Teklifler | Özellik değerleri için tırnak işaretleri gerekli değildir. | XML öznitelik değerleri için gereklidir. |
Nesne desteği | Yerel nesne desteği sunar. | Nesnelerin sözleşmelerle ifade edilmesi gerekir. |
Boş destek | Boş değeri yerel olarak tanır. | Öğelerde xsi:nil kullanmanız gerekir. |
Kararları biçimlendirme | Uygulama verileri için doğrudan eşleme sağlar. | Daha önemli bir çaba gerektirir. |
Öğrenme eğrisi | Less XML ile karşılaştırıldığında dik bir öğrenme eğrisi. | Dik öğrenme eğrisi. |
Web sitesi | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
Temel HTML Söz Dizimi
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> </body> </html>
Temel XML Söz Dizimi
<?xml version = "1.0" encoding = "UTF-8" ?> <root> <child> <subchild>.....</subchild> </child> </root>
HTML ve XML ile aynı örnek
HTML'li
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <p>Book</p> <p>Name: Anna Karenina</p> <p>Author: Leo Tolstoy</p> <p>Publisher: The Russian Messenger</p> </body> </html>
XML'li
<?xml version = "1.0" encoding = "UTF-8" ?> <book> <name>Anna Karenina</name> <author>Leo Tolstoy</author> <publisher>The Russian Messenger</publisher> </book>
JSON ve XML
JSON ve XML arasındaki benzerlikler
Aşağıdaki liste JSON ve XML arasındaki benzerlikleri göstermektedir.
- Her ikisi de açık formatlardır.
- İkisi de kendini anlatıyor.
- Her ikisinin de hiyerarşik bir yapısı var.
- Her ikisi de çeşitli programlama dilleri tarafından ayrıştırılabilir ve kullanılabilir.
JSON ve XML arasındaki farklar
XML ile JSON arasında da birçok fark vardır.
Aşağıdaki tablolarda JSON ve XML arasındaki karşılaştırma gösterilmektedir.
JSON | XML | |
---|---|---|
Için standlar | JavaKomut Dosyası Nesne Gösterimi | Genişletilebilir İşaretleme Dili |
Genişletilmiş | JavaSenaryo | SGML |
Veri depolama | Veriler anahtar/değer çiftleri olarak depolanır. | Veriler ağaç yapısı olarak depolanır. |
Ad | Ad alanları için destek yok. | Ad alanlarını destekler. |
Yorumlar | Yorum eklenmesi desteklenmiyor. | Yorum ekleyebilir. |
Veri erişilebilirliği | JSON nesneleri olarak kolayca erişilebilir. | Verilerin ayrıştırılması gerekiyor. |
Metadata | Meta veri ekleme desteklenmiyor. | Meta veri yazabilir. |
Türleri | JSON türleri: dize, sayı, dizi, Boolean. | Tüm XML verileri dizeleri. |
Destek veri türleri | Destekler metin ve numara yalnızca veri türleri. | Birçok veri türünü destekleyin (metin, sayılar, resimler vb.) |
Dizinin desteği | XML'e kıyasla diziler için daha fazla destek. | Diziler için destek yok veya daha az. |
Nesnenin desteği | Nesne için yerel destek. | Nesnenin sözleşmelerle ifade edilmesi gerekir. |
AJAX araç seti desteği | Desteklenir. | Tam olarak desteklenmiyor. |
Değerleri alma | Kolay. | Zor. |
Seri durumdan çıkarma/serileştirme | Tam otomatik. | Geliştiriciler yazmalı JavaKomut dosyası kodu. |
Tarayıcı desteği | Çoğu tarayıcı tarafından desteklenir. | Tarayıcılar arası XML ayrıştırma karmaşık olabilir. |
kodlama | Yalnızca UTF-8 kodlamasını destekler. | Çeşitli kodlamayı destekler. |
Görüntüleme yetenekleri | Görüntüleme özelliği yok. | Görüntüleme yetenekleri sunun. |
Belge boyutu | XML'den daha küçüktür. | JSON'dan daha büyük. |
Dosya Adı Uzantısı | .json | . Xml |
Güvenlik | Less güvenli. | JSON'dan daha güvenli. |
Okuması kolay | Nispeten kolay. | Nispeten zor. |
Öğrenme eğrisi | Öğrenmesi kolay. | Dik öğrenme eğrisi. |
Web sitesi | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
Temel JSON Söz Dizimi
{string:value, .......}
JSON ve XML ile aynı örnek
JSON ile
{"books":[ {"name":"Anna Karenina", "author":"Leo Tolstoy"}, {"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"}, {"name":"The Great Gatsby", "author":"Scott Fitzgerald"}, {"name":"Invisible Man", "author":"Ralph Ellison"} ]}
XML'li
<?xml version = "1.0" encoding = "UTF-8" ?> <books> <book> <name>Anna Karenina</name> <author>Leo Tolstoy</author> </book> <book> <name>One Hundred Years of Solitude</name> <author>Gabriel Garcia Marquez</author> </book> <book> <name>The Great Gatsby</name> <author>Scott Fitzgerald</author> </book> <book> <name>Invisible Man</name> <author>Ralph Ellison</author> </book> </books>
XML DTD'si
DTD nedir?
DTD'nin anlamı DMeslek Type Dtanım. Bazı yasal unsurları kullanarak bir XML belgesinin yapısını tanımlar. XML DTD isteğe bağlıdır.
DTD Kuralları
Aşağıdaki liste DTD kurallarını göstermektedir.
- DTD mevcutsa, belgenin başında görünmelidir (DTD'nin üzerinde yalnızca XML bildirimi görünebilir).
- Öğe bildirimi bir ile başlamalıdır ! işaret.
- Kök elemanın DTD adı ve eleman tipi aynı olmalıdır.
DTD örnekleri
Dahili DTD örneği:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE student [ <!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)> ]> <student> <firstname>Mark</firstname> <lastname>Wood</lastname> <school>Hills College</school> </student>
Yukarıdaki örnekte,
- !DOCTYPE öğrencisi DTD bildiriminin başlangıcını gösterir. Ve öğrenci XML belgesinin kök öğesidir.
- !ELEMENT öğrencisi gösterir öğrenci öğe içermelidir isim soyisim ve okul elemanları.
- !ELEMENT adı gösterir firstname eleman tipindedir #PCDATA (Pgötlü Ckarakter Veri).
- !ELEMENT soyadı gösterir soyadı eleman tipindedir #PCDATA.
- !ELEMENT okulu gösterir okul eleman tipindedir #PCDATA.
Harici bir DTD örneği:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE student SYSTEM "student.dtd"> <student> <firstname>Mark</firstname> <lastname>Wood</lastname> <school>Hills College</school> </student>
DTD dosyasının içeriği (student.dtd) aşağıdaki gibidir.
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
XML DOM'u
DOM nedir?
DOM'un açılımı DMeslek ONesne Model. XML belgelerine erişmenin ve bunları düzenlemenin standart bir yolunu tanımlar. DOM'un (hiyerarşik) bir ağaç yapısı vardır.
DOM örneği
Aşağıdaki XML belgesini ele alalım.
<?xml version="1.0" encoding="UTF-8" ?> <school> <student> <name> <first_name>Alex</first_name> <last_name>Clarke</last_name> </name> <age>14</age> <address>No. 35, Flower Road, Leeds</address> </student> </school>
Yukarıdaki XML dosyasının ağaç yapısı aşağıdaki görüntüye benzeyecektir.
XML Doğrulama
İyi Biçimlendirilmiş XML Belgeleri Nelerdir?
İyi biçimlendirilmiş XML belgeleri, doğru sözdizimine sahip XML belgeleridir.
Geçerli XML Belgeleri Nelerdir?
Geçerli XML belgeleri iyi biçimlendirilmiştir ve DTD kurallarına da uygundur.
XML Ad Alanları
Neden Ad Alanları?
Ad alanları, öğe adı çakışmalarını önlemeye yardımcı olur.
Ad Alanı Bildirimi
Aşağıda ad alanı bildiriminin sözdizimi gösterilmektedir.
<element xmlns:name="URL">
Yukarıdaki beyanda,
- The xmlns anahtar kelime ad alanının başlangıcını belirtir.
- The isim ad alanının önekidir.
- The URL ad alanı tanımlayıcısıdır.
Ad Alanı Örnekleri
Aşağıdaki kod parçası ad alanlarına bir örnek göstermektedir.
<?xml version="1.0" encoding="UTF-8" ?> <abt:about xmlns:abt="https://www.guru99.com/about-us.html"> <abt:founder>Krishna</abt:founder> <abt:vision>Fun and Free Education for ALL</abt:vision> </abt:about>
XML Düzenleyicileri
Çeşitli XML düzenleyicileri mevcuttur. Herhangi bir metin düzenleyiciyi (not defteri vb.) XML düzenleyici olarak kullanabilirsiniz.
Aşağıdaki listede 2021'deki popüler XML editörlerinden bazıları gösterilmektedir.
1) XML Not Defteri
XML Not Defteri, XML için açık kaynaklı bir düzenleyicidir. Sol bölmede bir ağaç görünümü ve XSL Çıkışı, sağda ise düğüm metni bulunur. Altta bir hata ayıklama penceresi vardır.
Temel İstatistikler:
- Tür – XML düzenleyici
- Geliştirici – Microsoft
- Desteklenen işletim sistemi – Microsoft Windows.
- Fiyat - Ücretsiz
Bağlantı: http://microsoft.github.io/XmlNotepad/
2) Kalem Stüdyosu
Stylus Studio, dille yazılmış bir IDE'dir. C++ Genişletilebilir İşaretleme Dili (XML) için. Kullanıcının XML belgelerini, elektronik veri değişimi (EDI), CSV ve ilişkisel veriler gibi verileri düzenlemesine ve dönüştürmesine olanak tanır.
Temel İstatistikler:
- Tür – XML için entegre geliştirme ortamı (IDE)
- Geliştirici – Progress Software Corporation
- Desteklenen işletim sistemi – Microsoft Windows.
- Fiyat – Ücretli (En son fiyat için lütfen aşağıda verilen web sitesine bakın), Ücretsiz deneme mevcuttur.
Bağlantı: http://www.stylusstudio.com/
3) Altova XMLCasus
XMLSpy, öncelikle bir JSON ve XML Editörü olarak pazarlanmaktadır. Dahili bir şema tasarımcısı ve editörü vardır. Visual Studio ve Eclipse entegrasyon.
Temel İstatistikler:
- Tür – XML Düzenleyici
- Geliştirici – Altova
- Desteklenen işletim sistemi – Microsoft Windows.
- Fiyat – Ücretli (En son fiyat için lütfen aşağıda verilen web sitesine bakın), Ücretsiz deneme mevcuttur.
Bağlantı:https://www.altova.com/xmlspy-xml-editor
4) Oksijen XML Düzenleyicisi
Oxygen XML, geliştirilen bir çapraz platform düzenleyicisidir. JavaDTD, W3C XML Şeması, RELAX NG, Schematron, NRL ve NVDL şemaları gibi şemaların doğrulanmasına yardımcı olur.
Temel İstatistikler:
- Tür – XML düzenleyici
- Geliştirici – SyncRO Yumuşak Ltd.
- Desteklenen işletim sistemi – Windows, Linux ve Mac OS X
- Fiyat – Ücretli (En son fiyat için lütfen aşağıda verilen web sitesine bakın)
Bağlantı:https://www.oxygenxml.com/
5) Örneklendirin
Xmplify XML Düzenleyici, DTD ve XML Şeması tabanlı otomatik, otomatik belge doğrulama vb. özelliklerle tamamen XML uyumlu bir düzenleme ortamı sağlar.
Temel İstatistikler:
- Tür – XML Düzenleyici
- Geliştirici – MOSO Corporation
- Desteklenen işletim sistemi – Mac OS.
- Fiyat – Ücretli (En son fiyat için lütfen aşağıda verilen web sitesine bakın)
Bağlantı: http://xmplifyapp.com/
XML Ayrıştırıcılar
XML ayrıştırıcı, XML belgeleriyle çalışmak için bir arayüz sağlayan bir yazılım kitaplığıdır. XML belgesinin formatının doğru olup olmadığını kontrol eder. Bazı ayrıştırıcılar XML belgelerini de doğrulayabilir. Günümüz tarayıcıları XML ayrıştırıcılarıyla birlikte gelir.
saks
saks için standlar Suygu Aiçin PI XML. O bir application pprogram iarayüz (API) XML belgelerini ayrıştırmak için. Olay işleyicilerine benzer şekilde davranırlar. Java.
DOM'dan farklı olarak SAX, olay tabanlı XML ayrıştırıcının bir örneğidir.
İşte SAX ve DOM arasındaki bazı önemli farklar.
saks | KARAR | |
---|---|---|
Için standlar | XML için basit API | Belge Nesnesi Modeli |
Ayrıştırıcı türü | Etkinliğe dayalı | nesne tabanlı |
XML okuma ve yazma | Salt okunur | Hem oku hem yaz |
Düğüm ekleme/güncelleme/silme | Düğümler eklenemiyor/güncellenemiyor/silinemiyor | Düğümleri ekleyebilir/güncelleyebilir/silebilir |
Bellek verimliliği | İyi bellek verimliliği | Değişir |
hız | DOM Ayrıştırıcısından daha yavaş | SAX Ayrıştırıcıdan daha hızlı |
Uygun | Küçük boyutlu dosyalar | Büyük boyutlu dosyalar |
XML Veri Bağlama
XML veri bağlama, bir XML belgesindeki verilerin bilgisayarın belleğindeki bir iş nesnesi olarak temsil edilmesidir.
XML veri bağlama için üç yaklaşım vardır.
- XML şeması tabanlı veri bağlama: İlgili XML sınıfları şemaya göre oluşturulur.
- Sınıf tabanlı veri bağlama: Sınıflara dayalı olarak karşılık gelen bir XML şeması oluşturulur.
- Haritalamaya dayalı veri bağlama: Mevcut bir XML şemasının bir dizi sınıfla (ve tam tersi) nasıl eşleştiğini açıklar.
XML veri bağlama çerçeveleri de vardır.
Örnekler:
XML veri bağlama, çerçevelerle kolaydır. Veri bağlama çerçevesi sizin için büyük miktarda kod üretir. Bir DTD veya XML şemasında besleme yapmanız gerekir.
XML Şemaları
XML plan (Ayrıca şöyle bilinir XML şeması tanımı or XSD) XML belge yapısını tanımlamak için kullanın. DTD'ye bir alternatiftir.
Şema Neden Önemlidir?
DTD yeterince genişletilebilir ve esnek olmadığından şema kadar güçlü değildir. Dolayısıyla bazı durumlar için uygun olmayabilir. Böyle bir durumda şema önemlidir. XML şeması kullanmanın temel amacı, bir XML belgesinin öğelerini ve niteliklerini tanımlamaktır.
XML Şemasının DTD'den Farkı Ne Kadardır?
Aşağıdaki karşılaştırma XSD'nin (XML Şeması) DTD'den nasıl farklı olduğunu göstermektedir.
DTD | XSD | |
---|---|---|
Için standlar | Belge Türü Tanımı | XML Şeması Tanımı |
uzayabilirlik | Genişletilemez | Genişletilebilir |
XML yapısında kontrol | Less kontrol | Daha fazla kontrol |
Destek veri türleri | Desteklenmez | destekli |
Ad Alanı Desteği | Desteklenmez | destekli |
Aşağıdaki kod parçası XML şemasının bir örneğini göstermektedir.
xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema"> <xs:element name = "employee"> <xs:complexType> <xs:sequence> <xs:element name = "firstname" type = "xs:string" /> <xs:element name = "lastname" type = "xs:string" /> <xs:element name = "phone" type = "xs:int" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
XML'in avantajları
Burada, XML'in artıları/yararları:
- Verilerin taşınmasını ve paylaşılmasını kolaylaştırdı.
- XML, çeşitli platformlar arasında veri alışverişini geliştirir.
- Bir metin belgesine yerleştirilen bir dizi karakter ve/veya sembolden oluşan bir işaretleme dilidir.
- XML, XML belgesinin görüntülendikten sonra nasıl görünmesi gerektiğini belirtir.
- Platform değiştirme sürecini basitleştirir.
- Veri kullanılabilirliğini artırır.
- Çok dilli belgeleri ve Unicode'u destekler.
- Öğrenmesi ve kodlaması nispeten kolay.
- Bir metin belgesine yerleştirilen bir dizi karakter ve/veya sembolden oluşan bir işaretleme dilidir.
- Doğrulamayı DTD ve Schema kullanarak gerçekleştirir.
- Belgelerin sistemler ve uygulamalar arasında taşınabilir olmasını sağlar. XML'in yardımıyla farklı platformlar arasında hızlı bir şekilde veri alışverişi yapabilirsiniz.
- XML, verileri HTML'den ayırır.
XML'in dezavantajları
XML kullanmanın eksileri/dezavantajları şunlardır:
- XML bir işleme uygulaması gerektirir.
- XML sözdizimi, bazen kafa karıştırıcı olabilen diğer alternatif 'metin tabanlı' veri iletim biçimlerine benzemektedir.
- İçsel veri türü desteği yok
- XML sözdizimi gereksizdir.
- Kullanıcının kendi etiketlerini oluşturmasına izin vermez.
ÖZET
- XML, Genişletilebilir İşaretleme Dili anlamına gelir. XML, işaretlemeyi kullanan ve genişletilebilen bir dildir (programlama dili değildir).
- Ana amaç veriyi görüntülemek değil, veriyi aktarmaktır.
- XML 1.1 en son sürümdür. Ancak XML 1.0 en çok kullanılan versiyondur.
- Etiketler, bildirimler dışında çift olarak çalışır.
- Açılış etiketi + içerik + kapanış etiketi = bir öğe
- Varlıklar özel karakterleri temsil etmenin bir yoludur.
- DTD, Belge Türü Tanımı anlamına gelir. Bazı yasal unsurları kullanarak bir XML belgesinin yapısını tanımlar. XML DTD isteğe bağlıdır.
- DOM, Belge Nesne Modeli anlamına gelir. XML belgelerine erişmenin ve bunları değiştirmenin standart yöntemini tanımlar.
- İyi biçimlendirilmiş XML belgeleri, doğru sözdizimine sahip XML belgeleridir.
- Geçerli XML belgeleri iyi biçimlendirilmiştir ve ayrıca DTD kurallarına uygundur.
- Ad alanları, öğe adı çakışmalarını önlemeye yardımcı olur.