XML temelleri

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

XML, yapılandırılmış bilgilerin bilgisayarların birlikte çalışmasını ve insanların yazmasını ve anlamasını kolaylaştıracak şekilde temsil edilmesinin standart bir yoludur. XML, eXtensible Markup Language'in kısaltmasıdır. XML standardı, www.w3.org/XML/ adresinde bulunabilir.

XML, verinin okunmasını, işlenmesini ve veriye erişilmesini kolaylaştırmak için verilerin sınıflandırılmasına yönelik standart ve kullanışlı bir yol sunar. XML, bir ağaç yapısını ve HTML'e benzeyen bir etiket yapısını kullanır. Aşağıda, XML verisinin basit bir örneği verilmiştir:

<song> 
    <title>What you know?</title> 
    <artist>Steve and the flubberblubs</artist> 
    <year>1989</year> 
    <lastplayed>2006-10-17-08:31</lastplayed> 
</song>

XML verileri, diğer etiketler içine yuvalanmış etiketler, nitelikler ve diğer yapısal bileşenlerle daha karmaşık da olabilir. Aşağıda, XML verisinin daha karmaşık bir örneği verilmiştir:

<album> 
    <title>Questions, unanswered</title> 
    <artist>Steve and the flubberblubs</artist> 
    <year>1989</year> 
    <tracks> 
        <song tracknumber="1" length="4:05"> 
            <title>What do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:31</lastplayed> 
        </song> 
        <song tracknumber="2" length="3:45"> 
            <title>Who do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:35</lastplayed> 
        </song> 
        <song tracknumber="3" length="5:14"> 
            <title>When do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:39</lastplayed> 
        </song> 
        <song tracknumber="4" length="4:19"> 
            <title>Do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:44</lastplayed> 
        </song> 
    </tracks> 
</album>

Bu XML belgesinin, içinde başka XML yapıları da (örn. alt öğeleri içinde song etiketleri) barındırdığına dikkat edin. Bu ayrıca veri yerine başka etiketler içeren nitelikler ( song etiketlerindeki tracknumber ve length nitelikleri) ve etiketler (örn. tracks etiketi) gibi diğer XML yapılarını da gösterir.

XML ile çalışmaya başlama

XML ile ilgili çok az deneyiminiz varsa veya hiç deneyiminiz yoksa, XML verilerinin en yaygın yönleri burada kısaca açıklanmıştır. XML verileri, bilgilerin yapılandırılmış bir biçimde organize edilmesi için belirli bir sözdizimi kullanılarak düz metin biçiminde yazılır. Genellikle, tek bir XML verisi kümesi, XML belgesi olarak bilinir. XML biçiminde, veriler hiyerarşik bir yapı kullanılarak öğeler (bunlar tek veri öğeleri veya diğer öğeleri içeren kaplar olabilir) halinde organize edilir. Her XML belgesi, üst düzey veya ana öğe olarak tek bir öğeye sahiptir; bu kök öğenin içinde diğer öğeleri içeren başka öğeler bulunabileceği gibi tek bir bilgi de bulunabilir. Örneğin, bu XML belgesi, bir müzik albümüyle ilgili bilgileri içerir:

<song tracknumber="1" length="4:05"> 
    <title>What do you know?</title> 
    <artist>Steve and the flubberblubs</artist> 
    <mood>Happy</mood> 
    <lastplayed>2006-10-17-08:31</lastplayed> 
</song>

Her öğe, bir etiketler kümesiyle ayrılır—öğenin adı, açılı ayraçlar (küçüktür ve büyüktür işaretleri) içine sarılır. Öğenin başlangıcını belirten açma etiketi, öğe adını içerir:

<title>

Öğenin sonunu belirten kapatma etiketi, öğe adından önce eğik çizgi içerir:

</title>

Bir öğe içerik barındırmıyorsa, boş bir öğe olarak yazılabilir. (Bazen kendiliğinden kapanan öğe olarak adlandırılır.) XML'de bu öğe:

<lastplayed/>

bu öğeyle aynıdır:

<lastplayed></lastplayed>

Bir öğe, açma ve kapatma etiketleri arasında bulunan içeriğine ek olarak, öğenin açma etiketinde tanımlanan ve nitelikler olarak bilinen başka değerler de içerebilir. Örneğin, bu XML öğesi, "4:19" değerine sahip length adındaki tek bir niteliği tanımlar:

<song length="4:19"></song>

Her XML öğesi, tek bir değer veya bir ya da birkaç XML öğesi barındıran ya da herhangi bir şey barındırmayan (boş bir öğe için) bir içeriğe sahiptir.

XML hakkında daha fazla bilgi

XML ile çalışma hakkında daha fazla bilgi almak için, aralarında şu web sitelerinin de bulunduğu birçok ek kitap ve kaynak vardır:

XML ile çalışmaya yönelik ActionScript sınıfları

ActionScript 3.0, XML yapısındaki bilgilerle çalışmak için kullanılan birçok sınıf içerir. İki ana sınıf şunlardır:

  • XML: Birden çok alt öğe içeren tek bir XML belgesi olabileceği gibi bir belge içindeki tek değerli bir öğe de olabilen tek bir XML öğesini temsil eder.

  • XMLList: XML öğelerinin bir kümesini temsil eder. “eşdüzey” (XML belgesinin hiyerarşisinde, aynı düzeyde ve aynı üst öğede bulunan) niteliğinde birden çok XML öğesi olduğunda, XMLList nesnesi kullanılır. Örneğin, bu XML öğeleri kümesiyle (büyük olasılıkla bir XML belgesinde) çalışmanın en kolay yolu, XMLList örneğidir:

    <artist type="composer">Fred Wilson</artist> 
    <artist type="conductor">James Schmidt</artist> 
    <artist type="soloist">Susan Harriet Thurndon</artist>

XML ad alanlarının da dahil olduğu daha ileri düzey kullanımlar için ActionScript ayrıca Namespace ve QName sınıflarını da içerir. Daha fazla bilgi için, bkz. XML ad alanlarını kullanma .

ActionScript 3.0, XML ile çalışılmasına yönelik yerleşik sınıflara ek olarak, XML verilerine erişilmesi ve XML verilerinin işlenmesi için de belirli işlevler sağlayan birçok operatör içerir. Bu sınıf ve operatörler kullanılarak XML ile çalışma yaklaşımı, ECMA-357 sürüm 2 belirtimi tarafından tanımlandığı şekilde, XML için ECMAScript (E4X) olarak bilinir.

Önemli kavramlar ve terimler

Aşağıdaki başvuru listesi XML işleme yordamlarını programlarken karşılaşacağınız önemli terimleri içerir:

Öğe
Başlatma etiketi ile kapatma etiketi arasında barındırılan içerik (etiketler de dahil) olarak tanımlanan, bir XML belgesindeki tek bir öğe. XML öğeleri, metin verileri veya başka öğeler içerebilir veya boş olabilir.

Boş öğe
Herhangi bir alt öğe içermeyen XML öğesi. Boş öğeler genellikle kendiliğinden kapanan etiketler olarak (örn. <element/> ) yazılır.

Belge
Tek bir XML yapısı. Bir XML belgesi herhangi bir sayıda öğe içerebilir (veya tek bir boş öğeden oluşabilir); ancak XML belgesinin, belgedeki diğer tüm öğeleri içeren tek bir üst düzey öğeye sahip olması gerekir.

Düğüm
XML öğesinin başka bir adı.

Nitelik
Öğenin içinde yuvalanmış ayrı bir alt öğe olarak yazılmayıp attributename="value" biçiminde açma etiketinin içine yazılan, bir öğeyle ilişkilendirilmiş adlandırılmış bir değer.