← man/data_processing
xmllint — man xmllint — 80×24
ugur@toprak:~/man/data_processing$man xmllint
Bölüm 1 Veri İşleme

xmllint

komut satırı XML aracı

Özet

       xmllint [--version | --debug | --shell | --xpath "XPath_expression" | --debugent | --copy |
	       --recover | --noent | --noout | --nonet | --path "PATH(S)" | --load-trace | --htmlout
	       | --nowrap | --valid | --postvalid | --dtdvalid URL | --dtdvalidfpi FPI | --timing |
	       --output FILE | --repeat | --insert | --compress | --html | --xmlout | --push |
	       --memory | --maxmem NBBYTES | --nowarning | --noblanks | --nocdata | --format |
	       --encode ENCODING | --dropdtd | --nsclean | --testIO | --catalogs | --nocatalogs |
	       --auto | --xinclude | --noxincludenode | --loaddtd | --dtdattr | --stream | --walker
	       | --pattern PATTERNVALUE | --chkregister | --relaxng SCHEMA | --schema SCHEMA |
	       --c14n] {XML-FILE(S)... | -}

       xmllint --help

Açıklama

xmllint programı, komut satırında XML-FILE olarak belirtilen bir veya daha fazla XML dosyasını (veya sağlanan dosya adı - ise standart girdiyi) ayrıştırır. Seçilen seçeneklere bağlı olarak çeşitli türlerde çıktılar yazdırır. Hem XML kodundaki hem de XML ayrıştırıcısının kendisindeki hataları tespit etmek için yararlıdır.

xmllint, libxml(3) kütüphanesine dahildir.

Seçenekler

xmllint aşağıdaki seçenekleri kabul eder (alfabetik sırayla):

--auto Test amaçlı küçük bir belge oluşturur.

--catalogs SGML_CATALOG_FILES içindeki SGML kataloglarını kullanır. Aksi takdirde, varsayılan olarak /etc/xml/catalog adresinden başlayan XML katalogları kullanılır.

--chkregister Düğüm kaydını (node registration) açar. libxml(3) düğüm izleme kodunu test eden geliştiriciler için yararlıdır.

--compress Çıktının gzip(1) ile sıkıştırılmasını etkinleştirir.

--copy Dahili kopyalama uygulamasını test eder.

--c14n Ayrıştırma sonucunu standart çıktıya (stdout) serileştirmek için W3C XML Canonicalisation (C14N) standardını kullanır. Sonuçta yorumları korur.

--dtdvalid URL Doğrulama için bir URL tarafından belirtilen DTD'yi kullanır.

--dtdvalidfpi FPI Doğrulama için bir Formal Public Identifier FPI tarafından belirtilen DTD'yi kullanır; bunun çalışması için o Formal Public Identifier'ı dışa aktaran bir kataloğun gerekeceğini unutmayın.

--debug Bir dosyayı ayrıştırır ve belgenin bellek içi sürümünün açıklamalı bir ağacını çıktı olarak verir.

--debugent Belgede tanımlanan varlıkların (entities) hatalarını ayıklar.

--dropdtd DTD'yi çıktıdan kaldırır.

--dtdattr Harici DTD'yi getirir ve ağacı devralınan özniteliklerle doldurur.

--encode ENCODING Belirtilen kodlamada çıktı verir. Bunun parçalar (fragments) veya XPath sorgularının sonuçları için değil, tüm belge için çalıştığını unutmayın.

--format Çıktıyı yeniden biçimlendirir ve girintiler. Girintiyi XMLLINT_INDENT ortam değişkeni kontrol eder. Varsayılan değer iki boşluktur (" ").

--help xmllint için kısa bir kullanım özeti yazdırır.

--html HTML ayrıştırıcısını kullanır.

--htmlout Sonuçları bir HTML dosyası olarak çıktı verir. Bu, xmllint'in sonuç ağacı çıktısını çevreleyen gerekli HTML etiketlerini çıktı vermesini sağlar, böylece sonuçlar bir tarayıcıda görüntülenebilir/incelenebilir.

--insert Geçerli eklemeleri (insertions) test eder.

--loaddtd Harici bir DTD getirir.

--load-trace İşlem sırasında yüklenen tüm belgeleri standart hataya (stderr) görüntüler.

--maxmem NBBYTES Ayrıştırıcı bellek desteğini test eder. NBBYTES, kütüphanenin tahsis etmesine izin verilen maksimum bayt sayısıdır. Bu, XML dosyalarının toplu işlenmesinin bunları çalıştıran sunucunun sanal belleğini tüketmemesini sağlamak için de kullanılabilir.

--memory Bellekten ayrıştırır.

--noblanks Yoksayılabilir boşlukları (ignorable blank spaces) atar.

--nocatalogs Hiçbir katalog kullanmaz.

--nocdata CDATA bölümünü eşdeğer metin düğümleriyle değiştirir.

--noent Varlık referanslarının yerine varlık değerlerini koyar. Varsayılan olarak xmllint, varlık referanslarını yerinde bırakır.

--nonet DTD'leri veya varlıkları getirmek için interneti kullanmaz.

--noout Çıktıyı engeller. Varsayılan olarak xmllint, sonuç ağacını çıktı olarak verir.

--nowarning Ayrıştırıcıdan ve/veya doğrulayıcıdan gelen uyarıları yayınlamaz.

--nowrap HTML belge sarmalayıcısını (doc wrapper) çıktı olarak vermez.

--noxincludenode XInclude işlemini gerçekleştirir ancak XInclude başlangıç ve bitiş düğümlerini oluşturmaz.

--nsclean Gereksiz ad alanı (namespace) bildirimlerini kaldırır.

--output DOSYA xmllint'in ayrıştırma sonucunu kaydedeceği bir dosya yolu tanımlar. Genellikle programlar bir ağaç oluşturur ve bunu standart çıktıya (stdout) kaydeder; bu seçenekle ise sonuç XML örneği bir dosyaya kaydedilecektir.

--path "YOL(LAR)" DTD'leri veya varlıkları yüklemek için YOL(LAR) tarafından belirtilen (boşluk veya iki nokta üst üste ile ayrılmış) dosya sistemi yolları listesini kullanır. Boşlukla ayrılmış listeleri tırnak işaretleri içine alın.

--pattern PATTERNVALUE Ayrıştırıcının okuyucu arayüzü ile kullanılabilen kalıp tanıma (pattern recognition) motorunu çalıştırmak için kullanılır. Belgedeki bazı düğümlerin bir XPath (alt küme) ifadesine göre seçilmesini sağlar. Hata ayıklama için kullanılır.

--postvalid Ayrıştırma tamamlandıktan sonra doğrulama yapar.

--push Ayrıştırıcının push modunu kullanır.

--recover Geçersiz bir belgenin ayrıştırılabilen tüm kısımlarını çıktı olarak verir.

--relaxng SCHEMA Doğrulama için SCHEMA adlı RelaxNG dosyasını kullanır.

--repeat Zamanlama veya profil oluşturma (profiling) için 100 kez tekrarlar.

--schema SCHEMA Doğrulama için SCHEMA adlı W3C XML Şema dosyasını kullanır.

--shell Gezinme kabuğu (navigating shell) çalıştırır. Kabuk modundaki kullanılabilir komutların ayrıntıları aşağıdadır (bkz. “KABUK KOMUTLARI” adlı bölüm).

--xpath "XPath_ifadesi" Argüman olarak verilen bir XPath ifadesini çalıştırır ve sonucu yazdırır. Bir düğüm kümesi (nodeset) sonucu olması durumunda, düğüm kümesindeki her bir düğüm çıktıda tam olarak serileştirilir. Düğüm kümesinin boş olması durumunda "XPath set is empty" sonucu gösterilir ve bir hata çıkış kodu döndürülür.

--stream Akış (streaming) API'sini kullanır - bellekte tutulamayacak kadar büyük dosyaların doğrulanması için --relaxng veya --valid seçenekleriyle birlikte kullanıldığında yararlıdır.

--testIO Kullanıcı girdi/çıktı desteğini test eder.

--timing xmllint'in çeşitli adımları gerçekleştirmesi için geçen süre hakkında bilgi verir.

--valid Belgenin, dahil edilen Belge Türü Tanımı'nın (DTD) geçerli bir örneği olup olmadığını belirler. Karşılaştırılarak doğrulanacak bir DTD, komut satırında --dtdvalid seçeneği kullanılarak da belirtilebilir. Varsayılan olarak xmllint, belgenin düzgün biçimlendirilmiş (well-formed) olup olmadığını da kontrol eder.

--version Kullanılan libxml(3) sürümünü görüntüler.

--walker Belge ağacı için bir okuyucu arayüzü olan walker modülünü test eder; ayrıştırılmamış bir belgede okuyucu API'sini kullanmak yerine mevcut bir bellek içi ağaç üzerinde çalışır. Hata ayıklama için kullanılır.

--xinclude XInclude işlemini gerçekleştirir.

--xmlout --html ile birlikte kullanılır. Genellikle HTML ayrıştırıldığında belge HTML serileştirici ile kaydedilir. Ancak bu seçenekle sonuç belgesi XML serileştirici ile kaydedilir. Bu, öncelikle HTML girdisinden XHTML üretmek için kullanılır.

Kabuk Komutları

xmllint, --shell komutu ile çağrılan etkileşimli bir kabuk modu sunar. Kabuk modundaki kullanılabilir komutlar şunlardır (alfabetik sırayla):

base Düğümün XML tabanını (base) görüntüler.

bye Kabuktan ayrılır.

cat DÜĞÜM Belirtilen düğümü veya geçerli düğümü görüntüler.

cd YOL Geçerli düğümü belirtilen yola (eğer benzersizse) veya herhangi bir argüman verilmemişse kök (root) dizine değiştirir.

dir YOL Düğüm hakkında bilgi döker (ad alanı, öznitelikler, içerik).

du YOL Belirtilen yolun veya geçerli düğümün altındaki alt ağacın yapısını gösterir.

exit Kabuktan ayrılır.

help Bu yardımı gösterir.

free Bellek kullanımını görüntüler.

load DOSYA_ADI Belirtilen dosya adıyla yeni bir belge yükler.

ls YOL Belirtilen yolun veya geçerli dizinin içeriğini listeler.

pwd Geçerli düğüme giden yolu görüntüler.

quit Kabuktan ayrılır.

save DOSYA_ADI Geçerli belgeyi belirtilen dosya adına veya orijinal adına kaydeder.

validate Belgeyi hatalara karşı kontrol eder.

write DOSYA_ADI Geçerli düğümü belirtilen dosya adına yazar.

Ortam Değişkenleri

SGML_CATALOG_FILES SGML katalog davranışı, sorgular kullanıcının kendi katalog kümesine yönlendirilerek değiştirilebilir. Bu, SGML_CATALOG_FILES ortam değişkeni bir katalog listesine ayarlanarak yapılabilir. Boş bir liste, varsayılan /etc/sgml/catalog kataloğunun yüklenmesini devre dışı bırakmalıdır.

XML_CATALOG_FILES XML katalog davranışı, sorgular kullanıcının kendi katalog kümesine yönlendirilerek değiştirilebilir. Bu, XML_CATALOG_FILES ortam değişkeni boşlukla ayrılmış bir katalog listesine ayarlanarak yapılabilir. Boşlukları veya diğer karakterleri etkisizleştirmek için yüzde kodlaması (percent-encoding) kullanın. Boş bir değişken, varsayılan /etc/xml/catalog kataloğunun yüklenmesini devre dışı bırakmalıdır.

XML_DEBUG_CATALOG export komutu kullanılarak XML_DEBUG_CATALOG ortam değişkeninin sıfır dışı bir değere ayarlanması, katalog işlemleriyle ilgili hata ayıklama bilgilerini çıktı olarak verir.

XMLLINT_INDENT XMLLINT_INDENT ortam değişkeninin ayarlanması girintilemeyi kontrol eder. Varsayılan değer iki boşluktur " ".

Teşhis

xmllint dönüş kodları, betiklerden çağrıldığında kullanılabilecek bilgiler sağlar.

0 Hata yok

1 Sınıflandırılmamış

2 DTD hatası

3 Doğrulama hatası

4 Doğrulama hatası

5 Şema derleme hatası

6 Çıktı yazma hatası

7 Kalıpta (pattern) hata (--pattern seçeneği kullanıldığında üretilir)

8 Reader kaydında hata (--chkregister seçeneği kullanıldığında üretilir)

9 Bellek yetersiz hatası

10 XPath değerlendirme hatası

Ayrıca Bakınız

libxml(3)

Daha fazla bilgi şu adreste bulunabilir:

• libxml(3) web sayfası https://gitlab.gnome.org/GNOME/libxml2

Yazarlar

John Fleck jfleck@inkstain.net Yazar.

Ziying Sherwin sherwin@nlm.nih.gov Yazar.

Heiko Rupp hwr@pilhuhn.de Yazar.

Telif Hakkı

Telif Hakkı © 2001, 2004

libxml2 19/02/2022 XMLLINT(1)