You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by bo...@apache.org on 2008/09/22 11:50:50 UTC

svn commit: r697763 [2/3] - in /xerces/c/trunk/doc: ./ style/dtd/

Modified: xerces/c/trunk/doc/faq-parse.xml
URL: http://svn.apache.org/viewvc/xerces/c/trunk/doc/faq-parse.xml?rev=697763&r1=697762&r2=697763&view=diff
==============================================================================
--- xerces/c/trunk/doc/faq-parse.xml (original)
+++ xerces/c/trunk/doc/faq-parse.xml Mon Sep 22 02:50:49 2008
@@ -18,46 +18,41 @@
 
 <!DOCTYPE faqs SYSTEM "sbk:/style/dtd/faqs.dtd">
 
-<faqs title="Programming/Parsing FAQs">
+<faqs title="Programming &XercesCName;">
 
-  <faq title="Does &XercesCName; support Schema?">
+  <faq title="Does &XercesCName; support XML Schema?">
 
     <q> Does &XercesCName; support Schema?</q>
 
     <a>
-
-      <p>Yes.  The &XercesCName; &XercesC3Version; contains an implementation
+      <p>Yes, &XercesCName; &XercesC3Version; contains an implementation
          of the W3C XML Schema Language, a recommendation of the Worldwide Web Consortium
          available in three parts:
          <jump href="http://www.w3.org/TR/xmlschema-0/">XML Schema: Primer</jump> and
          <jump href="http://www.w3.org/TR/xmlschema-1/">XML Schema: Structures</jump> and
          <jump href="http://www.w3.org/TR/xmlschema-2/">XML Schema: Datatypes</jump>.
-         We consider this implementation complete.  See
-         <jump href="schema-&XercesC3Series;.html#limitation">the Schema page</jump> for limitations.</p>
+         We consider this implementation complete.  See the
+         <jump href="schema-&XercesC3Series;.html#limitation">XML Schema Support</jump> page for limitations.</p>
 
     </a>
   </faq>
 
-  <faq title="Why &XercesCName; does not support this particular Schema feature?">
+  <faq title="Does &XercesCName; support XPath?">
 
-    <q> Why &XercesCName; does not support this particular Schema feature?</q>
+    <q> Does &XercesCName; support XPath?</q>
 
     <a>
 
-      <p>The &XercesCName; &XercesC3Version; contains an implementation
-         of the W3C XML Schema Language, a recommendation of the Worldwide Web Consortium
-         available in three parts:
-         <jump href="http://www.w3.org/TR/xmlschema-0/">XML Schema: Primer</jump> and
-         <jump href="http://www.w3.org/TR/xmlschema-1/">XML Schema: Structures</jump> and
-         <jump href="http://www.w3.org/TR/xmlschema-2/">XML Schema: Datatypes</jump>.
-         We consider this implementation complete.  See
-         <jump href="schema-&XercesC3Series;.html#limitation">the Schema page</jump> for limitations.</p>
-
-      <p>If you find any Schema feature which is specified in the W3C XML Schema Language
-         Recommendation does not work with &XercesCName; &XercesC3Version;, we encourage
-         the submission of bugs as described in
-         <jump href="&BugURI;">Bug-Reporting</jump> page.
-       </p>
+      <p>&XercesCName; &XercesC3Version; provides partial XPath 1 implementation
+         for the purposes of handling XML Schema identity constraints.
+         The same engine is made available through the DOMDocument::evaluate API to
+         let the user perform simple XPath queries involving DOMElement nodes only,
+         with no predicate testing and allowing the "//" operator only as the initial
+         step. For full XPath 1 and 2 support refer to the
+         <jump href="http://xqilla.sourceforge.net">XQilla</jump> and
+         <jump href="http://xml.apache.org/xalan-c/overview.html">Apache Xalan C++</jump>
+         open source projects.
+      </p>
 
     </a>
   </faq>
@@ -82,7 +77,7 @@
 }</source>
 
       <p>This initializes the &XercesCProjectName; system and sets its internal
-        variables. Note that you must the include <code>xercesc/util/PlatformUtils.hpp</code> file for this to work.</p>
+        variables. Note that you must include the <code>xercesc/util/PlatformUtils.hpp</code> file for this to work.</p>
 
     </a>
   </faq>
@@ -90,99 +85,19 @@
   <faq title="Is it OK to call the XMLPlatformUtils::Initialize/Terminate pair of routines multiple times in one program?">
     <q>Is it OK to call the XMLPlatformUtils::Initialize/Terminate pair of routines multiple times in one program?</q>
     <a>
-      <p>Yes.  Since &XercesCName; 1.5.2, the code has been enhanced so that
-         calling XMLPlatformUtils::Initialize/Terminate pair of routines
-         multiple times in one process is now allowed.
-      </p>
-
-      <p>But the application needs to guarantee that only one thread has entered either the
-        method XMLPlatformUtils::Initialize() or the method XMLPlatformUtils::Terminate() at any
-        one time.</p>
+      <p>Yes. Note, however, that the application needs to guarantee that the
+         XMLPlatformUtils::Initialize() and XMLPlatformUtils::Terminate()
+         methods are called from the same thread (usually the initial
+         thread executing main()) or proper synchronization is performed
+         by the application if multiple threads call
+         XMLPlatformUtils::Initialize() and XMLPlatformUtils::Terminate()
+         concurrently.</p>
 
       <p>If you are calling XMLPlatformUtils::Initialize() a number of times, and then follow with
          XMLPlatformUtils::Terminate() the same number of times, only the first XMLPlatformUtils::Initialize()
          will do the initialization, and only the last XMLPlatformUtils::Terminate() will clean up
          the memory.  The other calls are ignored.
       </p>
-
-      <p>To ensure all the memory held by the parser are freed, the number of XMLPlatformUtils::Terminate() calls
-         should match the number of XMLPlatformUtils::Initialize() calls.
-      </p>
-
-      <p>
-         Consider the following code snippets (for illustration simplicity the following
-         sample code is not coded in try/catch clause):
-      </p>
-
-<source>
-// The XMLPlatformUtils::Initialize/Terminate calls are paired.
-{
-    // Initialize the parser
-    XMLPlatformUtils::Initialize();
-
-    SAXParser* parser = new SAXParser;
-    parser->parse(xmlFile);
-    delete parser;
-
-    // Free all memory that was being held by the parser
-    XMLPlatformUtils::Terminate();
-
-    // Initialize the parser
-    XMLPlatformUtils::Initialize();
-
-    parser = new SAXParser;
-    parser->parse(xmlFile);
-    delete parser;
-
-    // Free all memory that was being held by the parser
-    XMLPlatformUtils::Terminate();
-}
-</source>
-
-<source>
-// calls XMLPlatformUtils::Initialize() three times
-// then calls XMLPlatformUtils::Terminate() numerous times
-{
-    // Initialize the parser
-    XMLPlatformUtils::Initialize();
-
-    // The next two calls are no-op
-    XMLPlatformUtils::Initialize();
-    XMLPlatformUtils::Initialize();
-
-    SAXParser* parser = new SAXParser;
-    parser->parse(xmlFile);
-    delete parser;
-
-    // The first two XMLPlatformUtils::Terminate() calls are no-op
-    XMLPlatformUtils::Terminate();
-    XMLPlatformUtils::Terminate();
-
-    // This third XMLPlatformUtils::Terminate() will free all memory that was being held by the parser
-    XMLPlatformUtils::Terminate();
-
-    // This extra fourth XMLPlatformUtils::Terminate() call is no-op.
-    // However calling XMLPlatformUtils::Terminate() without a matching XMLPlatformUtils::Initialize()
-    // is dangerous and should be avoided.
-    XMLPlatformUtils::Terminate();
-}
-</source>
-    </a>
-  </faq>
-
-  <faq title="Why does my application crash or hang if XMLPlatformUtils::Initialize()/Terminate() pair is called more than once?">
-
-    <q>Why does my application crash or hang if XMLPlatformUtils::Initialize()/Terminate() pair is called more than once?</q>
-
-    <a>
-
-      <p>Please make sure you are using the &XercesCName; 1.5.2 or up.
-      </p>
-
-      <p>Earlier version of &XercesCName; does not allow XMLPlatformUtils::Initialize()/Terminate()
-         pair to be called more than once or has a problem.
-      </p>
-
     </a>
   </faq>
 
@@ -197,8 +112,7 @@
          destructed when going out of scope) should be called after XMLPlatformUtils::Terminate().
       </p>
       <p>
-         For example consider the following code snippets which is incorrect
-         (for illustration simplicity the following sample code is not coded in try/catch clause):
+         For example consider the following code snippet which is incorrect:
       </p>
 
 <source>
@@ -211,7 +125,7 @@
 
       <p>The XercesDOMParser object "parser" is destructed when going out of scope at line 5 before the closing
          brace.  As a result, XercesDOMParser destructor is called at line 5 after
-         XMLPlatformUtils::Terminate() which is wrong.  Correct code should be:
+         XMLPlatformUtils::Terminate() which is incorrect.  Correct code should be:
       </p>
 
 <source>
@@ -227,73 +141,14 @@
       <p>The extra pair of braces (line 2a and 3a) ensures that all implicit destructors are called
          before terminating &XercesCName;.</p>
 
-      <p>In addition the application also needs to guarantee that only one thread has entered either the
-        method XMLPlatformUtils::Initialize() or the method XMLPlatformUtils::Terminate() at any
-        one time.
-      </p>
-    </a>
-  </faq>
+      <p>Note also that the application needs to guarantee that the
+         XMLPlatformUtils::Initialize() and XMLPlatformUtils::Terminate()
+         methods are called from the same thread (usually the initial
+         thread executing main()) or proper synchronization is performed
+         by the application if multiple threads call
+         XMLPlatformUtils::Initialize() and XMLPlatformUtils::Terminate()
+         concurrently.</p>
 
-  <faq title="I'm suddenly getting segfaults with Xerces-C 2.3.0;
-    why might this be?">
-
-    <q>I'm suddenly getting segfaults with Xerces-C 2.3.0;
-        why might this be?</q>
-    <a>
-      <p>The introduction of pluggable memory management into
-        Xerces-C, one of the main features of 2.3.0, means that
-        application writers have to be more conscious about
-        destructors being invoked implicitly after a call to
-        XMLPlatformUtils::Terminate().  For example, the
-        following code is guaranteed to produce a segmentation
-        fault under Xerces-C 2.3.0, while it happened to work
-        under previous versions (in fact, this was how our
-        SAXPrint sample was formerly written;
-        try-catch blocks removed for brevity):
-      </p>
-<source>
-void myParsingFunction()
-{
-    XMLPlatformUtils::Initialize();
-    SAXParser parser;
-    //parser.various method calls
-    XMLPlatformUtils::Terminate();
-} // seg fault here!
-</source>
-      <p>The reason this will produce a segmentation fault is
-        that any dynamic memory the SAXParser (or any other of
-        Xerces's parsers) needs to allocate is now allocated
-        by default by a static object owned by XMLPlatformUtils.
-        When the XMLPlatformUtils::Terminate() call is made, this
-        object is destroyed--and, consequently, so are all the
-        objects that it directly created.  This includes all the
-        objects dynamically allocated by the SAXParser.  When the
-        parser object goes out of scope, its destructor is
-        invoked, and this attempts to destroy all the objects
-        that it created--which have of course just been destroyed
-        by the static MemoryManager in XMLPlatformUtils.
-      </p>
-      <p>
-        To avoid this, one must either explicitly scope the
-        parser object inside calls to
-        XMLPlatformUtils::Initialize() and
-        XMLPlatformUtils::Terminate(), or dynamically allocate
-        the parser object and destroy it explicitly before the
-        call to XMLPlatformUtils::Terminate() is made.
-      </p>
-      <p>Another way of producing segmentation faults--that again,
-      unfortunately, was employed by some of our
-      samples--is to have calls to XMLPlatformUtils::Terminate()
-      in a catch block that catches any of Xerces's exceptions.
-      Since the destructor of the exception will implicitly be
-      invoked upon exit from the catch block, and since some of
-      the exceptions' destructors call on Xerces's
-      default memory manager to destroy dynamically-allocated
-      objects, their destruction will provoke a segmentation
-      fault even if a return statement is placed in the catch
-      block since the default memory manager will no longer exist.
-      This practice is now avoided in all our samples.
-      </p>
     </a>
   </faq>
 
@@ -302,9 +157,8 @@
     <q>Is &XercesCName; thread-safe?</q>
 
     <a>
-
-      <p>This is not a question that has a simple yes/no answer. Here are the
-        rules for using &XercesCName; in a multi-threaded environment:</p>
+     <p>The answer is yes if you observe the following rules for using
+        &XercesCName; in a multi-threaded environment:</p>
 
       <p>Within an address space, an instance of the parser may be used without
         restriction from a single thread, or an instance of the parser can be accessed
@@ -321,10 +175,13 @@
         instances may be concurrently accessed from different threads, but any given
         document instance can only be accessed by one thread at a time.</p>
 
-      <p>The application also needs to guarantee that only one thread has entered either the
-        method XMLPlatformUtils::Initialize() or the method XMLPlatformUtils::Terminate() at any
-        one time.</p>
-
+      <p>The application also needs to guarantee that the
+         XMLPlatformUtils::Initialize() and XMLPlatformUtils::Terminate()
+         methods are called from the same thread (usually the initial
+         thread executing main()) or proper synchronization is performed
+         by the application if multiple threads call
+         XMLPlatformUtils::Initialize() and XMLPlatformUtils::Terminate()
+         concurrently.</p>
     </a>
   </faq>
 
@@ -348,64 +205,36 @@
          should match the number of XMLPlatformUtils::Initialize() calls.
       </p>
 
-      <p>If you are using XML4C where ICU is used, you may call ICU function u_cleanup() to clean up
-         ICU static data.  Please see <jump href="http://icu-project.org/">ICU documentation</jump>
-         for details.
-      </p>
-    </a>
-  </faq>
-
-  <faq title="I find memory leaks in &XercesCName;. How do I eliminate it?">
-
-    <q>I find memory leaks in &XercesCName;. How do I eliminate it?</q>
-
-    <a>
-
-      <p>The "leaks" that are reported through a leak-detector or heap-analysis
-        tools aren't really leaks in most application, in that the memory usage does
-        not grow over time as the XML parser is used and re-used.</p>
-
-      <p>What you are seeing as leaks are actually lazily evaluated data
-        allocated into static variables. This data gets released when the application
-        ends. You can make a call to <code>XMLPlatformUtil::terminate()</code> to release all the lazily allocated variables before you exit your
-        program.</p>
-
-      <p>To ensure all the memory held by the parser are freed, the number of XMLPlatformUtils::Terminate() calls
-         should match the number of XMLPlatformUtils::Initialize() calls.
-      </p>
-
-      <p>If you are using XML4C where ICU is used, you may call ICU function u_cleanup() to clean up
-         ICU static data.  Please see <jump href="http://icu-project.org/">ICU documentation</jump>
-         for details.
+      <p>If you have built &XercesCName; with dependency on ICU then you may
+         want to call the u_cleanup() ICU function to clean up
+         ICU static data. Refer to the ICU documentation for details.
       </p>
     </a>
   </faq>
 
   <faq title="Can &XercesCName; create an XML skeleton based on a DTD">
 
-    <q>Is there a function that I have totally missed that creates
-      an XML file from a DTD, (obviously with the values missing, a skeleton, as it
-      were)?</q>
-
+    <q>Is there a function that creates an XML file from a DTD (obviously
+       with the values missing, a skeleton)?</q>
     <a>
 
-      <p>No.  This is not supported.</p>
+      <p>No, there is no such functionality.</p>
 
     </a>
   </faq>
 
   <faq title="Can I use &XercesCName; to perform write validation">
 
-    <q>Can I use &XercesCName; to perform "write validation" (which is having an
+    <q>Can I use &XercesCName; to perform "write validation"? That is, having an
       appropriate Grammar and being able to add elements to the DOM whilst validating
-      against the grammar)?</q>
+      against the grammar?</q>
 
     <a>
 
-      <p>No.  This is not supported.</p>
+      <p>No, there is no such functionality.</p>
 
       <p>The best you can do for now is to create the DOM document, write it back
-        as XML and re-parse it.</p>
+        as XML and re-parse it with validation turned on.</p>
 
     </a>
   </faq>
@@ -416,9 +245,8 @@
       DOM tree? That is, without saving and re-parsing the source document?</q>
 
     <a>
-
-      <p>No. The best option for now is to generate XML source from the DOM and feed that back
-        into the parser.</p>
+      <p>No, there is no such functionality. The best you can do for now is to create the DOM document, write it back
+        as XML and re-parse it with validation turned on.</p>
 
     </a>
   </faq>
@@ -426,8 +254,6 @@
   <faq title="How to write out a DOM tree into a string or an XML file?">
      <q>How to write out a DOM tree into a string or an XML file?</q>
      <a>
-      <p>Please make sure you are using &XercesCName; &XercesC3Version; or up.</p>
-
       <p>You can use
          the DOMLSSerializer::writeToString, or DOMLSSerializer::writeNode to serialize a DOM tree.
          Please refer to the sample DOMPrint or the API documentation for more details of
@@ -435,13 +261,13 @@
     </a>
   </faq>
 
-  <faq title="Why does DOMNode::cloneNode() not clone the pointer assigned to a DOMNode via DOMNode::setUserData()?">
-    <q>Why does DOMNode::cloneNode() not clone the pointer assigned to a DOMNode via DOMNode::setUserData()?</q>
+  <faq title="Why doesn't DOMNode::cloneNode() clone the pointer assigned to a DOMNode via DOMNode::setUserData()?">
+    <q>Why doesn't DOMNode::cloneNode() clone the pointer assigned to a DOMNode via DOMNode::setUserData()?</q>
     <a>
       <p>&XercesCName; supports the DOMNode::userData specified
       in <jump href="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-3A0ED0A4">
       the DOM level 3 Node interface</jump>.  As
-      is made clear in the description of the behaviour of
+      is made clear in the description of the behavior of
       <code>cloneNode()</code>, userData that has been set on the
       Node is not cloned.  Thus, if the userData is to be copied
       to the new Node, this copy must be effected manually.
@@ -472,47 +298,6 @@
     </a>
   </faq>
 
-  <faq title="What kinds of URLs are currently supported in &XercesCName;?">
-
-    <q>What kinds of URLs are currently supported in &XercesCName;?</q>
-
-    <a>
-
-      <p>The <code>XMLURL</code> class provides for limited URL support. It understands the <code>file://, http://</code>, and <code>ftp://</code> URL types, and is capable or parsing them into their constituent
-        components, and normalizing them. It also supports the commonly required action
-        of conglomerating a base and relative URL into a single URL. In other words, it
-        performs the limited set of functions required by an XML parser.</p>
-
-      <p>Another thing that URLs commonly do are to create an input stream that
-        provides access to the entity referenced. The parser, as shipped, only supports
-        this functionality on URLs in the form <code>file:///</code> and <code>file://localhost/</code>, i.e. only when the URL refers to a local file.</p>
-
-      <p>You may enable support for HTTP and FTP URLs by implementing and
-        installing a NetAccessor object. When a NetAccessor object is installed, the
-        URL class will use it to create input streams for the remote entities referred
-        to by such URLs.</p>
-
-    </a>
-  </faq>
-
-  <faq title="How can I add support for URLs with HTTP/FTP protocols?">
-
-    <q>How can I add support for URLs with HTTP/FTP protocols?</q>
-
-    <a>
-
-      <p>Support for the http: protocol is now included by default on all
-        platforms.</p>
-
-      <p>To address the need to make remote connections to resources specified
-        using additional protocols, ftp for example, &XercesCName; provides the
-        <code>NetAccessor</code> interface. The header file is <code>src/xercesc/util/XMLNetAccessor.hpp</code>.
-        This interface allows you to plug in your own implementation of URL
-        networking code into the &XercesCName; parser.</p>
-
-    </a>
-  </faq>
-
   <faq title="Can I use &XercesCName; to parse HTML?">
 
     <q>Can I use &XercesCName; to parse HTML?</q>
@@ -545,39 +330,32 @@
         encoding for "plain" text files depends both on the operating system and the
         locale (country and language) in use.</p>
 
-      <p>Another common source of problems is that some characters are not
+      <p>Another common source of problems is characters that are not
         allowed in XML documents, according to the XML spec. Typical disallowed
         characters are control characters, even if you escape them using the Character
-        Reference form. See the <jump href="http://www.w3.org/TR/REC-xml#charsets">XML
-        spec</jump>, sections 2.2 and 4.1 for details. If the parser is generating an <code>Invalid character (Unicode: 0x???)</code> error, it is very likely that there's a character in there that you
+        Reference form. See the XML specification, sections 2.2 and 4.1 for details.
+        If the parser is generating an <code>Invalid character (Unicode: 0x???)</code> error, it is very likely that there's a character in there that you
         can't see. You can generally use a UNIX command like "od -hc" to find it.</p>
 
     </a>
   </faq>
 
-  <faq title="What encodings are supported by Xerces-C / XML4C?">
+  <faq title="What encodings are supported by &XercesCName;?">
 
-    <q>What encodings are supported by Xerces-C / XML4C?</q>
+    <q>What encodings are supported by &XercesCName;?</q>
 
     <a>
-
-      <p>Xerces-C has intrinsic support for ASCII, UTF-8, UTF-16 (Big/Small
+      <p>&XercesCName; has intrinsic support for ASCII, UTF-8, UTF-16 (Big/Small
         Endian), UCS4 (Big/Small Endian), EBCDIC code pages IBM037, IBM1047 and IBM1140
         encodings, ISO-8859-1 (aka Latin1) and Windows-1252. This means that it can
-        parse input XML files in these above mentioned encodings.</p>
-
-      <p>XML4C -- the version of Xerces-C available from IBM -- combines Xerces-C
-         and <jump href="http://icu-project.org/">
-         International Components for Unicode (ICU)</jump> and
-         extends the encoding support to over 100 different encodings that are allowed
-         by ICU.  In particular, all the encodings registered with the
-         <jump href="http://www.iana.org/assignments/character-sets">
-         Internet Assigned Numbers Authority (IANA) </jump> are supported in XML4C.</p>
-
-      <p>Some implementations or ports of Xerces-C provide support for
-        additional encodings. The exact set will depend on the supplier of the parser
-        and on the character set transcoding services in use.</p>
+        always parse input XML files in these above mentioned encodings.</p>
 
+      <p>Furthermore, if you build &XercesCName; with the International Components
+         for Unicode (ICU) as a transcoder then the list of supported encodings
+         extends to over 100 different encodings that are supported by
+         ICU.  In particular, all the encodings registered with the
+         Internet Assigned Numbers Authority (IANA) are supported
+         in this configuration.</p>
     </a>
   </faq>
 
@@ -604,8 +382,8 @@
       </ul>
 
       <p>The only drawback of utf-8 or utf-16 is that they are not the native
-        text file format for most systems, meaning that common text file editors and
-        viewers can not be directly used.</p>
+        text file format for most systems, meaning that some text file editors
+        and viewers can not be directly used.</p>
 
       <p>A second choice of encoding would be any of the others listed in the
         table above. This works best when the xml encoding is the same as the default
@@ -614,10 +392,6 @@
         systems in countries speaking Western European languages, the encoding will
         usually be iso-8859-1.</p>
 
-      <p>The versions of Xerces distributed by IBM, both C and Java (known
-        respectively as XML4C and XML4J), include all of the encodings listed in the
-        above table, on all platforms.</p>
-
       <p>A word of caution for Windows users: The default character set on
         Windows systems is windows-1252, not iso-8859-1. While &XercesCName; does
         recognize this Windows encoding, it is a poor choice for portable XML data
@@ -629,47 +403,16 @@
     </a>
   </faq>
 
-  <faq title="Is EBCDIC supported?">
-
-    <q>Is EBCDIC supported?</q>
-
-    <a>
-
-      <p>Yes, &XercesCName; supports EBCDIC with the ibm1140, ibm037 and ibm1047 encodings.
-        When creating EBCDIC encoded XML data, the preferred encoding is ibm1140. The ibm037 encoding,
-        and its alternate name, ebcdic-cp-us, is almost the same as ibm1140, but
-        it lacks the Euro symbol.</p>
-
-      <p>These three encodings, ibm1140, ibm037 and ibm1047, are available on both
-        Xerces-C and IBM XML4C, on all platforms.</p>
-
-      <p>On IBM System 390, XML4C also supports three alternative forms,
-        ibm037-s390, ibm1140-s390, and ibm1047-s390. These are similar to the base ibm037, ibm1140, and ibm1047
-        encodings, but with alternate mappings of the EBCDIC new-line character, which
-        allows them to appear as normal text files on System 390. These encodings are
-        not supported on other platforms, and should not be used for portable data.</p>
-
-      <p>XML4C on System 390 and AS/400 also provides additional EBCDIC
-        encodings, including those for the character sets of different countries. The
-        exact set supported will be platform dependent, and these encodings are not
-        recommended for portable XML data.</p>
-
-    </a>
-  </faq>
-
   <faq title="Why does deleting a transcoded string result in assertion on windows?">
     <q>Why does deleting a transcoded string result in assertion on windows?</q>
     <a>
-      <p>Both your application program and the &XercesCName; DLL must use the same *DLL* version of the
-         runtime library.  If either statically links to the runtime library, the
+      <p>Both your application program and the &XercesCName; DLL must use the same DLL version of the
+         runtime library.  If either statically links to the runtime library, this
 		 problem will still occur.</p>
 
-      <p>For example, for a Win32/VC6 build, the runtime library build setting MUST
-		 be "Multithreaded DLL" for release builds and "Debug Multithreaded DLL" for
-		 debug builds.</p>
-
-      <p>Or for example for a Win32/BCB6 build, application need to switch to Multithreaded
-         runtime to avoid such memory access violation.</p>
+      <p>For a Visual Studio build the runtime library setting MUST
+         be "Multithreaded DLL" for release builds and "Debug Multithreaded DLL" for
+	 debug builds.</p>
 
       <p>To bypass such problem, instead of calling operator delete[] directly, you can use the
          provided function XMLString::release to delete any string that was allocated by the parser.
@@ -686,7 +429,7 @@
          code page. If this is not true, you must transcode the text yourself. You
          can do this using local transcoding support on your OS, such as Iconv on
          Unix or IBM's ICU package. However, if your transcoding needs are simple,
-         you can achieve some better portability by using the &XercesCName; parser's
+         you can achieve better portability by using the &XercesCName; parser's
          transcoder wrappers. You get a transcoder like this:
        </p>
        <ul>
@@ -711,7 +454,7 @@
          </li>
          <li>
             This object is really just a wrapper around the underlying transcoding
-            system actually in use by your version of Xerces, and does whatever is
+            system actually in use by your version of &XercesCName;, and does whatever is
             necessary to handle differences between the XMLCh representation and the
             representation used by that underlying transcoding system.
          </li>
@@ -745,62 +488,33 @@
        </ul>
          <p>Here is an example:</p>
 <source>
-// create an XMLTranscoder that is able to transcode between Unicode and Big5
-// ASSUMPTION: assumes your underlying transcoding utility supports this encoding Big5
-XMLTranscoder* t =
-    XMLPlatformUtils::fgTransService->makeNewTranscoderFor("Big5", failReason, 16*1024, MemoryManager);
-
-// source string is in Unicode, wanna to transcode to Big5
-t-&gt;transcodeTo(source_unicode, length, result_Big5, length, charsEaten, XMLTranscoder::UnRep_Throw );
-
-// source string in Big5, wanna to transcode to Unicode
-t-&gt;transcodeFrom(source_Big5, length, result_unicode, length, bytesEaten, (unsigned char*)charSz);
+// Create an XMLTranscoder that is able to transcode between
+// Unicode and UTF-8.
+//
+XMLTranscoder* t = XMLPlatformUtils::fgTransService->makeNewTranscoderFor(
+  "UTF-8", failReason, 16*1024);
+
+// Source string is in Unicode, want to transcode to UTF-8
+t-&gt;transcodeTo(source_unicode,
+                  length,
+                  result_utf8,
+                  length,
+                  charsEaten,
+                  XMLTranscoder::UnRep_Throw);
+
+// Source string in UTF-8, want to transcode to Unicode.
+t-&gt;transcodeFrom(source_utf8,
+                    length,
+                    result_unicode,
+                    length,
+                    bytesEaten,
+                    (unsigned char*)charSz);
 </source>
 
-    </a>
-  </faq>
-
-  <faq title="Why does setProperty not work?">
-
-    <q>Why does setProperty not work?</q>
-
-    <a>
-
-      <p>The function <code>SAX2XMLReader::setProperty(const XMLCh* const name, void* value)</code>
-         and <code>DOMLSParser::getDomConfig()->setParameter(const XMLCh* name, const void* value)</code>
-         takes a void pointer for the property value.  Application is required to initialize this void pointer
-         to a correct type.  See <jump href="program-sax2-&XercesC3Series;.html#SAX2Properties">SAX2 Programming Guide</jump>
-         and <jump href="program-dom-&XercesC3Series;.html#DOMLSParserProperties">DOM Programming Guide</jump>
-         to learn exactly what type of property value that each property expects for processing.
-         Passing a void pointer that was initialized with a wrong type will lead to unexpected result.
-      </p>
-
-    </a>
-  </faq>
-
-  <faq title="Why does getProperty not work?">
-
-    <q>Why does getProperty not work?</q>
-
-    <a>
-
-      <p>The function <code>void* SAX2XMLReader::getProperty(const XMLCh* const name)</code>
-         and <code>void* DOMLSParser::getDomConfig()->getParameter(const XMLCh* name)</code>
-         returns a void pointer for the property value.  See
-         <jump href="program-sax2-&XercesC3Series;.html#SAX2Properties">SAX2 Programming Guide</jump> and
-         exactly what type of object each property returns.
-      </p>
-      <p>The parser owns the returned pointer.  The memory allocated for
-         the returned pointer will be destroyed when the parser is deleted.
-         To ensure accessibility of the returned information after the parser
-         is deleted, callers need to copy and store the returned information
-         somewhere else; otherwise you may get unexpected result.  Since the returned
-         pointer is a generic void pointer, see
-         <jump href="program-sax2-&XercesC3Series;.html#SAX2Properties">SAX2 Programming Guide</jump> and
-         <jump href="program-dom-&XercesC3Series;.html#DOMLSParserProperties">DOM Programming Guide</jump> to learn
-         exactly what type of property value each property returns for replication.
-      </p>
-
+        <p>An even simpler way to transcode to a different encoding is
+           to use the TranscodeToStr and TranscodeFromStr wrapper classes
+           which represent a one-time transcoding and encapsulate all the
+           memory management. Refer to the API Reference for more information.</p>
     </a>
   </faq>
 
@@ -815,11 +529,11 @@
       <p>When DTD is referenced, the parser will try to read it, because DTDs can
          provide a lot more information than just validation. It defines entities and
          notations, external unparsed entities, default attributes, character
-         entities, etc... So it will always try to read it if present, even if
+         entities, etc. Therefore the parser will always try to read it if present, even if
          validation is turned off.
       </p>
 
-      <p>To ignore the DTD, with &XercesCName; &XercesC3Version; or up, you can call
+      <p>To ignore external DTDs completely you can call
          <code>setLoadExternalDTD(false)</code> (or
          <code>setFeature(XMLUni::fgXercesLoadExternalDTD, false)</code>
          to disable the loading of external DTD.   The parser will then ignore
@@ -828,28 +542,6 @@
 
       <p>Note: This flag is ignored if the validationScheme is set to Val_Always or Val_Auto.
       </p>
-
-      <p>To ignore the DTD in earlier version of &XercesCName;, the
-         only way to get around this is to install an EntityResolver
-         (see the Redirect sample for an example of how this is done), and reset the
-         DTD file to "".
-      </p>
-
-    </a>
-  </faq>
-
-  <faq title="Why do I get segmentation fault when running on Redhat Linux?">
-
-    <q>Why do I get segmentation fault when running on Redhat Linux?</q>
-
-    <a>
-
-      <p>There were some problems with Redhat Linux 7.x with C++ exception handling across shared
-         libraries.  More details can be found
-         <jump href="http://rhn.redhat.com/errata/RHBA-2002-055.html">here</jump>.
-         Please try to upgrade your Redhat Linux gcc to the latest patch level and see if it helps.
-      </p>
-
     </a>
   </faq>
 
@@ -862,7 +554,7 @@
       <p>If you parse an xml document using XercesDOMParser or DOMLSParser and pass such DOMNode
          to DOMLSSerializer for serialization, you may not get something that is exactly the same
          as the original XML data.   The parser may have done normalization, end of line conversion,
-         or has expanded the entity reference as per the XML 1.0 spec, 4.4 XML Processor Treatment of
+         or has expanded the entity reference as per the XML 1.0 specification, 4.4 XML Processor Treatment of
          Entities and References.   From DOMLSSerializer perspective, it does not know what the original
          string was, all it sees is a processed DOMNode generated by the parser.
          But since the DOMLSSerializer is supposed to generate something that is parsable if sent
@@ -892,7 +584,7 @@
 ...
 try
 {
-    parser->parse(gXmlFile);
+    parser->parse(xml_file);
 }
 catch ()
 {
@@ -913,23 +605,4 @@
     </a>
   </faq>
 
-  <faq title="Why do we have two versions of some XMLString methods (one with memory manager and one without)?">
-
-    <q>Why do we have two versions of some XMLString methods (one with memory manager and one without)?</q>
-
-    <a>
-
-      <p>With the introduction of the configurable memory manager, we didn't want to break users by
-         changing the signature of the existing methods (for example, transcode and replicate). Also,
-         we did not want to provide a default memory
-         manager as it would introduce a side effect with users experiencing some strange core dumps.
-         The latter will occur when the scope of the string allocated is beyond that of
-         XMLPlatformUtils::Terminate (i.e. a string is allocated using the default memory manager
-         which is deleted when XMLPlatformUtils::Terminate is called, but the allocated string is
-         deleted later). We plan to deprecate the methods without a memory manager in a later release.
-      </p>
-
-    </a>
-  </faq>
-
 </faqs>

Modified: xerces/c/trunk/doc/install.xml
URL: http://svn.apache.org/viewvc/xerces/c/trunk/doc/install.xml?rev=697763&r1=697762&r2=697763&view=diff
==============================================================================
--- xerces/c/trunk/doc/install.xml (original)
+++ xerces/c/trunk/doc/install.xml Mon Sep 22 02:50:49 2008
@@ -20,10 +20,13 @@
 
 <s1 title="Installation">
 
+    <p>Source and binary distributions installation instructions are
+       available for the following platforms:</p>
+
     <ul>
-      <li><link anchor="Windows">Installation Instructions for Windows</link></li>
-      <li><link anchor="Unix">Installation Instructions for UNIX/Mac OS X/Linux</link></li>
-      <li><link anchor="Cygwin">Installation Instructions for Cygwin</link></li>
+      <li><link anchor="Windows">Windows</link></li>
+      <li><link anchor="Unix">UNIX/Linux/Mac OS X</link></li>
+      <li><link anchor="Cygwin">Cygwin</link></li>
     </ul>
 
     <anchor name="Windows"/>
@@ -57,10 +60,10 @@
            WinZip, or any other UnZip utility. For example:</p>
 
 <source>
-unzip &XercesC3InstallDir;-x86-windows-vc_8_0.zip
+unzip &XercesC3InstallDir;-x86-windows-vc-8.0.zip
 </source>
 
-        <p>This creates a &apos;&XercesC3InstallDir;-x86-windows-vc_8_0&apos;
+        <p>This creates a &apos;&XercesC3InstallDir;-x86-windows-vc-8.0&apos;
            sub-directory containing the &XercesCName; binary distribution.</p>
 
         <p>You need to add the &apos;&XercesC3InstallDir;-{arch}-windows-{compiler}\bin&apos;
@@ -111,10 +114,10 @@
            and {compiler} denotes the C++ compiler of your choice.
            For example:</p>
 <source>
-gzip -d &XercesC3InstallDir;-x86-linux-gcc_3_4.tar.gz
-tar -xf &XercesC3InstallDir;-x86-linux-gcc_3_4.tar
+gzip -d &XercesC3InstallDir;-x86-linux-gcc-3.4.tar.gz
+tar -xf &XercesC3InstallDir;-x86-linux-gcc-3.4.tar
 </source>
-        <p>This will create an '&XercesC3InstallDir;-x86-linux-gcc_3_4'
+        <p>This will create an '&XercesC3InstallDir;-x86-linux-gcc-3.4'
            sub-directory containing the &XercesCName; binary distribution.</p>
 
         <p>You will need to add the
@@ -190,28 +193,13 @@
       </s3>
 
       <s3 title="Binary distribution">
-        <p>Install the binary distribution by running
-           <jump href="http://www.cygwin.com">Cygwin</jump> setup.exe.
-           When you reach the "Packages" step of the Cygwin Setup wizard,
-           expand the "Devel" category, then click in the "New" column next
+        <p>Precompiled Xerces-C++ libraries for Cygwin are provide as
+           part of the Cygwin package repository. To install the binary
+           distribution run Cygwin setup.exe.
+           When you reach the Packages step of the Cygwin Setup wizard,
+           expand the Devel category, then click in the New column next
            to "xerces-c-devel" until it reads "&XercesC3Version;-X".</p>
 
-        <p>This will install the necessary libraries and include files
-           for the &XercesCName; binary distribution.</p>
-
-        <p>If you wish to run programs linked to &XercesCName; that were
-           built in the Cygwin environment, you need to add your Cygwin
-           "bin" directory to your Windows PATH environment variable.
-           In typical Cygwin installations, the bin directory is in the
-           Cygwin directory on the drive that windows is installed on.
-           For instance, if windows is installed to "C:\Windows\System32",
-           Your Cygwin bin directory may be "C:\cygwin\bin".</p>
-
-        <p>The binary distribution contains the pre-built parser libraries.
-           Sample executables may be available in a future release on the
-           Cygwin platform.  In the meantime, they may be built from the
-           source distribution by following the
-           <jump href="build-&XercesC3Series;.html">Build Instructions</jump>.</p>
       </s3>
    </s2>
 </s1>

Modified: xerces/c/trunk/doc/memparse.xml
URL: http://svn.apache.org/viewvc/xerces/c/trunk/doc/memparse.xml?rev=697763&r1=697762&r2=697763&view=diff
==============================================================================
--- xerces/c/trunk/doc/memparse.xml (original)
+++ xerces/c/trunk/doc/memparse.xml Mon Sep 22 02:50:49 2008
@@ -21,7 +21,7 @@
 <s1 title="Sample: MemParse">
 
     <s2 title="MemParse">
-        <p>MemParse uses the Validating SAX Parser to parse a memory buffer containing
+        <p>MemParse uses the SAX Parser to parse a memory buffer containing
                   XML statements, and reports the number of elements and attributes found.</p>
 
         <s3 title="Running MemParse">
@@ -102,7 +102,7 @@
           <p>Note that the sum of spaces and characters in both versions is the same.</p>
 
           <note>The time reported by the system may be different, depending on your
-          processor type.</note>
+          processor speed.</note>
 
         </s3>
     </s2>

Modified: xerces/c/trunk/doc/migration.xml
URL: http://svn.apache.org/viewvc/xerces/c/trunk/doc/migration.xml?rev=697763&r1=697762&r2=697763&view=diff
==============================================================================
--- xerces/c/trunk/doc/migration.xml (original)
+++ xerces/c/trunk/doc/migration.xml Mon Sep 22 02:50:49 2008
@@ -21,59 +21,103 @@
 <s1 title="Migration">
     <s2 title="Migration Archive">
 
-       <p>For migration information to &XercesCName; 2.7.0 or earlier,
-          please refer to <jump href="migrate_archive-&XercesC3Series;.html">Migration Archive. </jump></p>
+       <p>For migration information to &XercesCName; 2 series or earlier,
+          please refer to <link idref="migrate-archive-&XercesC3Series;">Migration Archive</link>.</p>
 
     </s2>
 
-    <s2 title="Migrating from &XercesCName; 2.7.0 to &XercesCName; &XercesC3Version;">
+    <s2 title="Migrating from &XercesCName; 2 series to &XercesCName; &XercesC3Version;">
       <p>The following section is a discussion of the technical differences between
-      &XercesCName; 2.7.0 code base and the &XercesCName; &XercesC3Version;.</p>
+      &XercesCName; 2 series and &XercesCName; &XercesC3Version;.</p>
 
       <p>Topics discussed are:</p>
       <ul>
-        <li><link anchor="NewFeatures280">New features in &XercesCName; &XercesC3Version;</link></li>
-        <li><link anchor="API280">Public API Changes</link></li>
+        <li><link anchor="NewFeatures300">New features in &XercesCName; &XercesC3Version;</link></li>
+        <li><link anchor="API300">Public API Changes</link></li>
         <ul>
-            <li><link anchor="NewAPI280">New Public API</link></li>
-            <li><link anchor="ModifiedAPI280">Modified Public API</link></li>
-            <li><link anchor="DeprecatedAPI280">Deprecated/Removed Public API</link></li>
+            <li><link anchor="NewAPI300">New Public API</link></li>
+            <li><link anchor="ModifiedAPI300">Modified Public API</link></li>
+            <li><link anchor="DeprecatedAPI300">Deprecated/Removed Public API</link></li>
         </ul>
       </ul>
 
-    <anchor name="NewFeatures280"/>
+    <anchor name="NewFeatures300"/>
     <s3 title="New features in &XercesCName; &XercesC3Version;">
       <ul>
-        <li>Exponential growth of memory block (from 16KB to 128KB) that are allocated by the DOM heap.</li>
-        <li>The NODE_CLONED notification is now sent to each node's user data handler when cloning the entire DOMDocument.</li>
-        <li>On Windows extract the registry code page from MIME\Database\Charset\&lt;encoding>\@InternetEncoding instead of MIME\Database\Charset\&lt;encoding>\@Codepage.</li>
-        <li>Allow whitespace-only nodes to be added as children of a DOMDocument.</li>
-        <li>When a node is cloned or imported the type information (PSVI) is also copied.</li>
-        <li>When using SAX2, including XMLReaderFactory to use createXMLReader doesn't include xercesc/parsers/SAX2XMLReaderImpl.hpp anymore. If you need to cast the SAX2XMLReader to SAX2XMLReaderImpl,
-            you need to include this header yourself.</li>
+        <li>Autotools-based build system for the UNIX/Linux/Mac OS X platforms</li>
+        <li>Project files for VC++ 9</li>
+        <li>Support for the ICU transcoder in VC++ 7.1, 8, and 9 project files</li>
+        <li>libcurl-based net accessor</li>
+        <li>Support for XInclude in DOM</li>
+        <li>Support for both XPath 1 and XPath 2 models in the DOM XPath interface</li>
+        <li>Support for the XML Schema subset of XPath 1 in DOM</li>
+        <li>Conformance to the final DOM Level 3 interface specification</li>
+        <li>Ability to provide custom DOM memory manager as well as tune the global DOM heap parameters</li>
+        <li>All public and widely used interfaces as well as a large
+            portion of the implementation were converted to be 64-bit safe.</li>
+        <li>Various XML Schema fixes including the fix for the large
+            maxOccurs and minOccurs bug as well as for the changed ##other
+            interpretation</li>
+        <li>Reviewed and cleaned up diagnostics messages</li>
+        <li>Optimizations for SAX/SAX2 and DOM parsing as well as XML Schema
+            validation</li>
       </ul>
     </s3>
 
-    <anchor name="API280"/>
+    <anchor name="API300"/>
     <s3 title="Public API Changes">
 
-        <p>The following lists the public API changes between the &XercesCName;
-           2.7.0; and the &XercesCName; &XercesC3Version; releases
-           of the parser. </p>
+        <p>&XercesCName; &XercesC3Version; is a major release and includes
+           a number of application-breaking interface changes compared to
+           &XercesCName; 2 series.
+           The following sub-sections provide an overview of the public API
+           changes between &XercesCName; 2 series and this release.</p>
 
-        <anchor name="NewAPI280"/>
-        <s4 title="New Public API">
+        <anchor name="NewAPI300"/>
+        <s4 title="New Public APIs">
             <ul>
-              <li>XMLBufferMgr: getBufferCount and getAvailableBufferCount</li>
+              <li>XMLGrammarPoolImpl implementation has been moved to
+                  framework/ and is now publicly accessible</li>
+
+              <li>DOM XPath interfaces now support XPath 2 model</li>
+
+              <li>A number of DOM interfaces (DOMLSInput, DOMLSOuput,
+                  DOMLSParser, DOMLSSerializer, DOMConfiguration, etc.)
+                  were added as part of the the final DOM Level 3
+                  specification conformance work</li>
             </ul>
         </s4>
 
-        <anchor name="ModifiedAPI280"/>
-        <s4 title="Modified Public API">
+        <anchor name="ModifiedAPI300"/>
+        <s4 title="Modified Public APIs">
+
+          <p>A large number of public APIs have been modified. Consult
+             individual interface documentation for details. The following
+             list gives an overview of major changes:</p>
+
+          <ul>
+            <li>Several DOM interfaces have been adjusted to conform to the final
+                DOM Level 3 specification</li>
+
+            <li>DOM XPath interfaces have been adjusted to support both XPath 1
+                and XPath 2</li>
+
+            <li>Many public interfaces that used int/long types to represent
+                memory-related sizes, counts, indexes, etc., have been modified
+                to use the 64-bit safe XMLSize_t type instead</li>
+          </ul>
+
         </s4>
 
-        <anchor name="DeprecatedAPI280"/>
-        <s4 title="Deprecated/Removed Public API">
+        <anchor name="DeprecatedAPI300"/>
+        <s4 title="Deprecated/Removed Public APIs">
+          <p>All APIs marked as deprecated in &XercesCName; 2 series have
+             been removed in this release. In particular deprecated DOM
+             (depdom) as well as COM support have been removed.</p>
+
+          <p>Furthermore, a number of DOM interfaces (DOMBuilder, DOMWriter,
+             DOMInputSource, etc.) were replaced as part of the the final
+             DOM Level 3 specification conformance work.</p>
         </s4>
 
     </s3>

Modified: xerces/c/trunk/doc/migration_archive.xml
URL: http://svn.apache.org/viewvc/xerces/c/trunk/doc/migration_archive.xml?rev=697763&r1=697762&r2=697763&view=diff
==============================================================================
--- xerces/c/trunk/doc/migration_archive.xml (original)
+++ xerces/c/trunk/doc/migration_archive.xml Mon Sep 22 02:50:49 2008
@@ -21,6 +21,7 @@
 <s1 title="Migration Archive">
     <s2 title="Migrating to earlier Releases">
       <ul>
+        <li><link anchor="Migrateto280">Migrating from &XercesCName; 2.7.0 to 2.8.0</link></li>
         <li><link anchor="Migrateto270">Migrating from &XercesCName; 2.6.0 to 2.7.0</link></li>
         <li><link anchor="Migrateto260">Migrating from &XercesCName; 2.5.0 to 2.6.0</link></li>
         <li><link anchor="Migrateto250">Migrating from &XercesCName; 2.4.0 to 2.5.0</link></li>
@@ -36,6 +37,35 @@
       </ul>
     </s2>
 
+    <anchor name="Migrateto280"/>
+    <s2 title="Migrating from &XercesCName; 2.7.0 to &XercesCName; 2.8.0">
+    <p>The following section is a discussion of the technical differences between
+       &XercesCName; 2.7.0 code base and the &XercesCName; 2.8.0.</p>
+
+      <p>Topics discussed are:</p>
+      <ul>
+        <li><link anchor="NewFeatures280">New features in &XercesCName; 2.8.0</link></li>
+        <li><link anchor="API280">Public API Changes</link></li>
+        <ul>
+            <li><link anchor="NewAPI280">New Public API</link></li>
+            <li><link anchor="ModifiedAPI280">Modified Public API</link></li>
+            <li><link anchor="DeprecatedAPI280">Deprecated/Removed Public API</link></li>
+        </ul>
+      </ul>
+
+    <anchor name="NewFeatures280"/>
+    <s3 title="New features in &XercesCName; 2.8.0">
+      <ul>
+        <li>Exponential growth of memory block (from 16KB to 128KB) that are allocated by the DOM heap.</li>
+        <li>The NODE_CLONED notification is now sent to each node's user data handler when cloning the entire DOMDocument.</li>
+        <li>On Windows extract the registry code page from MIME\Database\Charset\&lt;encoding>\@InternetEncoding instead of MIME\Database\Charset\&lt;encoding>\@Codepage.</li>
+        <li>Allow whitespace-only nodes to be added as children of a DOMDocument.</li>
+        <li>When a node is cloned or imported the type information (PSVI) is also copied.</li>
+        <li>When using SAX2, including XMLReaderFactory to use createXMLReader doesn't include xercesc/parsers/SAX2XMLReaderImpl.hpp anymore. If you need to cast the SAX2XMLReader to SAX2XMLReaderImpl,
+            you need to include this header yourself.</li>
+      </ul>
+    </s3>
+    </s2>
 
     <anchor name="Migrateto270"/>
     <s2 title="Migrating from &XercesCName; 2.6.0 to &XercesCName; 2.7.0">
@@ -641,28 +671,7 @@
 
     <anchor name="LibraryChange200"/>
     <s3 title="Unix Library Name Change">
-      <p>The &XercesCName; UNIX Library now follows the Unix Shared Library Naming Convention (libname.so.soname).
-         It is now called:</p>
-         <ul>
-            <li>AIX</li>
-            <ul>
-              <li>&XercesC3UnixLib;&XercesC3UnixSoName;.so</li>
-              <li>symbolic link: &XercesC3UnixLib;.so                      ----&gt; &XercesC3UnixLib;&XercesC3UnixVersion;.so</li>
-              <li>symbolic link: &XercesC3UnixLib;&XercesC3UnixVersion;.so  ----&gt; &XercesC3UnixLib;&XercesC3UnixSoName;.so</li>
-            </ul>
-            <li>Solaris / Linux</li>
-            <ul>
-              <li>&XercesC3UnixLib;.so.&XercesC3UnixSoName;</li>
-              <li>symbolic link: &XercesC3UnixLib;.so                      ----&gt; &XercesC3UnixLib;.so.&XercesC3UnixVersion;</li>
-              <li>symbolic link: &XercesC3UnixLib;.so.&XercesC3UnixVersion; ----&gt; &XercesC3UnixLib;.so.&XercesC3UnixSoName;</li>
-            </ul>
-            <li>HP-UX</li>
-            <ul>
-              <li>&XercesC3UnixLib;.sl.&XercesC3UnixSoName;</li>
-              <li>symbolic link: &XercesC3UnixLib;.sl                      ----&gt; &XercesC3UnixLib;.sl.&XercesC3UnixVersion;</li>
-              <li>symbolic link: &XercesC3UnixLib;.sl.&XercesC3UnixVersion; ----&gt; &XercesC3UnixLib;.sl.&XercesC3UnixSoName;</li>
-            </ul>
-         </ul>
+      <p>The &XercesCName; UNIX Library now follows the Unix Shared Library Naming Convention (libname.so.soname).</p>
     </s3>
 
     <anchor name="DirChange200"/>

Modified: xerces/c/trunk/doc/pparse.xml
URL: http://svn.apache.org/viewvc/xerces/c/trunk/doc/pparse.xml?rev=697763&r1=697762&r2=697763&view=diff
==============================================================================
--- xerces/c/trunk/doc/pparse.xml (original)
+++ xerces/c/trunk/doc/pparse.xml Mon Sep 22 02:50:49 2008
@@ -22,12 +22,12 @@
 
     <s2 title="PParse">
         <p>PParse demonstrates progressive parsing.</p>
-        <p>In this example, the programmer doesn't have to depend upon throwing
+        <p>In this example, the application doesn't have to depend upon throwing
             an exception to terminate the parsing operation. Calling parseFirst() will
             cause the DTD to be parsed (both internal and external subsets) and any
             pre-content, i.e. everything up to but not including the root element.
             Subsequent calls to parseNext() will cause one more piece of markup to
-            be parsed, and spit out from the core scanning code to the parser. You
+            be parsed, and propagated from the core scanning code to the parser. You
             can quit the parse any time by just not calling parseNext() anymore
             and breaking out of the loop. When you call parseNext() and the end
             of the root element is the next piece of markup, the parser will
@@ -35,8 +35,8 @@
 			know that the parse is done.</p>
 
         <s3 title="Running PParse">
-        	<p>PParse parses an XML file and prints out a count of the number of
-          elements in the file</p>
+        	<p>PParse parses an XML file and prints out the number of
+          elements in the file.</p>
 <source>Usage:
     PParse [options] &lt;XML file&gt;
 
@@ -60,7 +60,7 @@
              <em>-v=never</em> will not use any validation<br/>
              <em>-v=auto</em> will validate if a DOCTYPE declaration or a schema declaration is present in the XML document</p>
           <p>Here is a sample output from PParse</p>
-<source>cd &XercesC3InstallDir;-linux/samples/data
+<source>cd &XercesC3InstallDir;/samples/data
 PParse -v=always personal.xml
 personal.xml: 60 ms (37 elems, 12 attrs, 134 spaces, 134 chars)</source>
           <p>Running PParse with the validating parser gives a different result because
@@ -70,7 +70,7 @@
           <p>Note that the sum of spaces and characters in both versions is the same.</p>
 
           <note>The time reported by the program may be different depending on your
-          machine processor.</note>
+          processor speed.</note>
         </s3>
     </s2>
 </s1>

Modified: xerces/c/trunk/doc/program-dom.xml
URL: http://svn.apache.org/viewvc/xerces/c/trunk/doc/program-dom.xml?rev=697763&r1=697762&r2=697763&view=diff
==============================================================================
--- xerces/c/trunk/doc/program-dom.xml (original)
+++ xerces/c/trunk/doc/program-dom.xml Mon Sep 22 02:50:49 2008
@@ -316,13 +316,10 @@
     #include &lt;xercesc/util/XMLString.hpp>
     #include &lt;xercesc/util/PlatformUtils.hpp>
 
-    #if defined(XERCES_NEW_IOSTREAMS)
     #include &lt;iostream>
-    #else
-    #include &lt;iostream.h>
-    #endif
 
-    XERCES_CPP_NAMESPACE_USE
+    using namespace std;
+    using namespace xercesc;
 
     int main (int argc, char* args[]) {
 
@@ -833,13 +830,10 @@
     #include &lt;xercesc/util/XMLString.hpp>
     #include &lt;xercesc/util/PlatformUtils.hpp>
 
-    #if defined(XERCES_NEW_IOSTREAMS)
     #include &lt;iostream>
-    #else
-    #include &lt;iostream.h>
-    #endif
 
-    XERCES_CPP_NAMESPACE_USE
+    using namespace std;
+    using namespace xercesc;
 
     int main (int argc, char* args[]) {
 
@@ -917,7 +911,7 @@
         provides some framework classes for specialized types of input source (i.e. LocalFileInputSource, etc.) that are
         derived from the SAX InputSource. In DOM L3, to allow users implementing their own DOMLSResourceResolver(s), which return
         a DOMLSInput, to utilize these framework classes, we need to provide a mechanism to map a SAX InputSource to a
-        DOMInputSource. We are introducing to wrapper classes to interchange DOMLSInput and SAX InputSource.
+        DOMInputSource. Two wrapper classes are available to interchange DOMLSInput and SAX InputSource:
         </p>
 
            <s4 title="Wrapper4DOMLSInput">
@@ -1250,8 +1244,8 @@
             </table>
 
             <p/>
-	    
-	    
+
+
             <anchor name="builder-load-schema"/>
             <table>
                 <tr><th colspan="2"><em>http://apache.org/xml/features/validating/load-schema</em></th></tr>
@@ -1632,7 +1626,7 @@
 
         <anchor name="ConstructDOMLSSerializer"/>
         <s3 title="Constructing a DOMLSSerializer">
-          <p>DOMWriter is a new interface introduced by the
+          <p>DOMLSSerializer is a new interface introduced by the
             <jump href="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/">
             W3C DOM Level 3.0 Load and Save Specification</jump>.
             DOMLSSerializer provides the "Save" interface for serializing (writing) a DOM document into
@@ -1646,13 +1640,11 @@
     #include &lt;xercesc/util/XMLString.hpp>
     #include &lt;xercesc/util/PlatformUtils.hpp>
 
-    #if defined(XERCES_NEW_IOSTREAMS)
     #include &lt;iostream>
-    #else
-    #include &lt;iostream.h>
-    #endif
 
-    XERCES_CPP_NAMESPACE_USE
+    using namespace std;
+    using namespace xercesc;
+
     int serializeDOM(DOMNode* node) {
 
         XMLCh tempStr[100];
@@ -1764,8 +1756,8 @@
 &lt;Test>&lt;![CDATA[&lt; > &amp; " ' &amp;lt; &amp;gt; &amp;amp; &amp;quot; &amp;apos; ] ]&gt;&lt;/Test>
 &lt;/root>
 </source>
-            <p>To summarize, here is the table that summarize how built-in entity reference are handled for
-            different Node Type:</p>
+            <p>Below is the table that summarizes how built-in entity reference are handled for
+            different DOM node types:</p>
       <table>
         <tr>
           <th><em>Input/Output</em></th>



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