13 Ocak 2014 Pazartesi

XML Nedir?

Merhaba Webkolog takipçileri!

Bugün sizlerle web dünyasının temel taşlarından biri olan XML'i detaylı bir şekilde inceleyeceğiz. XML, yani Genişletilebilir Biçimlendirme Dili (Extensible Markup Language), veri depolama ve taşıma amacıyla tasarlanmış, esnek bir işaretleme dilidir. HTML'den farklı olarak, XML verinin nasıl görüneceğini değil, ne olduğunu tanımlar. Bu sayede farklı sistemler arasında veri alışverişini çok daha kolay ve anlaşılır hale getirir.

---

XML'in Temel Yapısı ve Ağaç Modeli

XML, veriyi ağaç (tree) yapısında organize eder. Bu yapı, ana bir kök (root) elementin altında dallanan alt elementlerden oluşur. Her element, kendi içinde başka elementler veya veri içerebilir. İşte size basit bir XML örneği:

<?xml version="1.0" encoding="utf-8"?>

<tablo>
	<satir id="1">
		<isim>Ali</isim>
		<yas>23</yas>
		<bilgi/>
	</satir>
</tablo>

Bu örnekte, <tablo> elementi kök elementtir. <satir> elementi bir alt element olup, id adında bir niteliğe (attribute) sahiptir. <isim>, <yas> ve <bilgi/> ise <satir> elementinin alt elementleridir. Gördüğünüz gibi, <bilgi/> gibi boş elementler kendilerini tek bir etiketle de kapatabilirler.

---

XML Kullanım Kuralları: Olmazsa Olmazlar

XML'in doğru ve hatasız bir şekilde kullanılabilmesi için uymamız gereken bazı önemli kurallar var. Bu kurallar, XML dokümanlarının hem insanlar hem de makineler tarafından kolayca yorumlanabilmesini sağlar:

  • Tüm Etiketler Kapatılmalı: Her açılan etiketin mutlaka bir kapatma etiketi olmalıdır (örneğin, <isim></isim>) veya boş elementler için <isim/> şeklinde kendini kapatmalıdır.
  • Büyük/Küçük Harf Duyarlılığı: XML, büyük ve küçük harflere karşı duyarlıdır. Yani <isim> ile <Isım> farklı etiketler olarak algılanır.
  • Element İsimleri İçin Kurallar:
    • Rakam ile başlayamaz, ancak içinde rakam içerebilir (örneğin, <urun1> geçerlidir, <1urun> geçersizdir).
    • "XML", "Xml", "xml" gibi karakterlerle başlayamaz.
    • İsimlerin arasında boşluk olamaz (örneğin, <ad soyad> geçersizdir, <adSoyad> veya <ad_soyad> geçerlidir).
  • Etiketler Düzgün Sırada Kapatılmalı: İç içe geçen etiketlerde, en son açılan etiket ilk kapatılmalıdır (örneğin, <a><b></b></a> doğruyken, <a><b></a></b> yanlıştır).
  • Tek Bir Kök Element Olmalı: Her XML dokümanında sadece bir adet kök (root) element bulunmalıdır. Bu, tüm içeriği kapsayan ana elementtir.
  • Nitelik Değerleri Tırnak İçinde: Element niteliklerinin (attributes) değerleri mutlaka çift tırnak (") içinde yazılmalıdır (örneğin, <insan id="1"></insan>).
  • Özel Karakterler: Verilerinizde "<", ">", "&" gibi özel karakterler kullanmanız gerektiğinde, bunları doğrudan yazmak yerine entity referansları kullanmalısınız (örneğin, &lt;, &gt;, &amp;).
  • Açıklama Satırları: XML'de açıklama satırları <!-- içerik --> şeklinde yazılır.
---

Özel Karakterlerin Güvenli Gösterimi: CDATA

Bazen XML içeriğinde doğrudan özel karakterleri (örneğin HTML kod parçacıkları) kullanmamız gerekebilir. Bu durumlarda CDATA bölümleri devreye girer. CDATA, içerisindeki metni ayrıştırıcılar tarafından yorumlanmadan, olduğu gibi kabul edilmesini sağlar. Örneğin:

<![CDATA[1000 < x < 2000]]>

Bu kodun çıktısı tam olarak 1000 < x < 2000 olacaktır.

---

XML Dosya Doğrulama ve Biçimlendirme

XML dokümanlarınızın belirli bir yapıya ve kural setine uygun olup olmadığını doğrulamak için farklı mekanizmalar kullanılır:

  • DTD (Document Type Definition): XML dokümanlarının yapısını ve geçerli elementleri tanımlayan daha eski bir doğrulama yöntemidir.
  • XSD (XML Schema Definition): DTD'ye göre daha yeni ve gelişmiş bir doğrulama standardıdır. Veri tipleri, isim alanları (namespaces) ve daha karmaşık yapıları tanımlama yeteneği sunar.

XML verilerini farklı formatlara dönüştürmek veya biçimlendirmek için ise XSL (Extensible Stylesheet Language) kullanılır. XSL, özellikle XML verisini HTML'e dönüştürerek web sayfalarında görüntülemek için yaygın olarak tercih edilir.

Umarım bu makale, XML'i daha iyi anlamanıza ve projelerinizde daha etkin bir şekilde kullanmanıza yardımcı olmuştur. Verilerinizi yapılandırmanın ve farklı platformlar arasında paylaşmanın güçlü bir yolu olan XML, modern web uygulamaları için vazgeçilmez bir araç olmaya devam ediyor.

Webkolog'u takipte kalın!

Hepinize bol kodlu ve keyifli öğrenme süreçleri dilerim!

0 yorum:

Yorum Gönder