| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个软件包 下一个软件包 | 框架 无框架 | |||||||||
请参见:
          描述
| 类摘要 | |
|---|---|
| Schema | 不可变的语法存储表示形式。 | 
| SchemaFactory | 创建 Schema对象的工厂。 | 
| SchemaFactoryLoader | 创建 SchemaFactory的工厂。 | 
| TypeInfoProvider | 此类提供了对 ValidatorHandler所确定的类型信息的访问。 | 
| Validator | 根据 Schema检查 XML 文档的处理器。 | 
| ValidatorHandler | 处理 SAX 流的流验证器。 | 
此包提供了用于 XML 文档验证的 API。Validation 是验证 XML 文档是否为指定 XML schema 的实例的过程。XML 模式定义了其实例文档将表示的内容模式(也称为 grammar 或 vocabulary)。
有多种流行的技术用于创建 XML 模式。最流行的技术包括:
以前的 JAXP 版本支持作为 XML 解析器的功能的验证,要么通过 SAXParser 实例,要么通过 DocumentBuilder 实例来表示。
        
JAXP 验证 API 从 XML 文档解析中分离出实例文档的验证。这具有几种优点,一些原因包括:
用例。以下示例演示了通过 Validation API 验证 XML 文档(为了方便阅读,此例未显示某些异常处理):
            
    // parse an XML document into a DOM tree
    DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    Document document = parser.parse(new File("instance.xml"));
    // 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(new File("mySchema.xsd"));
    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
    try {
        validator.validate(new DOMSource(document));
    } catch (SAXException e) {
        // instance document is invalid!
    }
                        
                    JAXP 解析 API 已经与验证 API 进行了集成。应用程序可以通过验证 API 创建 Schema,并通过使用 DocumentBuilderFactory.setSchema(Schema) 和 SAXParserFactory.setSchema(Schema) 方法将其与 DocumentBuilderFactory 或 SAXParserFactory 实例进行关联。您不能既设置模式,又调用解析器工厂上的 setValidating(true)。前者的技术将导致解析器使用新的验证 API,后者将导致解析器使用它们自己的内部验证工具。同时调整这两个选项将导致冗余行为或错误条件。
        
| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个软件包 下一个软件包 | 框架 无框架 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。