XML Nedir Ne İşe Yarar?
XML, Extensible Markup Language sözcüklerinin kısa adıdır. Eks-em-el olarak okunur. XML’in teknik ayrıntılarına değinmeden kullanım alanı olarak bir bakalım: Örneğin denizcilik firmaları taşımacılıkla ilgili bütün bilgilerini dünyaya yayılmış acentelerine EDI (Electronic Data Interchange) aracılığıyla ulaştırırlardı. Ancak EDI, yalnızca uyumlu sistemler arasında çalışan bir sistem olduğu için, bilgisayar sistemleriyle bütünleşik değildir.
Belli firmalar tarafından uygulanan EDI iletişimi, faturaları, siparişleri uyumlu bir formatta transfer etmeyi sağlardı. İşte XML’i bu tür gereksinimleri karşılamayı amaçlayan bir teknoloji olarak algılamak gerekir.
Yıllardır firmalar ve uygulama geliştiriciler verilerin temsili (represent) üzerinde çalıştılar. XML, verilerin alış verişiyle ilgili temel sorunları ortadan kaldıran bir ortak dildir ve şu kolaylıkları sağlar:
- XML işaretler içine gömülü olan verilerin yapılandırması için kurallar tanımlar.
- Kendi terimlerimizi (vocabulary) tasarlamayı ve kendi verilerimizi temsil etmeyi sağlar.
- Web datasının (verisinin) depolanmasını ve iletilmesini sağlar.
Bu durumda XML, kuruluşların aralarında veri alışverişini sağlayan bir “evrensel bütünleşme” aracıdır. Web temelli uygulamaların geleceği olan XML, bir firma temelli olmadan bağımsız olarak veri temsil ve gönderme kuralları ortaya çıkmıştır. Bunun dışında Web data gibi kavramlar ortaya çıkmıştır. Ayrıca Web’in yeni dili ve eski EDI (Electronic Data Interchange) teknolojisi yerine Web üzerinde veri taşımak için kullanılan yeni bir teknolojiyi ifade eder.
“XML veriyi tanımlamak ve göndermek için tek tip (uniform) bir yöntem sağlar”.
Teknolojik özelliklerinin dışında XML, HTML gibi de bir dildir. Bu dil aracılığıyla XML belgeleri oluşturulur. XML, bir meta-dildir. Dil tanımlamayı sağlayan bir dil gibi açıklayabiliriz.
XML verileri değiştirmek için kullanılır. Gerçek dünyada veritabanı sistemleri farklı biçimlerde (formatta) veriler kullanırlar. İşte XML, farklı sistemler arasında verilerin alışverişini sağlar.
XML (Extensible Markup Language), HTML gibi bir işaretleme dilidir (markup language). Ancak HTML gibi veriyi görüntülemek için değil de ana amaç olarak veriyi tanımlamak için (describe) geliştirilmiştir. Kuruluşlar arasında veri alışverişini sağlar.
XML, Web üzerinde veri (data) kullanımı için evrensel bir dildir. XML sayesinde çok değişik uygulamalar arasında veri alışverişi yapılabilmektedir.
XML’in sağladığı yararlar:
- Açık standartlar (open standards).
- Esnek Web uygulamalarının geliştirilmesi.
- Farklı kaynaklar ve uygulamalar arasında verilerin bütünleştirilmesi.
- Verilerin değişik görünümlerinin alınmasını sağlar.
- Veriler üzerinde yerel olarak hesaplama yapılmasını sağlar. Ulaştırılan veriler tarayıcı tarafından okunur ve ardından sonraki işlem için bir yerel uygulamaya teslim edilir.
- Değişik uygulamaların içindeki verileri tanımlamak için kullanılır. Verinin kendisini kendini tanımlayabildiği için (self-describing) gönderen uygulamaya bağlı kalmadan alınıp işlenebilir.
- XML sayesinde yalnızca değişen verilerin güncellenmesi sağlanır. Değişen verinin görüntülenmesi bütün sayfanın yenilenmesine yol açmaz.
XML içinde kodlanmış veriler Web üzerinden masaüstlerine taşınır. XML’in ulaştırılması için de HTTP kullanıldığı için bütün veritabanları ve dosyalarla uyumlu hale gelir.
XML, text tabanlı bir formata sahiptir ve uygulama geliştiricilerin uygulamalarla istemciler arasında veri transferini sağlar. XML ayrıca yapısal verilerin sunucular arasında da alışverişini sağlar.
XML’in Geçmişi
XML’in temelleri SGML’den gelir. SGML (Standard Generalized Markup Language -ISO 8879), elektronik dokümanların farklı içeriklerini ve yapılarını tanımlamak için kullanılan uluslar arası bir standarttır.
XML, SGML’nin Internet üzerinde kullanılmasını sağlar. SGML’nin bir alt kümesidir. Diğer bir deyişle basit bir diyalekti olan bir SGML kümesidir. SGML sisteminde her belge kendi söz dizim yapısını tanımlayabilir. Bu anlamda XML de, sizin kendi işaret dilinizi (markup language) tanımlamanızı sağlar.
XML, World Wide Web Consortium (W3C), tarafından geliştirilmiş bir projedir. Genel formatı The v1.0 specification olarak W3C tarafından Şubat, 1998 tarihinde bir Recommendation olarak kabul ve XML Specification olarak tanımlanmıştır.
XML ve HTML Arasındaki Farklar
Hemen çok sorulan bir sorunun yanıtı verelim: XML, HTML’nin gelişmişi ya da HTML’nin yerine geçecek bir dil değildir. HTML bir doküman (belge) türlerinden yalnızca birisidir. Normal bir belgeyi tanımlamak için kullanılır. Başlıklar, değişik yazı türleri, listeler, şekiller ve resimler gibi.
XML özellikle verilerin tanımlanması ve farklı ortamlar arasında gönderilmesini sağlamak için geliştirilmiştir. Diğer bir deyişle veri tanımlama özellikleriyle HTML’nin tamamlayıcısıdır.
HTML bir sözcüğü etiketler arasına alarak metnin koyu ya da italik yazılmasını sağlar. Oysa XML ise yapısal verilerin etiketlenmesi için bir iskelet (framework) sağlar.
SGML, Standard Generalized Markup Language-ISO 8879), elektronik dokümanların farklı içeriklerini ve yapılarını tanımlamak için kullanılan uluslar arası bir standarttır.
HTML (HyperText Markup Language-RFC 1866), SGML’nin Web üzerinde özel bir uygulamasıdır.
XML’de bir SGML’nin kısaltılmış bir şeklidir. Dokümanlarınızı Web üzerinde tanımlamayı kolaylaştırmayı sağlar. Aynı şekilde program yazmayı da kolaylaştırır.
XML, HTML’nin yerine geliştirilmemiştir. Farklı amaçlara sahiptir. XML kullanmak daha fazla veri odaklıdır. Verinin taşınması, dönüştürülmesi ve sunulması gibi. Diğer bir deyişle HTML ile verileri göstermek için, XML ise verileri tanımlamak (describing) içindir.
XML, SGML ve HTML aynı şey midir?
Hayır. SGML ana dildir. Eski yazılardan teknik dokümanlara kadar binlerde farklı doküman türünü tanımlamak için kullanılır. HTML ise bu doküman (belge) türlerinden yalnızca birisidir. Normal bir belgeyi tanımlamak için kullanılır. Başlıklar, değişik yazı türleri, listeler, şekiller ve resimler gibi.
XML’de bir SGML’nin kısaltılmış bir şeklidir. Dokümanlarınızı Web üzerinde tanımlamayı kolaylaştırmayı sağlar. Aynı şekilde program yazmayı da kolaylaştırır.
XML, HTML’nin gelişmişi olarak tasarlanmıştır. XML ayrıca özel etiketlerin de tanımlanmasına ve aralarındaki ilişkileri tanımlamasına olanak tanır.
Aşağıdaki nedenler HTML yerine XML kullanmayı gerektirir:
- Doküman yaratanlar kendi doküman türlerini tasarlayabilirler.
- CSS ve XSL ile tarayıcıdan daha iyi yararlanılır.
- Belli bir firma ile kısıtlı değildir.
Bir XML Belgesi Oluşturmak
Bir alan etiketlerle çevrilir:
faruk
Eğer bir etiket veri içermiyorsa o zaman yerine yalnızca etiketi yeterlidir.
faruk
çubukçu
1234 sokak no: 1
izmir
ayşe
örnek
1234 sokak no: 2
istanbul
Örneklerde görüldüğü gibi XML begesi hiyerarşik bir yapıya sahiptir. XML belgeleri örneklerdeki gibi yalnızca kayıt türü verilerle değil de daha geniş bir alanda kitaplar, notalar vb. gibi düzenli bir formata sahip olmayan verileri de içerebilir.
Örnek bir XML belgesi:
faruk
çubukçu
1234 sokak no:2