<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="../../make-menu.xsl" type="text/xsl"?><html>
   <head>
      <this-is section="changes" page="intro92" subpage="internals92"/>
      <!--
           Generated at 2011-12-09T20:47:22.916Z--><title>Saxonica: XSLT and XQuery Processing: Internals</title>
      <meta name="coverage" content="Worldwide"/>
      <meta name="copyright" content="Copyright Saxonica Ltd"/>
      <meta name="title" content="Saxonica: XSLT and XQuery Processing: Internals"/>
      <meta name="robots" content="noindex,nofollow"/>
      <link rel="stylesheet" href="../../saxondocs.css" type="text/css"/>
   </head>
   <body class="main">
      <h1>Internals</h1>
      <p>The move to J2SE 5 has enabled a number of internal changes:</p>
      <ul>
         <li content="para">
            <p>It has enabled simplification of the code in a number of areas; Saxon can now assume the existence of
   classes such as <code>javax.xml.namespace.QName</code> and other newer features of JAXP, and it can exploit
   methods in <code>BigDecimal</code> that were not available in JDK 1.4.</p>
         </li>
         <li content="para">
            <p>The JDK 1.4 regular expression handler has been dropped.</p>
         </li>
         <li content="para">
            <p>Many uses of the Java collection classes within the Saxon code have been converted to use generics.</p>
         </li>
         <li content="para">
            <p>Saxon no longer includes its own tables of character sets. Instead, if an encoding other than ASCII, UTF8, UTF16,
  or ISO-8859-1 is requested for serialization, Saxon relies on the character encoding data in the <code>java.nio</code>
  package to determine which characters are available (unavailable codepoints are represented as character references if they
  appear in element or attribute values, and cause serialization errors if they appear in comments, element or attribute names,
  etc.). As a consequence of this change, the configuration interfaces to add additional character encodings have been
  dropped.</p>
         </li>
         <li content="para">
            <p>There is no longer a need to support multiple versions of the DOM interface, which means that it has become
  possible to bring the DOM support code back into the main JAR file.</p>
         </li>
         <li content="para">
            <p>The s9api interface code was always compiled under JDK 1.5, and was shipped in a separate JAR file to enable
  the rest of the code to work with JDK 1.4. This separation is no longer necessary, so s9api is available in the same JAR
  file as everything else.</p>
         </li>
      </ul>
      <table width="100%">
         <tr>
            <td>
               <p align="right"><a class="nav" href="../intro91.xml">Next</a></p>
            </td>
         </tr>
      </table>
   </body>
</html>