<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--

    Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1252">
    <title>Welcome to the Jakarta EE JSON Processing TCK</title>
    <style type="text/css">
<!--
pre {  background-color: #eeeeee; color: #000099}
code {  color: #000099}
h1 {  color: #000099}
h2 {  color: #000099}
h3 {  color: #000099; text-decoration: underline}
h4 {  font-style: italic; color: #000099}
.tabletitle {  font-style: italic; color: #ffffcc; font-size: small; font-variant: small-caps}
.subtitle {  font-style: italic; color: #ffffcc; font-variant: small-caps}
.emphasize  {  font-style: italic; color: #000099}
-->
</style>
  </head>
  <body vlink="#840084" text="#000000" link="#0000ff" bgcolor="#ffffdd" alink="#0000ff">
    <div align="Center">
      <h1>Welcome to the Jakarta EE JSON Processing TCK, Version 2.1</h1>
      <h2>
        <span class="emphasize">Your Starting Point</span></h2>
    </div>
    <hr>
    <h2>Guide to Jakarta EE JSON Processing TCK 2.1 Documentation</h2>
    <p>The Jakarta EE JSON Processing TCK 2.1 documentation includes the
      following:</p>
    <ul>
      <li>The <em><a href="JSONP2.1-ReleaseNotes.html">Jakarta EE JSON
            Processing TCK Release Notes</a></em> provides the information on
        the test harness, the test suite and the platforms tested.
        <ul>
          <li>If needed, updated Release Notes may be updated at the Jakarta EE
            Specification web site for Jakarta EE JSON Processing: <a href="https://jakarta.ee/specifications/jsonp/2.1/">https://jakarta.ee/specifications/jsonp/2.1/</a></li>
        </ul>
      </li>
      <li>The <em><a href="html-usersguide/toc.html">Jakarta EE JSON Processing
            Technology Compatibility Kit, Version 2.1 User's Guide</a></em> (or
        <a href="pdf-usersguide/Jakarta-JSON-Processing-TCK-Users-Guide.pdf"

          title="Jakarta EE JSON Processing TCK 2.1 User's Guide (PDF)">PDF</a>)
        provides the information that you need to install, set up, and run the
        Jakarta EE JSON Processing TCK, Version 2.1. In addition, the guide
        provides the rules you must comply with to pass the Jakarta EE JSON
        Processing TCK.</li>
      <li>The <a href="assertions/JSONP2.1JavadocAssertions.html">Javadoc
          Assertion List</a> lists all the javadoc assertions that are tested by
        the Jakarta EE JSON Processing 2.1 TCK.</li>
    </ul>
    <hr>
    <p><cite><small></small></cite></p>
    <address><small>
        Copyright &copy; 2013, 2022 Oracle and/or its affiliates. All rights
        reserved.
      </small></address>
    <cite>
      <p></p>
    </cite>
  </body>
</html>
