2014-11-05 7 views
5

Ich habe ein wenig Mühe herauszufinden, warum HXT meine DTDs ersetzt. Zum einen ist hier meine Eingabedatei analysiert werden:HXT ignoriert HTML-DTD und ersetzt es durch XML-DTD

<!DOCTYPE html> 
<html> 
    <head> 
    <title>foo</title> 
    </head> 
    <body> 
    <h1>foo</h1> 
    </body> 
</html> 

und dies ist die Ausgabe, die ich bekomme:

<?xml version="1.0" encoding="US-ASCII"?> 
<html> 
    <head> 
    <title>foo</title> 
    </head> 
    <body> 
    <h1>foo</h1> 
    </body> 
</html> 

Schließlich ist hier eine vereinfachte Version der Pfeile Ich verwende:

Ich entschuldige mich für die Kommentare - Ich habe mit verschiedenen Kombinationen von Konfigurationen gespielt. Ich kann einfach nicht scheinen HXT zu nicht Chaos mit DTDs, auch mit withSubstDTDEntities no, withValidate no, etc. Ich bekomme eine Warnung sagen, dass HXT ignoriert meine Doctype-Erklärung, aber das ist das einzige bisschen Einsicht, die ich habe. Kann mir bitte jemand eine Hand reichen? Vielen Dank im Voraus!

Antwort

4

Sie haben zwei Probleme

HXT akzeptiert nur eine der folgenden drei html doctypes

<!DOCTYPE html 
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"DTD/xhtml1-strict.dtd"> 

<!DOCTYPE html 
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"DTD/xhtml1-transitional.dtd"> 

<!DOCTYPE html 
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"DTD/xhtml1-frameset.dtd"> 

Mit einem von ihnen werden von der Warnung über ignorieren die dtd loszuwerden.

Zweitens fügen Sie die folgende Option

withAddDefaultDTD yes 
writeDocument
Verwandte Themen