Nedir?

Extensible Markup Language XML

XML, Genişletilebilir Biçimlendirme Dili anlamına gelir. Metin ve/veya içerikleri etiketlerle düzenlemenin bir yoludur. XML, hem insanlar hem bilgi işlem sistemleri tarafından kolayca okunabilecek dokümanlar oluşturmaya yarayan bir işaretleme dilidir. W3C tarafından tanımlanmış bir standarttır. Bu özelliği ile veri saklamanın yanında farklı sistemler arasında veri alışverişi yapmaya yarayan bir ara format görevi de görür. Etiketler şöyle görünür: <?xml?>

Tabii ki, mümkün olsa da, bu insanlar tarafından okunacak şekilde tasarlanmamıştır. Makineler tarafından işlenecek şekilde tasarlanmıştır. Genellikle bir program bir XML belgesi oluşturur ve diğeri belgeyi bir dereceye kadar hesaplar. XML belgesi, etiketlerin farklı olması dışında bir HTML belgesine çok benziyor.

Aslında, her biri farklı bir amaç için birçok farklı XML lehçesi vardır. Bu lehçelerin her birinin kendi etiketleri vardır. Ve daha fazla etiket eklenebilir. Bu yüzden isimdeki “EXtensible”. Web sayfaları yazmak için bir XML lehçesi vardır. Buna XHTML denir. Temel olarak, küçük sözdizimsel farklılıklar dışında HTML ile aynı şeydir. Örneğin HTML’de yazarken, XML’de yazarsınız.

Extensible Markup Language (Genişletilebilir İşaretleme Dili, kısaca XML), hem insanlar hem bilgi işlem sistemleri tarafından kolayca okunabilecek dokümanlar oluşturmaya yarayan bir işaretleme dilidir. W3C tarafından tanımlanmış bir standarttır. Bu özelliği ile veri saklamanın yanında farklı sistemler arasında veri alışverişi yapmaya yarayan bir ara format görevi de görür. SGML’in basitleştirilmiş bir alt kümesidir. XML’in tasarımcısı, HTML’i de tasarlamış olan Tim Berners Lee’dir. Dilin düzenlenmesi de W3C’nin sorumluluğundadır. Karmaşık kod yazımı şeklinde görünen dizin, aslında bir grafiktir.

Bir web sayfasında verilerle biçimler aynı koddadır. Örneğin bir haber yazısında haber ile bu haberin hangi renk gösterileceği aynı kodda bulunur. Bunun bazı sakıncaları vardır. Veriler ile biçimler genellikle farklı insanlar tarafından yapılır. Yine aynı veri değişik ortamlarda değişik görünmesi gerekir (örneğin web sayfası,cep telefonu veya yazdırılırken aynı veri değişik gösterilebilir). Sonuç olarak veriler ile biçimlerin ayrı olması çok büyük yararlar sağlar. İşte XML verileri saklamak için geliştirilmiştir.

XML HTML’e benzer. HTML gibi element’lerden oluşur. Aşağıda bir XML örneği görülüyor.
<worker>
    <name>hazarfen</name>
    <surname>ahmet</surname>
</worker>

Yukarıda hazarfen ahmet adlı çalışanın bilgisi bulunmaktadır. İstenirse daha fazla bilgi eklenebilir. Çünkü element yaratmak sizen elinizdedir.


HMTL’in en büyük eksikliği yeni tag’ler eklenememesidir. Halbuki XML’de tag’leri siz yaratırsınız. Aslında XML’in kendisi bir dil değildir. HTML, SMIL, SVG vs.. gibi markup dili yaratmaya yarayan bir teknolojidir. XML’de ile HTML’deki gibi belirli element’ler yoktur.


HTML’de verilerle biçimlerin aynı yerde olması verilerin veya biçimlerin istenildiği zaman kullanılmasını engeller. Örneğin bir programın HTML dosyasındaki verileri kullanması zordur. XML ile bu çok kolay bir şekilde yapılır. Çünkü XML sadece veri tutar. Bu verilerin nasıl gösterileceği ise XSL ile belirlenir. XSL bir XML document’ini başka bir XML document’ine çeviren bir dildir. Bu sayede bir XML document’ini HTML’le veya cep telefonları için VML’ye çevirebilirsiniz.


HTML’in hoş görülü bir dil olması çok büyük bir sorun yaratır. HTML’de bazı tag’ler kapanmasa da olur. Attribute’lerde çift tırnak tek tırnak hatta hiç tırnak kullanmasanızda olur. İşte bu yüzden bir HTML dosyasının düzgün bir şekilde yazılıp yazılmadığını bilemessiniz. Halbuki XML’de kurallar kesindir ve uyulmak zorundadır. Açılan bir tag kapatılmalıdır. Bunun gibi kurallara uyan bir document well-formed document olur. Eğer XML document’i well-formed değilse hiç değerlendirilmez ve bir programın document’i okuması sırasında hata oluşur.

XML Parser ve Processor’ları

Bir XML document’i text dosyasıdır. Bu text dosyasını okuyup, içindeki verileri elde eden programlara parser denir. Parser XML document’ini okur ve element’lerden bir nesne hiyerarşisi yaratır. Ve oluşturulan bu nesnelerden istenilen bilgiler alınabilir. Örneğin çocuk element’lerini veya bir attribute’nin değerini almak gibi. XML Parser’i bu nesnelerin hiyerarşisini oluşturmak için XML document’inin well-formed olmasını ister. Eğer değilse hata oluşur. Böylece siz parse edilmiş bir document’in well-formed olduğuna emin olursunuz.

Bazen bir XML document’ini başka bir tip XML’e veya başka bir type’e döndürmek gerekebilir. En önemlisi bir XML document’inin HTML’e döndürülmesidir. Bu işlem için XSL kullanılır. Bir XML document’ini bir XSL kullanarak başka bir type’e döndüren programlarada processor denir. Üretilen type bir markup dili olmayabilir. Örneğin bir dosyaya sadece yazılar aktarılabilir.

Valid XML

Bir XML document’inin well-formed olması sadece yazım kurallarına uyduğunu gösterir. Halbuki XML’i oluşturan kişi normalde kullanmaması gereken bir element’i kullanabilir. Eğer bu element yazım kurallarına uygun eklenmişse well-formed hatası gelmez. Bunu engellemek için siz hangi element’lerin kullanılacağını, bir element’in içinde hangi element’lerin olabileceğini, bir elementin kaç attributesi olduğu vs.. gibi özelliklerini baştan verirsiniz. Böylece parser document’i değerlendirirken element’lerin, tag’lerin, attribute’lerin doğru kullanılıp kullanılmadığı denetler. Bunu yapmak için DTD veya XML Schmema kullanılır. Örneğin yukarıdaki XML örneği için
<!ELEMENT worker (name,surname)>    
<!ELEMENT name (#PCDATA)>
<!ELEMENT surname (#PCDATA)>

şeklinde bir DTD yaratılıp , XML document’inde bu belirtilirse artık oluşturulacak document’in valid olacağına emin olabilirsiniz. Yukarıdaki örnekte bir worker element’i yarattık ve içerisinde name ve surname element’leri olduğunu belirttik. Böylece XML document’inde worker elementi için örneğin year element’i kullanılamaz. Kullanılırsa document valid olmayacağı için bir hata gelir.

XML Özellikleri Nelerdir?

  • XML, Case Sensivite (Büyük Küçük harfe duyarlı) bir dildir.
  • XML, markup dillerinin açıklamasında kullanılan meta dilidir.
  • XML ile XHTML, SVG, MathXML gibi pek çok programlama dili oluşturulabilir.
  • XML formatında yazı yazarken, açılan etiketler kesinlikle kapatılmalıdır.
  • XML formatında yazı yazarken, etiketleme standart değildir yani etiketlere nitelik tanımlanabilir.
  • XML formatında yazı yazarken, etiketlemeler hiyerarşik yapıda olmak zorundadır.

XML Ne İşe Yarar?

  • XML ile verileri yedekleme işlemi yapabilirsiniz.
  • XML ile veri transferi yapabilirsiniz.
  • XML ile verilerin paylaşılması, taşınması, yayınlanması ve saklanması gibi işlemler yapabilirsiniz.
  • XML ile Platform değişiklikleri kolayca yapabilirsiniz.
  • XML, verilerin kullanımını kolaylaştırır.

XML ile Neler Yapılabilir?

  • Site haritası oluşturabilir. XML site botları arama motoru botları için yazılmıştır. Herhangi bir arama motoru botu, XML dosyasına bakarak sitenizle ilgili tüm gerekli bilgileri çok seri biçimde çıkarır.
  • SEO için önemlidir. Çünkü yukarıda da belirttiğim gibi site haritaları SEO için kritik bir öneme sahiptir ve bu sayede işlerini kolayca tamamlayabilirler.
  • Google Shopping Feed oluşturulabilir.
  • Veritabanlarının aktarımı yapılabilir.
  • Geliştirilmiş E-Ticaret Takibi için DataLayer (Veri Katmanları) oluşturulabilir.

XML kullanımı

Günümüzde birçok yazılım, diğer yazılımlarla veri alışverişini XML formatı üzerinden yapmaktadır. Ayrıca XML’i esas format olarak kullanan uygulamalara rastlamak mümkündür. Rastgele veri erişimine uygun olmadığından veri tabanı amaçlı kullanılmamaktadır.

Microsoft’un geliştirdiği .NET teknolojisinde kullanılan DataSet nesneleri XML formatındadır. Ayrıca XML, ofis uygulamalarının alt yapısı haline getirilmiştir.

İçeriğin, doküman yapısının ve şeklin birbirinden ayrı ele alınması XML’i İçerik yönetim sistemlerinin ideal formatı haline getirmiştir.

Diğer XML lehçeleri RSS ve Atom içerir.

Hits: 6

Bilgisayar mühendisi, girişimci, okur-yazar, webmaster, yönetici, insan...