elena       2002/11/08 15:39:53

  Modified:    java/docs faq-dom.xml
  Log:
  add a note about DOM Level 1 nodes
  
  Revision  Changes    Path
  1.2       +77 -45    xml-xerces/java/docs/faq-dom.xml
  
  Index: faq-dom.xml
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/docs/faq-dom.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- faq-dom.xml       27 Aug 2002 03:01:57 -0000      1.1
  +++ faq-dom.xml       8 Nov 2002 23:39:53 -0000       1.2
  @@ -33,9 +33,11 @@
         
       </a>
     </faq>
  +
     <faq title="Accessing the DOM Level 3 API">
       <q>How do I access the DOM Level 3 functionality?</q>
  -    <a> <p>
  +    <a>    <anchor name="dom3"/>
  +    <p>
        The DOM Level 3 functionality is not exposed in the regular 
        Xerces distribution.
        To get access to the DOM Level 3, extract source code from CVS and 
  @@ -65,7 +67,8 @@
         <p>  
        The following source code shows how to create the parser with JAXP:
         </p>
  -      <source>import java.io.IOException;
  +      <source>
  +    import java.io.IOException;
        import javax.xml.parsers.DocumentBuilder;
        import javax.xml.parsers.DocumentBuilderFactory;
        import javax.xml.parsers.FactoryConfigurationError;
  @@ -93,7 +96,7 @@
        catch (IOException e) {
        // i/o error
        }</source>
  -
  +    <anchor name="domparser"/>
         <p>  
        The following source code shows how to create the parser using <jump 
href="http://www.w3.org/DOM/DOMTR#DOML3";>DOM Level 3</jump>:
         </p>
  @@ -146,8 +149,6 @@
        new FileWriter("output.xml"), format);
        serializer.asDOMSerializer();
        serializer.serialize(document);
  -
  -
         </source>
         <p>You can also serialize a DOM tree by using the DOM Level 3 Load and Save. 
        <code>DOMWriter</code> performs automatic namespace fixup to make your 
document namespace
  @@ -178,45 +179,75 @@
   
   
     <faq title="Revalidation of DOM document in Memory">
  -    <q>How can I make sure that my DOM document in memory conforms to a schema?</q>
  -    <a>
  -      <p>
  -     DOM revalidation is supported via W3C DOM Level 3 Core 
  -     <code>Document.normalizeDocument()</code>.
  -      </p> 
  -      <note>This release only supports revalidation against XML Schemas. 
  -     Revalidation against DTDs or any other schema type is not implemented.</note>
  -      
  -      <p>To revalidate the document you need:</p>
  -      <ul>
  -     <li>Build DOM Level 3 Xerces jars
  -       (see <em>How do I access the DOM Level 3 functionality</em>).</li>
  -     <li>Create the DOMBuilder (see <em>Creating DOM parser</em>) 
  -       or use DOM methods to create a tree in memory.</li>
  -     <li>Set <em>validate</em> feature using <code>setNormalizationFeature</code>
  -       method.</li>
  -     <li>Make sure your document has <em>xsi:schemaLocation</em> or 
  -       <em>xsi:noSchemaLocation</em> 
  -       attributes at the document root that specify the location of schema(s) 
  -       against which validation should occur.</li>
  -        <li>The <jump 
href="http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020409/core.html#Document3-documentURI";>documentURI</jump>
 must be set. Locations of the schema documents
  -       will be resolved relative to the <code>documentURI</code>.</li>
  -      </ul>
  -      <source>
  -     import  org.w3c.dom.Document;
  -     import  org.w3c.dom.ls.DOMBuilder;
  -
  -     .....
  -     Document document = builder.parseURI("data/personal.xml");
  -     document.setErrorHandler(new MyErrorHandler());
  -     document.setNormalizationFeature("validate", true);
  -     document.normalizeDocument();
  -
  -     
  -      </source>
  -
  -      <p>For more information, please refer to the <link idref='dom3'>DOM Level 3 
Implementation</link> page.</p>
  -    </a>
  +     <q>How can I make sure that my DOM document in memory conforms to a schema?</q>
  +     <a>
  +             <p>
  +                     DOM revalidation is supported via W3C DOM Level 3 Core
  +                     <em>Document.normalizeDocument()</em>.
  +                     .
  +             </p>
  +             <note>This release only supports revalidation against XML Schemas. 
Revalidation against DTDs or any other schema type is not implemented.</note>
  +
  +             <p>To revalidate the document you need:</p>
  +             <ul>
  +                     <li>
  +                             <jump href="#dom3">Build</jump> DOM Level 3 Xerces 
jars.                        
  +                 </li>
  +                     <li>
  +                             <jump href="#domparser">Create</jump> the DOMBuilder.
  +                     </li>
  +                     <li>
  +                             Set <em>validate</em> feature using 
<code>setNormalizationFeature</code>
  +                             method.
  +                     </li>
  +                     <li>
  +                             Make sure your document has <em>xsi:schemaLocation</em>
  +                             or
  +                             <em>xsi:noSchemaLocation</em> attributes at the 
document root that 
  +                             specify the location of schema(s) against which 
validation should occur.
  +                     </li>
  +                     <li>
  +                             The
  +                             <jump 
href="http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020409/core.html#Document3-documentURI";>documentURI</jump>
  +                             must be set. Locations of the schema documents will be 
resolved relative to the
  +                             <code>documentURI</code>
  +                             .
  +                     </li>
  +             </ul>
  +             <p>
  +                     <strong>Note:</strong> if a document contains any DOM Level 1 
nodes (the nodes created using createElement, 
  +                     createAttribute, etc.) the fatal error will occur as described 
in the 
  +                     <jump 
href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20021022/namespaces-algorithms.html'>Namespace
 Normalization</jump>
  +                     algorithm.
  +                     In general, the
  +                     <jump 
href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20021022/core.html#Namespaces-Considerations'>DOM
 specification</jump>
  +                     discourages using DOM Level 1 nodes in the namespace aware 
application:
  +             </p>
  +             <p><em>DOM Level 1 methods are namespace ignorant. Therefore, while it 
is safe to use these methods when not 
  +             dealing with namespaces, using them and the new ones at the same time 
should be avoided. DOM Level 1 methods 
  +             solely identify attribute nodes by their nodeName. On the contrary, 
the DOM Level 2 methods related to namespaces, 
  +             identify attribute nodes by their namespaceURI and localName. Because 
of this fundamental difference, mixing both 
  +             sets of methods can lead to unpredictable results.</em></p>
  + 
  +             <source>
  +import org.w3c.dom.Document; 
  +import org.w3c.dom.ls.DOMBuilder;
  +
  +..... 
  +
  +Document document =
  +builder.parseURI("data/personal.xml");
  +document.setErrorHandler(new MyErrorHandler());
  +document.setNormalizationFeature("validate", true);
  +document.normalizeDocument();
  +             </source>
  +
  +             <p>
  +                     For more information, please refer to the
  +                     <link idref='dom3'>DOM Level 3 Implementation</link>
  +                     page.
  +             </p>
  +     </a>
     </faq>
   
     <faq title='Handling Errors in DOM'>
  @@ -232,7 +263,8 @@
        You can register an error handler on a <code>DocumentBuilder</code>
        created using JAXP like this:
         </p>
  -      <source>import javax.xml.parsers.DocumentBuilder;
  +      <source>
  +    import javax.xml.parsers.DocumentBuilder;
        import org.xml.sax.ErrorHandler;
        import org.xml.sax.SAXException;
        import org.xml.sax.SAXParseException;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to