找了一些关于 XSD的资料:
http://www.cnblogs.com/ryb/archive/2006/08/24/485009.html
http://www.ibm.com/developerworks/cn/xml/
来个比喻(拾人慧牙):
如果说xml是一叠钞票,xsd就是验钞机,看看里面有没有假钞,而xsl是点钞机,看看到底是多少钱。
用xml可以不用xsd,就像花钱的时候不一定要验钞一样,但是收钱的人一般是想要验的。
而花钱的时候不能不点钞,不点那就不是花钱了,是玩钱。
当然了,点钞不一定要用点钞机,也可以用手点。
比方不是很恰当。想说明的是,xml(文件里面的东西)是内容,xsd是内容的格式,xsl是处理内容的。
以下是XSD 验证XML的代码:
/** */
/**
*author :Ricky_Lian
*2007-05-17
*/

public
void
Validator()
...
{
try ...{
DocumentBuilder parser = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
Document document = parser.parse(_inRawXML);
// create a SchemaFactory capable of understanding WXS schemas
SchemaFactory factory = SchemaFactory
.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
// load a WXS schema, represented by a Schema instance
Source schemaFile = new StreamSource(_inXSD);
Schema schema = factory.newSchema(schemaFile);
// create a Validator instance, which can be used to validate an
//instance document
Validator validator = schema.newValidator();
// validate the DOM tree
validator.validate(new DOMSource(document));
System.out.println("OK!");
} catch (ParserConfigurationException e) ...{
e.printStackTrace();
} catch (IOException e) ...{
e.printStackTrace();
} catch (SAXException e) ...{
e.printStackTrace();
}
log.info("FlatFileRawXMLValidator ValidatorXMLByXSD OK!");
}
本文通过生动的比喻解释了XML、XSD与XSL的关系,并提供了使用Java进行XSD验证XML的具体代码示例。
3747

被折叠的 条评论
为什么被折叠?



