Microsoft hesabıyla oturum açın
Oturum açın veya hesap oluşturun.
Merhaba,
Farklı bir hesap seçin.
Birden çok hesabınız var
Oturum açmak istediğiniz hesabı seçin.

Genişletilebilir İşaretleme Dili'ni (XML) ve kuruluşunuzun neden XML kullanması gerektiğini açıklayan birçok nedeni duymuş olmalısınız. Peki XML tam olarak nedir? Bu makalede XML'nin temelleri, ne olduğu ve nasıl çalıştığı açıklanır.

Bu makalede

İşaretlemeye, işaretlere ve etiketlere kısa bir bakış

XML'yi anlamak için, verileri işaretleme fikrini anlamak yararlı olur. İnsanlar yüzyıllardır belge oluşturuyor ve yine bu kadar süredir bu belgelere işaretler koyuyorlar. Örneğin, okulda öğretmenler öğrencilerin çalışmalarına düzeltme işaretleri koyuyorlar. Öğrencilere paragrafları taşımalarını, tümceleri netleştirmelerini, yazım hatalarını düzeltmelerini, vb. söylüyorlar. Belgeye işaret koymak, belgedeki bilgilerin yapısını, anlamını ve bilgilerin görünüşünü nasıl tanımladığımızı göstermektir. Microsoft Office Word'de Değişiklikleri İzle özelliğini kullandıysanız, işaret koymanın bilgisayarlı bir uyarlamasını kullanmışsınızdır.

Bilgisayarda "işaret koyma", "işaretleme" şekline dönüşmüştür. İşaretleme, etiket (veya bazen belirteç) olarak adlandırılan kodlar kullanarak verilerin yapısını, görünüşünü ve XML örneğinde olduğu gibi anlamını tanımlama sürecidir.

Bu makalenin HTML kodu, bilgisayar işaretlemesinin nasıl çalıştığını göstermek için iyi bir örnektir. Kodu gözden geçirirseniz (Microsoft Internet Explorer'da sayfaya sağ tıklayın ve ardından Kaynağı Görüntüle'ye tıklayın), okunabilir metinlerle <p> ve <h2> gibi Köprü Metni İşaretleme Dili (HTML) etiketlerinin bir bileşimini görürsünüz. HTML ve XML belgelerindeki etiketler kolayca ayırt edilebilir çünkü açılı ayraçlar içine alınmışlardır. Bu makalenin kaynak kodunda, HTML etiketleri her paragrafın başlangıcını ve sonunu tanımlamak (<p> ... </p>) ve her resmin konumunu belirtmek gibi çeşitli işler yapar.

Peki XML olmasını sağlayan nedir?

HTML ve XML belgeleri etiketlerle çevrili veriler içerir, ancak iki dil arasındaki benzerlikler burada sona erer. HTML'de etiketler verilerinizin görünümünü tanımlar; başlıklar buraya gider, paragraf burada başlar ve bu şekilde devam eder. XML'de etiketler, verilerinizin yapısını ve anlamını (verilerin ne olduğu) tanımlar.

Verilerinizin yapısını ve anlamını açıkladığınızda, bu verileri birçok şekilde yeniden kullanmak mümkün olur. Örneğin, bir satış verileri bloğunuz varsa ve bloktaki her öğe net bir şekilde tanımlanmışsa, yalnızca ihtiyacınız olan öğeleri satış raporuna yükleyip, diğer öğeleri muhasebe veritabanına yükleyebilirsiniz. Başka bir deyişle, bir sistem kullanarak verilerinizi oluşturup bunları XML etiketleriyle işaretleyebilir ve ardından bu verileri donanım platformuna veya işletim sistemine bakılmaksızın başka birçok sistemde işleyebilirsiniz. XML'nin veri alışverişinde en popüler teknolojilerden biri haline gelmesinin nedeni işte bu taşınabilirliktir.

Devam ederken şu olguları unutmayın:

  • XML yerine HTML kullanamazsınız. Bununla birlikte, XML verilerinizi HTML etiketleri içine yerleştirip Web sayfasında görüntüleyebilirsiniz.

  • HTML, tüm kullanıcıların paylaştığı, önceden tanımlanmış bir etiket kümesiyle sınırlıdır.

  • XML, verilerinizi ve bu verilerin yapısını açıklamak için ihtiyacınız olan her etiketi oluşturmanıza izin verir. Örneğin, evcil hayvanlar hakkındaki bilgileri depolamanız ve paylaşmanız gerektiğini varsayalım. Aşağıdaki XML kodunu oluşturabilirsiniz:

    <?xml version="1.0"?>
    <CAT>
      <NAME>Izzy</NAME>
      <BREED>Siamese</BREED>
      <AGE>6</AGE>
      <ALTERED>yes</ALTERED>
      <DECLAWED>no</DECLAWED>
      <LICENSE>Izz138bod</LICENSE>
      <OWNER>Colin Wilcox</OWNER>
    </CAT>
    

Gördüğünüz gibi, XML etiketleri tam olarak ne tür verilere baktığınızı anlamanızı mümkün kılar. Örneğin, bu verilerin bir kedi hakkında olduğunu bilirsiniz ve kedinin adını, yaşını, vb. kolayca bulabilirsiniz. XML'nin "genişletilebilir" olmasını sağlayan özellik, hemen her veri yapısını tanımlayan etiketler oluşturabilme özelliğidir.

Ama bu kod örneğindeki etiketleri HTML dosyasındaki etiketlerle karıştırmayın. Örneğin, bu XML yapısını bir HTML dosyasına yapıştırır ve dosyayı tarayıcınızda görüntülerseniz, sonuçlar aşağıdakine benzer olur:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Tarayıcı XML etiketlerinizi yoksayar ve yalnızca verileri görüntüler.

İyi biçimlendirilmiş veriler hakkında birkaç söz

BT bölümünüzdekilerin "iyi biçimlendirilmiş" XML'den bahsettiklerini duymuş olabilirsiniz. İyi biçimlendirilmiş bir XML dosyası, XML için geçerli olan çok sıkı bir dizi kurala uygun olur. Dosya söz konusu kurallara uymuyorsa, XML çalışmayı durdurur. Örneğin, önceki kod örneğinde her açılışın etiketinin bir de kapanış etiketi vardır, dolayısıyla iyi biçimlendirilmiş olmasını sağlayan kurallardan birine uyar. Bir etiketi kaldırır ve bu dosyayı Office programlarından birinde açmayı denerseniz, hata iletisi görürsünüz ve program dosyayı kullanımınızı durdurur.

İyi biçimlendirilmiş XML oluşturma kurallarını bilmeniz zorunlu değildir (gerçi bunlar kolayca anlaşılabilir), ama XML verilerini programlar ve sistemler arasında paylaşabilmeniz için bu verilerin iyi biçimlendirilmiş olması gerektiğini unutmamalısınız. XML dosyasını açamıyorsanız, büyük olasılıkla bu dosya iyi biçimlendirilmemiştir.

Ayrıca XML platformdan bağımsızdır; başka bir deyişle donanım veya işletim sistemi ne olursa olsun, XML kullanacak şekilde oluşturulmuş her program XML verilerinizi okuyup işleyebilir. Örneğin, doğru XML etiketleriyle bir masaüstü programı kullanarak ana bilgisayardaki verileri açabilir ve bu verilerle çalışabilirsiniz. Üstelik bir XML verileri gövdesini kimin oluşturduğuna bakılmaksızın, çeşitli Office programlarında aynı veriler üzerinde çalışabilirsiniz. Bu kadar taşınabilir olduğundan, XML veritabanlarıyla kullanıcı masaüstleri arasında veri alışverişinde en popüler teknolojilerden biri haline gelmiştir.

Diğer programlar tarafından XML kullanımı

Etiketli, iyi biçimlendirilmiş verilere ek olarak, XML sistemleri normalde iki ek bileşen kullanır: şemalar ve dönüşümler. Aşağıdaki senaryolarda bu iki ek bileşenin nasıl çalıştığı açıklanır.

Şemalara hızlı bir bakış

"Şema" teriminin gözünüzü korkutmasına izin vermeyin. Şema yalnızca, XLM veri dosyasında nelerin bulunabileceğine ve nelerin bulunamayacağına ilişkin kuralları içeren XML dosyasıdır. Şema dosyaları normalde .xsd dosya adı uzantısını kullanırken, XML veri dosyaları .xml uzantısını kullanır.

Şemalar, programların verileri doğrulamasına olanak tanır. Verileri yapılandırmak, oluşturucusu ve diğer tüm kullanıcılar için anlamlı olmalarını güvence altına alır. Örneğin, bir kullanıcı geçersiz veriler girerse (tarih alanına metin girişi gibi), program kullanıcıdan doğru veriler girmesini isteyebilir. XML dosyasındaki veriler verili şemadaki kurallara uyduğu sürece, XML desteği olan her program bu şemayı okuyarak verileri okuyabilir, yorumlayabilir ve işleyebilir. Örneğin, aşağıdaki çizimde gösterildiği gibi Excel CAT şemasına göre <CAT> verilerini doğrulayabilir.

Şemalar, uygulamaların XML verilerini paylaşabilmesini sağlar.

Şemalar karmaşık olabilir ve bir şemanın nasıl oluşturulacağını öğretmek bu makalenin bağlamını aşar. (Üstelik büyük olasılıkla bunun nasıl yapılacağını bilen bir BT bölümünüz vardır.) Öte yandan, şemaların neye benzediğini bilmek yararlı olabilir. Aşağıdaki şema, <CAT> ... </CAT> etiket kümesi için kuralları tanımlar.

<xsd:element name="CAT">  
  <xsd:complexType>  
    <xsd:sequence>
      <xsd:element name="NAME" type="xsd:string"/>
      <xsd:element name="BREED" type="xsd:string"/>
      <xsd:element name="AGE" type="xsd:positiveInteger"/>
      <xsd:element name="ALTERED" type="xsd:boolean"/>
      <xsd:element name="DECLAWED" type="xsd:boolean"/>
      <xsd:element name="LICENSE" type="xsd:string"/>
      <xsd:element name="OWNER" type="xsd:string"/>        
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

Örnekteki her şeyi anlamanız gerektiğini düşünüp kaygılanmayın. Yalnızca şu olguları aklınızda bulundurun:

  • Örnek şemadaki satır öğeleri bildirim olarak adlandırılır. Bir hayvan hakkında rengi veya işaretleri gibi ek bilgiler gerekiyorsa, bir olasılıkla BT bölümünüz şemaya bir bildirim ekleyebilir. İş gereksinimleriniz gelişme gösterdikçe XML sisteminizi değiştirebilirsiniz.

  • Bildirimler veri yapısı üzerinde muazzam bir denetim sağlar. Örneğin, <xsd:sequence> bildirimi <NAME> ve <BREED> gibi etiketlerin yukarıda listelendikleri sırayla kullanılması gerektiği anlamına gelir. Bildirimler, kullanıcıların girebileceği veri türlerini de denetleyebilir. Örneğin, yukarıdaki şema kedinin yaşı için pozitif bir sayı, ALTERED ve DECLAWED etiketleri için Boole (TRUE veya FALSE) değerleri gerektirir.

  • XML dosyasındaki veriler şema tarafından sağlanan kurallara uygunsa, bu verilerin geçerli olduğu söylenir. XML veri dosyasını bir şemaya göre denetleme işlemi, (mantıklı bir şekilde) doğrulama olarak adlandırılır. Şemaları kullanmanın en büyük avantajı, bozuk verileri önlemeye yardımcı olabilmeleridir. Ayrıca bozuk verileri bulmayı da kolaylaştırabilir, çünkü bir sorunla karşılaştığında XML durur.

Dönüşümlere hızlı bir bakış

Daha önce de belirttiğimiz gibi, XML verileri kullanmak veya yeniden kullanmak içinde de güçlü yollar sağlar. Verileri yeniden kullanma mekanizması Genişletilebilir Stil Sayfası Dili Dönüşümü (XSLT) veya basitçe dönüşüm olarak adlandırılır.

Siz (tamam, BT bölümünüz) veritabanları gibi arka uç sistemleri arasında veri alışverişi için de dönüşümleri kullanabilirsiniz. Örneğin, Veritabanı A'nın satış verilerini satış bölümü için uygun bir tablo yapısında depoladığını varsayalım. Veritabanı B, gelir ve gider verilerini muhasebe bölümü için uyarlanmış bir veri yapısında depoluyor olsun. Veritabanı B, A'dan gelen verileri kabul etmek için bir dönüşüm kullanabilir ve bu verileri doğru tablolara yazabilir.

Veri dosyası, şema ve dönüşüm birlikte temel XML sistemini oluşturur. Aşağıdaki çizimde bu tür sistemlerin normalde nasıl çalıştığı gösterilir. Veri dosyası şemaya göre doğrulanır ve ardından dönüşüm tarafından kullanılabilir herhangi bir sayıda yolla işlenir. Bu örnekte, dönüşüm verileri Web sayfasındaki bir tabloya dağıtır.

Şema ve dönüşümle birlikte temel bir XML dosya yapısı

Aşağıdaki kod örneği, dönüşümü yazmanın bir yolunu gösterir. <CAT> verilerini Web sayfasındaki bir tabloya yükler. Bir kez daha belirtmek gerekirse, örneğin asıl amacı size dönüşümün nasıl yazıldığını değil dönüşümün alabileceği biçimlerden birini göstermektir.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"> 
<TABLE>
  <TR>
    <TH>Name</TH>
    <TH>Breed</TH>
    <TH>Age</TH>
    <TH>Altered</TH>
    <TH>Declawed</TH>    
    <TH>License</TH>
    <TH>Owner</TH>
  </TR>
  <xsl:for-each select="CAT">
  <TR ALIGN="LEFT" VALIGN="TOP">
    <TD>
      <xsl:value-of select="NAME"/>
    </TD>
    <TD>
      <xsl:value-of select="BREED"/>
    </TD>
    <TD>
      <xsl:value-of select="AGE"/>
    </TD>
    <TD>
      <xsl:value-of select="ALTERED"/>
    </TD>
    <TD>
      <xsl:value-of select="DECLAWED"/>
    </TD>
    <TD>
      <xsl:value-of select="LICENSE"/>
    </TD>
    <TD>
      <xsl:value-of select="OWNER"/>
    </TD>
  </TR>
</xsl:for-each>
</TABLE>

Bu örnekte, dönüşüm türlerinden birinin kodlandığında nasıl göründüğü gösterilir, ancak verilerden ne istediğiniz düz İngilizce olarak da açıklayabileceğinizi unutmayın. Örneğin, BT bölümünüze gidip belirli bölgelerin son iki yıllık satış verilerini yazdırmanız gerektiğini söyleyebilir "ve şu şekilde görünmelerini istiyorum" diyebilirsiniz. BT bölümünüz bu işi yapacak dönüşümü yazabilir (veya değiştirebilir).

Bunların hepsini daha da kullanışlı yapan, Microsoft'un ve giderek artan sayıda başka satıcının her türlü iş için dönüşümler oluşturmasıdır. Gelecekte, büyük olasılıkla gereksinimlerinize uyan veya amacınıza uygun olarak ayarlayabileceğiniz bir dönüşüm indirebileceksiniz. Bu da zaman içinde XML'i kullanmanın maliyetinin düşeceği anlamına gelir.

Microsoft Office Sisteminde XML'e göz atma

Office'in profesyonel sürümleri kapsamlı XML desteği sağlar. 2007 Microsoft Office sisteminden itibaren, Microsoft Office'te .docx, .xlsx ve .pptx gibi XML tabanlı dosya biçimlerini kullanılmaktadır. XML verileri özel ikili biçim yerine metin biçiminde depoladığından, müşterileriniz kendi şemalarını tanımlayabilir ve verilerinizi telif hakkı ödemeye gerek kalmadan daha fazla şekilde kullanabilir. Yeni biçimler hakkında daha fazla bilgi için bkz. Open XML Biçimleri ve dosya adı uzantıları. Diğer avantajlar şunlardır:

  • Daha küçük dosya boyutları. Yeni biçim, Office'in önceki sürümlerinde kullanılan ikili biçimlere göre dosya boyutunu yüzde 75'e varan oranda küçülten ZIP ve diğer sıkıştırma teknolojilerini kullanır.

  • Daha kolay bilgi kurtarma ve daha yüksek güvenlik. XML insanlar tarafından okunabildiğinden, bir dosya bozulduğunda dosyayı Microsoft Not Defteri'nde veya başka bir metin okuyucusunda açabilir ve bilgilerinizin en azından bir bölümünü kurtarabilirsiniz. Ayrıca, yeni dosyalar daha güvenlidir çünkü Visual Basic for Applications (VBA) kodu içeremez. Yeni biçimi kullanarak şablon oluşturursanız, tüm ActiveX denetimleri ve VBA makroları dosyanın ayrı ve daha güvenli bir bölümünde tutulur. Buna ek olarak, Belge Denetçisi gibi araçları kullanarak dosyadaki tüm kişisel verileri kaldırabilirsiniz. Belge Denetçisi'ni kullanma hakkında daha fazla bilgi için, Belgeleri inceleyerek gizli verileri ve kişisel bilgileri kaldırma makalesine bakın.

Bunların hepsi iyi de, şeması olmayan XML verileriniz varsa ne olacak? XML desteği olan Office programlarının, verilerle çalışmanıza yardımcı olmak için kendi yaklaşımları vardır. Örneğin, henüz şeması olmayan bir XML dosyası açtığınızda Excel bir şema çıkarsaması yapar. Ardından Excel size bu verileri bir XML tablosuna yükleme seçeneği sunar. Verileri sıralamak, filtrelemek veya bunlara hesaplamalar eklemek için XML listelerini ve tablolarını kullanabilirsiniz.

Office'te XML araçlarını etkinleştirme

Varsayılan olarak Geliştirici sekmesi görüntülenmez; Office'te XML komutlarını kullanmak istediğiniz bu sekmeyi şeride eklemelisiniz.

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.

Bu bilgi yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?
Gönder’e bastığınızda, geri bildiriminiz Microsoft ürün ve hizmetlerini geliştirmek için kullanılır. BT yöneticiniz bu verileri toplayabilecek. Gizlilik Bildirimi.

Geri bildiriminiz için teşekkürler!

×