XML ad alanları: xmlns ve xsi:schemaLocation


Yayın tarihi:

Güncelleme:


Teknik makaleler > XML ad alanları: xmlns ve xsi:schemaLocation

2026 bağlamı ve güvenli kullanım

Sonuç: xmlns bir öneki veya varsayılan ad alanını bir URI'ye bağlar, böylece öğe adları net kalır. xsi:schemaLocation yalnızca ad alanı URI'lerini şema konumlarıyla eşleştiren bir ipucudur; doğrulama davranışı hâlâ XML işlemcisine bağlıdır.

Ne öğreneceksiniz

  • Varsayılan ve önek ad alanlarının bir öğenin genişletilmiş adını nasıl değiştirdiği.
  • Ad alanı URI'sinin neden bir tanımlayıcı olduğu ve bir web sayfası döndürmesi gerekmediği.
  • xsi:schemaLocation'un xsi:noNamespaceSchemaLocation'dan farkı nedir?

Bu kimin için: Maven, Spring, SOAP veya diğer XML yapılandırma dosyalarını okuyan geliştiriciler.

2026 bağlamı: W3C ad alanı ve XML Şeması kuralları geçerli olmaya devam ediyor. Uzak şema konumlarını güvenilmeyen giriş olarak değerlendirin ve üretim ayrıştırma sırasında ağ alımına bağlı kalmaktan kaçının.

Güvenlik notu: Orijinal makaledeki komutlar ve yapılandırma örnekleri mevcut üretim ortamında yeniden çalıştırılmamıştır. Desteklenen sürümleri, yedeklemeleri, erişim kontrollerini ve geri alma adımlarını uygulamadan önce ayrı bir test ortamında doğrulayın.

Başlıca resmî kaynaklar

Genel bakış

XML dosyalarında 'xmlns', 'xsi:schemaLocation' vb. ifadeler göreceksiniz ve bunların ne anlama geldiğini açıklamaktadır.

İçindekiler

  1. XML dosyası nedir?
  2. özet

1. XML dosyası nedir?

XML, Genişletilebilir İşaretleme Dili anlamına gelir ve World Wide Web Konsorsiyumu (W3C) tarafından belirlenmiştir. "xmlns" ve "xsi:schemaLocation" dışındaki daha ayrıntılı özellikler için lütfen aşağıdaki sitelere başvurun.

https://www.w3.org/TR/xml/

1-1. "xmlns" ve "xsi:schemaLocation" nedir?

Aşağıdaki örnek, Java uygulama geliştirme için Spring çerçevesi kullanılırken bir XML dosyasındaki ilk açıklamanın bir örneğidir.

applicationContext.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">

Sonuç olarak, 'xmlns' ve 'xsi:schemaLocation' XML'in nasıl yazıldığına ilişkin tanımlar için ayarlardır. Java uygulama geliştirmede, Spring çerçevesi bu XML dosyasında bulunan verilere dayalı olarak işlem gerçekleştirir. XML'in nasıl yazılacağına dair bir tanım yoksa, nasıl yazılacağını bilmek zordur. Örneğin, "id niteliğini bean etiketinde tanımlayabilirsiniz" ve "constructor-arg etiketini bean etiketinin iç etiketinde tanımlayabilirsiniz".

1-2. xmlns nedir?

xmlns 'XML ad alanı' anlamına gelir. Kısaca, bir ad alanı bir kimliktir, yani benzersiz bir şekilde tanımlayıcı bir değerdir.

Bir önceki "xmlns="http://www.springframework.org/schema/beans"" örneğini ele alırsak, "http://www.springframework.org/schema/beans" ad alanıdır, yani benzersiz bir şekilde tanımlayan değerdir Değer.

Bu bir URL'dir, ancak program bunu işlediğinde bir URL olarak değil, bir ID olarak işlenir. Bu nedenle "http://www.springframework.org/schema/beans" adresinin ID olarak tanımlandığı XSD dosyası (XML tanım dosyası) bulunarak XSD dosyasında tanımlandığı şekilde tarif edilip edilmediği kontrol edilerek işlem gerçekleştirilir. İşlem, ID olarak "" tanımlanmış bir XSD dosyası (XML tanım dosyası) aranarak ve XSD dosyasında tanımlandığı şekilde tarif edilip edilmediği kontrol edilerek gerçekleştirilir. Spring söz konusu olduğunda, XSD dosyası da JAR dosyasında bir set olarak saklanır.

1-3. "xmlns:xsi" nedir?

'xmlns', 'xmlns:xsi', vb. tanımların tekrarlanmasını önlemek için. Örneğin, aynı örnek etiket "xmlns" ve "xmlns:xsi" içinde tanımlanmışsa, hangi tanım olarak tanımlandığını belirlemek mümkün değildir. Bu nedenle, "sample" için "xmlns" ve "xmlns:xsi" ve "xmlns:xsi" için "xsi:sample" tanımları arasında ayrım yapmak mümkündür. Başka bir deyişle, "xmlns="~" olanlar varsayılan değerlerdir, "xmlns:xxxx="~" olanlar ise "xxxx:tag name" olarak tanımlanmalıdır.

2. özet

'xmlns' ve 'xsi:schemaLocation' XML dosyalarını doğru yazmak için tanım dosyası ayarlarıdır.

Umarız bu açıklama yararlı olmuştur.