XML dosyalarında 'xmlns' ve 'xsi:schemaLocation' nedir?


Yayın Tarihi:18 Ocak 2021.



INFOMARTION > XML dosyalarında 'xmlns' ve 'xsi:schemaLocation' nedir?

Genel bakış.

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

İç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.

Sonuna kadar izlediğiniz için teşekkür ederiz.