Salve a tutti ho il seguente codice per validare un documento xml attraverso una dtd/schemaxml.
codice:
<%@ page language="Java" %>
<%@ page import="org.w3c.dom.*"%>
<%@ page import="org.apache.xerces.parsers.*" %>
<%@ page import="org.xml.sax.*"%>


<%@ page import="javax.xml.parsers.*" %>

<%@ page import="javax.xml.transform.*"%>
<%@ page import="javax.xml.transform.dom.DOMSource"%>
<%@ page import="javax.xml.transform.stream.StreamResult"%>
<%@ page import="java.io.*" %>



<HEAD>
<TITLE>Mia Risposta</TITLE>
</HEAD>
 <BODY>

<%!
public class ValidatingDOM
{
    // Costruttore
    public ValidatingDOM (String xmlFile)
    {
       

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
// force the parser to validate the document 
factory.setValidating(true); 
Document document = null; 
try { 
// builder initialisation 
DocumentBuilder builder = factory.newDocumentBuilder(); 
builder.setErrorHandler(null);
// launch the parsing and create DOM structure 
document = builder.parse(xmlFile); 
} catch (Exception e) { 
e.printStackTrace(); 
} 

    }
    
   
   
}
%>


<%

String xmlFile="C:/Windows/desktop/web/forum.xml";


 ValidatingDOM validatingDOM = new ValidatingDOM (xmlFile);
 


%>


Mia pagina JSP</p>
</BODY>
</HTML>



FORUM.XML:




<?xml version="1.0"?>

<!DOCTYPE forum SYSTEM "forum.dtd">


<forum>
    <post>
        <utente>Luca Ruggiero</utente>
        <localita>Roma</localita>
        <data>23/12/05</data>
        <messaggio>CIAO!!!!</messaggio>
    </post>
</forum>



FORUM.DTD:


<!ELEMENT forum (post+)>

<!ELEMENT post ( utente,titolo,localita,data, messaggio)>


<!ELEMENT utente ( #PCDATA )>
<!ELEMENT titolo ( #PCDATA )>
<!ELEMENT localita ( #PCDATA )>
<!ELEMENT data ( #PCDATA )>
<!ELEMENT messaggio ( #PCDATA )>
ADESSO non capisco perchè non chiamare errore dato che nel mio documento XML,non c'è
il marcatore <titolo></titolo> è sbagliato qualcosa nel codice??Si valida così un documento
xml???GRAZIE