我是学习XSD的新手.我编写了一个XSD文件和XML文件,以及一个程序来针对XSD验证XML.当我运行程序时,出现错误消息,指出从元素“ id”开始发现无效内容.预期为“ {id}”之一.有人可以解释我要去哪里了.
XSD文件:
和XML文件:
1234
Pradeep
Sanskrit
Beginner
验证XML文件的Java程序:
import java.io.File;
import java.io.IOException;
import javax.xml.XMLConstants;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import org.xml.sax.SAXException;
public class ValidatorDemo {
public static void main(String[] args) {
System.out.println("student.xml validates against studentRule.xsd? "+validateXMLSchema("studentRule.xsd", "student.xml"));
}
public static boolean validateXMLSchema(String xsdPath, String xmlPath){
try {
SchemaFactory factory =
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(new File(xsdPath));
Validator validator = schema.newValidator();
validator.validate(new StreamSource(new File(xmlPath)));
} catch (IOException | SAXException e) {
System.out.println("Exception: "+e.getMessage());
return false;
}
return true;
}
}