java xml schema验证_Java XML Schema验证:前缀未绑定
我已经遵循了this tutorial来验证XML文件.但是在验证XML文件时收到异常.我做错了什么?我的代码:XML模式:要验证的XML文件:FirstNameLastname+xxxxxxxxxxxx用于验证的Java源代码import javax.xml.XMLConstants;import javax.xml.transform.Source;import javax.xml.trans
我已经遵循了
this tutorial来验证XML文件.但是在验证XML文件时收到异常.我做错了什么?我的代码:
XML模式:
要验证的XML文件:
FirstName
Lastname
+xxxxxxxxxxxx
用于验证的Java源代码
import javax.xml.XMLConstants;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.*;
import org.xml.sax.SAXException;
import java.io.*;
public class ProtocolValidator
{
public static void main(String [] args) throws Exception
{
Source schemaFile = new StreamSource(new File("schema.xsd"));
Source xmlFile = new StreamSource(new File("test_xml.xml"));
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(schemaFile);
Validator validator = schema.newValidator();
try{
validator.validate(xmlFile);
System.out.println(xmlFile.getSystemId() + " is valid");
}
catch (SAXException e)
{
System.out.println(xmlFile.getSystemId() + " is NOT valid");
System.out.println("Reason: " + e.getLocalizedMessage());
}
}
}
异常我正在收到:
Exception in thread "main" org.xml.sax.SAXParseException; systemId: file:/root/test/schema.xsd; lineNumber: 4; columnNumber: 50; The prefix "xs" for element "xs:element" is not bound.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)...
更多推荐
所有评论(0)