[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xerces-cvs
Subject:    cvs commit: xml-xerces/java/docs faq-pcfp.xml
From:       mrglavas () apache ! org
Date:       2005-06-24 19:15:13
Message-ID: 20050624191513.87524.qmail () minotaur ! apache ! org
[Download RAW message or body]

mrglavas    2005/06/24 12:15:13

  Modified:    java/docs faq-pcfp.xml
  Log:
  Added info on how to create and set a javax.xml.validation.Schema on a parser.
  
  Revision  Changes    Path
  1.10      +42 -3     xml-xerces/java/docs/faq-pcfp.xml
  
  Index: faq-pcfp.xml
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/docs/faq-pcfp.xml,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- faq-pcfp.xml	27 Sep 2004 18:57:23 -0000	1.9
  +++ faq-pcfp.xml	24 Jun 2005 19:15:13 -0000	1.10
  @@ -1,6 +1,6 @@
   <?xml version='1.0' encoding='UTF-8'?>
   <!--
  - * Copyright 2001-2004 The Apache Software Foundation.
  + * Copyright 2001-2005 The Apache Software Foundation.
    *
    * Licensed under the Apache License, Version 2.0 (the "License");
    * you may not use this file except in compliance with the License.
  @@ -80,8 +80,47 @@
     <q>How can I tell the parser to validate against XML Schema and not to report \
DTD validation errors?</q>  <a>
      <p>
  -    With JAXP 1.2 (or higher), you can instruct the parser to validate against XML \
                Schema only. Using
  -    JAXP if the schema language property has been set to \
<code>http://www.w3.org/2001/XMLSchema</code>  +    Using JAXP you can instruct the \
parser to validate against XML Schema only. The JAXP 1.3  +    Validation API allows \
you to build an in-memory representation of an XML Schema which   +    you can then \
set on a parser factory. Parsers created from the factory will validate  +    \
documents using the schema object you specified.  +   </p>
  +   <p>By doing the following you can configure a SAX parser or DocumentBuilder to \
validate against XML Schema only:</p>  +   <source>import javax.xml.XMLConstants;
  +import javax.xml.parsers.DocumentBuilder;
  +import javax.xml.parsers.DocumentBuilderFactory;
  +import javax.xml.parsers.SAXParser;
  +import javax.xml.parsers.SAXParserFactory;
  +import javax.xml.transform.stream.StreamSource;
  +import javax.xml.validation.Schema;
  +import javax.xml.validation.SchemaFactory;
  +
  +...
  +
  +StreamSource[] sources = /* created by your application */;
  +
  +SchemaFactory factory = 
  +    SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
  +Schema schema = factory.newSchema(sources);
  +
  +/** Setup SAX parser for schema validation. */
  +SAXParserFactory spf = SAXParserFactory.newInstance();
  +spf.setNamespaceAware(true);
  +spf.setSchema(schema);
  +SAXParser parser = spf.newSAXParser();
  +
  +/** Setup DocumentBuilder for schema validation. */
  +DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  +dbf.setNamespaceAware(true);
  +dbf.setSchema(schema);
  +DocumentBuilder db = dbf.newDocumentBuilder();
  +
  +...
  +</source>
  +    
  +   <p>
  +    Another option is to use the JAXP schema language property defined by JAXP \
1.2. If the schema  +    language property has been set to \
                <code>http://www.w3.org/2001/XMLSchema</code>
       and the parser has been configured to validate then your documents will be \
validated against   XML Schema only, even if they have a DTD.
      </p>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic