Cosa causa un avvertimento Xmllint?
Domanda
Attualmente sto scrivendo un plugin per il nostro server di integrazione che utilizza libxml2 xmllint
Strumento riga di comando per convalidare i file XML. Secondo il Manuale, xmllint ha un --nowarning
Opzione che sopprime gli avvisi.
Ora, la mia domanda è piuttosto semplice e probabilmente mi manca solo qualcosa di palesemente ovvio, ma cosa causa un tale avvertimento? È un po 'difficile analizzare l'output se non so come sia :-)
Soluzione
È possibile emettere un avvertimento se si verifica un problema di analisi o convalida del documento.
Ecco un semplice esempio in cui viene emesso un avvertimento a causa di una versione XML non valida:
<?xml version="dummy"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Eseguirlo:
$ xmllint test.xml
test.xml:1: warning: Unsupported version 'dummy'
<?xml version="dummy"?>
^
<?xml version="dummy"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Il --nowarning
l'opzione funziona solo se hai anche il --htmlout
set di opzioni.
$ xmllint --nowarning --htmlout test.xml
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head><title>xmllint output</title></head>
<body bgcolor="#ffffff"><h1 align="center">xmllint output</h1>
<?xml version="dummy"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
</body></html>
Il codice sorgente per xmllint è qui.