XML Eğitimi

XML ANA SAYFA XML'e Giriş XML nasıl kullanılır XML Ağacı XML Sözdizimi XML Öğeleri XML Öznitelikleri XML Ad Alanları XML Görüntüleme XML HttpTalebi XML Ayrıştırıcı XML DOM'si XML XPath'i XML XSLT'si XML XQuery XML Bağlantısı XML Doğrulayıcı XML DTD'si XML Şeması XML Sunucusu XML Örnekleri XML Testi XML Sertifikası

XML AJAX'ı

AJAX Tanıtımı AJAX XMLHttp AJAX İsteği AJAX Yanıtı AJAX XML Dosyası AJAX PHP AJAX ASP AJAX Veritabanı AJAX Uygulamaları AJAX Örnekleri

XML DOM'si

DOM Tanıtımı DOM Düğümleri DOM Erişimi DOM Düğümü Bilgisi DOM Düğüm Listesi DOM Geçişi DOM Gezinme DOM Değerleri Al DOM Değişiklik Düğümleri DOM Düğümleri Kaldır DOM Düğümleri Değiştir DOM Oluşturma Düğümleri DOM Düğüm Ekle DOM Klon Düğümleri DOM Örnekleri

XPath Eğitimi

XPath Giriş XPath Düğümleri XPath Sözdizimi XPath Eksenleri XPath Operatörleri XPath Örnekleri

XSLT Eğitimi

XSLT'ye Giriş XSL Dilleri XSLT Dönüşümü XSLT <şablon> XSLT <değeri> XSLT <her biri için> XSLT <sıralama> XSLT <if> XSLT <seç> XSLT Uygula İstemcide XSLT Sunucuda XSLT XSLT Düzenleme XML'i XSLT Örnekleri

XQuery Eğitimi

XQuery Tanıtımı XQuery Örneği XQuery FLWOR'u XQuery HTML'si XQuery Terimleri XQuery Sözdizimi XQuery Ekle XQuery Seçimi XQuery İşlevleri

XML DTD'si

DTD Giriş DTD Yapı Taşları DTD Elemanları DTD Özellikleri DTD Elemanları vs Attr DTD Varlıkları DTD Örnekleri

XSD Şeması

XSD Tanıtımı XSD Nasıl Yapılır? XSD <şema> XSD Öğeleri XSD Özellikleri XSD Kısıtlamaları

XSD Kompleksi

XSD Öğeleri XSD Boş Yalnızca XSD Öğeleri Yalnızca XSD Metin XSD Karışık XSD Göstergeleri XSD <herhangi bir> XSD <anyÖzellik> XSD Değiştirme XSD Örneği

XSD Verileri

XSD Dizisi XSD Tarihi XSD Sayısal XSD Çeşitli XSD Referansı

Web Hizmetleri

XML Hizmetleri XML WSDL'si XML SABUN XML RDF'si XML RSS'si

Referanslar

DOM Düğüm Türleri DOM Düğümü DOM Düğüm Listesi DOM AdlıDüğüm Haritası DOM Belgesi DOM Öğesi DOM Özelliği DOM Metni DOM CDATA DOM Yorumu DOM XMLHttpRequest DOM Ayrıştırıcı XSLT Öğeleri XSLT/XPath İşlevleri

XML , XLink ve XPointer


XLink, XML belgelerinde köprüler oluşturmak için kullanılır.


XPath
  • XLink, XML belgeleri içinde köprüler oluşturmak için kullanılır
  • Bir XML belgesindeki herhangi bir öğe bir bağlantı gibi davranabilir
  • XLink ile bağlantılar, bağlantılı dosyaların dışında tanımlanabilir
  • XLink, bir W3C Önerisidir

XLink Tarayıcı Desteği

XML belgelerinde XLink için tarayıcı desteği yoktur.

Ancak, tüm büyük tarayıcılar SVG'de XLinks'i destekler .


XLink Sözdizimi

HTML'de <a> öğesi bir köprüyü tanımlar. Ancak, XML'de bu şekilde çalışmaz. XML belgelerinde, istediğiniz öğe adlarını kullanabilirsiniz - bu nedenle tarayıcıların XML belgelerinde hangi bağlantı öğelerinin çağrılacağını tahmin etmesi imkansızdır.

Aşağıda, bir XML belgesinde bağlantılar oluşturmak için XLink'in nasıl kullanılacağına ilişkin basit bir örnek verilmiştir:

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

<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
  <homepage xlink:type="simple" xlink:href="https://www.w3schools.com">Visit W3Schools</homepage>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>

XLink özelliklerine erişmek için XLink ad alanını bildirmeliyiz. XLink ad alanı: "http://www.w3.org/1999/xlink".

<homepage> öğelerindeki xlink:type ve xlink:href nitelikleri, XLink ad alanından gelir.

xlink:type="simple", basit bir "HTML benzeri" bağlantı oluşturur ("oraya gitmek için burayı tıklayın" anlamına gelir).

xlink:href niteliği, bağlantı kurulacak URL'yi belirtir.


XLink Örneği

Aşağıdaki XML belgesi, XLink özelliklerini içerir:

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

<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">

<book title="Harry Potter">
  <description
  xlink:type="simple"
  xlink:href="/images/HPotter.gif"
  xlink:show="new">
  As his fifth year at Hogwarts School of Witchcraft and
  Wizardry approaches, 15-year-old Harry Potter is.......
  </description>
</book>

<book title="XQuery Kick Start">
  <description
  xlink:type="simple"
  xlink:href="/images/XQuery.gif"
  xlink:show="new">
  XQuery Kick Start delivers a concise introduction
  to the XQuery standard.......
  </description>
</book>

</bookstore>

Örnek açıkladı:

  • XLink ad alanı belgenin en üstünde belirtilir (xmlns:xlink="http://www.w3.org/1999/xlink")
  • xlink:type="simple", basit bir "HTML benzeri" bağlantı oluşturur
  • xlink:href özelliği, bağlantı kurulacak URL'yi belirtir (bu durumda - bir resim)
  • xlink:show="new", bağlantının yeni bir pencerede açılması gerektiğini belirtir


XLink - Daha İleri Gitmek

Yukarıdaki örnekte basit XLink'leri gösterdik. Uzak konumlara bağımsız sayfalar yerine kaynak olarak erişirken XLink daha ilginç hale geliyor.

xlink:show özniteliğinin değerini "embed" olarak ayarlarsak, bağlantılı kaynak sayfa içinde satır içi olarak işlenmelidir. Bunun başka bir XML belgesi olabileceğini düşündüğünüzde, örneğin bir XML belgeleri hiyerarşisi oluşturabilirsiniz.

xlink:actuate özniteliği ile kaynağın NE ZAMAN görüneceğini de belirtebilirsiniz.


XLink Özellik Referansı

Attribute Value Description
xlink:actuate onLoad
onRequest
other
none
Defines when the linked resource is read and shown:
  • onLoad - the resource should be loaded and shown when the document loads
  • onRequest - the resource is not read or shown before the link is clicked
xlink:href URL Specifies the URL to link to
xlink:show embed
new
replace
other
none
Specifies where to open the link. Default is "replace"
xlink:type simple
extended
locator
arc
resource
title
none
Specifies the type of link

XPointer

XPath
  • XPointer, bağlantıların bir XML belgesinin belirli bölümlerine işaret etmesine izin verir
  • XPointer, XML belgesinde gezinmek için XPath ifadelerini kullanır
  • XPointer bir W3C Önerisidir

XPointer Tarayıcı Desteği

XPointer için tarayıcı desteği yoktur. Ancak XPointer diğer XML dillerinde kullanılır.


XPointer Örneği

Bu örnekte, başka bir belgenin belirli bir bölümüne işaret etmek için XLink ile birlikte XPointer'ı kullanacağız.

Hedef XML belgesine (bağlandığımız belge) bakarak başlayacağız:

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

<dogbreeds>

<dog breed="Rottweiler" id="Rottweiler">
  <picture url="https://dog.com/rottweiler.gif" />
  <history>The Rottweiler's ancestors were probably Roman
  drover dogs.....</history>
  <temperament>Confident, bold, alert and imposing, the Rottweiler
  is a popular choice for its ability to protect....</temperament>
</dog>

<dog breed="FCRetriever" id="FCRetriever">
  <picture url="https://dog.com/fcretriever.gif" />
  <history>One of the earliest uses of retrieving dogs was to
  help fishermen retrieve fish from the water....</history>
  <temperament>The flat-coated retriever is a sweet, exuberant,
  lively dog that loves to play and retrieve....</temperament>
</dog>

</dogbreeds>

Yukarıdaki XML belgesinin her öğede id niteliklerini kullandığını unutmayın!

Bu nedenle, (XLink'te olduğu gibi) belgenin tamamına bağlanmak yerine, XPointer belgenin belirli bölümlerine bağlanmanıza izin verir. Bir sayfanın belirli bir bölümüne bağlantı oluşturmak için, xlink:href özelliğindeki URL'den sonra bir sayı işareti (#) ve bir XPointer ifadesi ekleyin, şunun gibi: xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))". İfade, hedef belgedeki "Rottweiler" kimlik değerine sahip öğeye atıfta bulunur.

XPointer ayrıca bir kimliğe sahip bir öğeye bağlanmak için kestirme bir yönteme izin verir. Kimliğin değerini doğrudan şu şekilde kullanabilirsiniz: xlink:href="https://dog.com/dogbreeds.xml#Rottweiler".

Aşağıdaki XML belgesi, köpeklerimin her biri için köpek türü hakkında daha fazla bilgi için bağlantılar içerir:

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

<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">

<mydog>
  <description>
  Anton is my favorite dog. He has won a lot of.....
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler">
  Fact about Rottweiler
  </fact>
</mydog>

<mydog>
  <description>
  Pluto is the sweetest dog on earth......
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever">
  Fact about flat-coated Retriever
  </fact>
</mydog>

</mydogs>