Domanda

sto usando sassone 9 per analizzare le fonti HTML non validi. In particolare il codice html ha valori href come il seguente:

un testo

Ricevo errori:

"Errore riportato dal parser XML: Il riferimento a entità 'g_varID' deve terminare con   il ';' delimitatore. "

Il parser XML sta leggendo la stringa "& g_varID" e lamenta che ci dovrebbe essere un ";" per delimitare l'entità. Ma, naturalmente, questo non è inteso come un'entità HTML -. È solo un pezzo di un URI

Come faccio a dire al parser di ignorarlo? Nota:. Sto utilizzando non-schema-aware sassone, non Saxon-SA

È stato utile?

Soluzione

Assicurarsi di avere una corretta DOCTYPE XHTML. Secondo il xhtml1-strict.dtd che sto guardando, l'attributo href è dichiarato CDATA, non PCDATA, che significa letteralmente e è perfettamente ok e non deve essere analizzato come un'entità.

Altri suggerimenti

Se il codice HTML non è XML, allora come vi aspettate qualsiasi processore XML per elaborarlo?

Come accennato in precedenza, questo non è XML valido, è HTML. Questo particolare problema, però, è uno che HTML ordinata pulisce in modo predefinito: http: // www. w3.org/People/Raggett/tidy/ . Usatelo con i seguenti argomenti della riga di comando per convertire HTML in XHTML:

tidy -asxhtml foo.html > foo.xhtml

E allora si dovrebbe essere in grado di eseguire attraverso il vostro XSLT.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top