<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">

  <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
       Remove this if you use the .htaccess -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>Data Model</title>

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- CSS: implied media="all" -->
  <link rel="stylesheet" href="css/style.css?v=2">
  <link rel="stylesheet" href="css/prettify.css">

  <!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
  <script src="js/libs/modernizr-1.7.min.js"></script>

</head>

<body class="home">

  <div class="container">
    <header>
      <div id="header" class="column first last span-20">
        <div id="site-name" class="column span-18 append-1 prepend-1 first last"><a href="index.html">Data Model</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="rest.html">REST</a></li>
            <li id="nav-data"><a href="model.html">Data Model</a></li>
          </ul>
        </div>
        <div>
          <ul class="xbreadcrumbs" id="breadcrumbs">
            <li>
              <a href="index.html" class="home">Home</a> &gt;
            </li>
            <li class="current">
              <a href="model.html">Data Model</a>
              <ul>
                <li><a href="model.html">Data Model</a></li>
                <li><a href="rest.html">REST</a></li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </header>
    <div id="main" class="column first last span-20">
    <h1>Data Model</h1>

    <p>
      All endpoints act on a common set of data. The data can be represented with difference media (i.e. "MIME") types, depending on the endpoint
      that consumes and/or produces the data. The data can described by <a href="http://www.w3.org/XML/Schema">XML Schema</a>, which definitively
      describes the XML representation of the data.
    </p>

    <p>
      This document will describe the data using terms based on <a href="http://www.w3.org/XML/Schema">XML Schema</a>.
      Data can be grouped by namespace, with a schema document describing the <i>elements</i> and <i>types</i> of the namespace.
      Generally speaking, <i>types</i> define the structure of the data and <i>elements</i> are <i>instances</i> of a type. For example,
      <i>elements</i> are usually produced by (or consumed by) a REST endpoint, and the structure of each element is described by
      its <i>type</i>.
    </p>

    <h2>Namespace "ns0"</h2>
    <table>
      <tr>
        <td align="right">Namespace URI:</td>
        <td>(default namespace)</td>
      </tr>
      <tr>
        <td align="right">XSD:</td>
        <td><a href="ns0.xsd">ns0.xsd</a></td>
      </tr>
    </table>

    <h3>Data Elements</h3>

    <ul>
      <li><a href="el_ns0_adminRepositoryConsumer.html">adminRepositoryConsumer</a></li>
      <li><a href="el_ns0_archivaRepositoryStatistics.html">archivaRepositoryStatistics</a></li>
      <li><a href="el_ns0_archivaRuntimeConfiguration.html">archivaRuntimeConfiguration</a></li>
      <li><a href="el_ns0_artifact.html">artifact</a></li>
      <li><a href="el_ns0_artifactContent.html">artifactContent</a></li>
      <li><a href="el_ns0_artifactContentEntry.html">artifactContentEntry</a></li>
      <li><a href="el_ns0_artifactTransferRequest.html">artifactTransferRequest</a></li>
      <li><a href="el_ns0_browseResult.html">browseResult</a></li>
      <li><a href="el_ns0_browseResultEntry.html">browseResultEntry</a></li>
      <li><a href="el_ns0_cacheConfiguration.html">cacheConfiguration</a></li>
      <li><a href="el_ns0_cacheEntry.html">cacheEntry</a></li>
      <li><a href="el_ns0_ciManagement.html">ciManagement</a></li>
      <li><a href="el_ns0_consumerScanningStatistics.html">consumerScanningStatistics</a></li>
      <li><a href="el_ns0_dependency.html">dependency</a></li>
      <li><a href="el_ns0_dependency.html">dependency</a></li>
      <li><a href="el_ns0_fileLockConfiguration.html">fileLockConfiguration</a></li>
      <li><a href="el_ns0_fileType.html">fileType</a></li>
      <li><a href="el_ns0_groupIdList.html">groupIdList</a></li>
      <li><a href="el_ns0_issueManagement.html">issueManagement</a></li>
      <li><a href="el_ns0_ldapConfiguration.html">ldapConfiguration</a></li>
      <li><a href="el_ns0_legacyArtifactPath.html">legacyArtifactPath</a></li>
      <li><a href="el_ns0_license.html">license</a></li>
      <li><a href="el_ns0_mailingList.html">mailingList</a></li>
      <li><a href="el_ns0_managedRepository.html">managedRepository</a></li>
      <li><a href="el_ns0_metadataAddRequest.html">metadataAddRequest</a></li>
      <li><a href="el_ns0_networkConfiguration.html">networkConfiguration</a></li>
      <li><a href="el_ns0_networkProxy.html">networkProxy</a></li>
      <li><a href="el_ns0_organisationInformation.html">organisationInformation</a></li>
      <li><a href="el_ns0_organization.html">organization</a></li>
      <li><a href="el_ns0_policyInformation.html">policyInformation</a></li>
      <li><a href="el_ns0_projectVersionMetadata.html">projectVersionMetadata</a></li>
      <li><a href="el_ns0_propertyEntry.html">propertyEntry</a></li>
      <li><a href="el_ns0_proxyConnector.html">proxyConnector</a></li>
      <li><a href="el_ns0_proxyConnectorRule.html">proxyConnectorRule</a></li>
      <li><a href="el_ns0_queueEntry.html">queueEntry</a></li>
      <li><a href="el_ns0_rbacManagerImplementationInformation.html">rbacManagerImplementationInformation</a></li>
      <li><a href="el_ns0_redbackImplementationsInformations.html">redbackImplementationsInformations</a></li>
      <li><a href="el_ns0_redbackRuntimeConfiguration.html">redbackRuntimeConfiguration</a></li>
      <li><a href="el_ns0_remoteRepository.html">remoteRepository</a></li>
      <li><a href="el_ns0_repositoryGroup.html">repositoryGroup</a></li>
      <li><a href="el_ns0_repositoryScannerStatistics.html">repositoryScannerStatistics</a></li>
      <li><a href="el_ns0_repositoryScanStatistics.html">repositoryScanStatistics</a></li>
      <li><a href="el_ns0_scm.html">scm</a></li>
      <li><a href="el_ns0_searchRequest.html">searchRequest</a></li>
      <li><a href="el_ns0_stringList.html">stringList</a></li>
      <li><a href="el_ns0_uiConfiguration.html">uiConfiguration</a></li>
      <li><a href="el_ns0_userManagerImplementationInformation.html">userManagerImplementationInformation</a></li>
      <li><a href="el_ns0_versionsList.html">versionsList</a></li>
    </ul>

    <h3>Data Types</h3>
    <ul>
      <li><a href="ns0_abstractImplementationInformation.html">abstractImplementationInformation</a></li>
      <li><a href="ns0_abstractRepository.html">abstractRepository</a></li>
      <li><a href="ns0_abstractRepositoryConnector.html">abstractRepositoryConnector</a></li>
      <li><a href="ns0_adminRepositoryConsumer.html">adminRepositoryConsumer</a></li>
      <li><a href="ns0_archivaRepositoryStatistics.html">archivaRepositoryStatistics</a></li>
      <li><a href="ns0_archivaRuntimeConfiguration.html">archivaRuntimeConfiguration</a></li>
      <li><a href="ns0_artifact.html">artifact</a></li>
      <li><a href="ns0_artifactContent.html">artifactContent</a></li>
      <li><a href="ns0_artifactContentEntry.html">artifactContentEntry</a></li>
      <li><a href="ns0_artifactTransferRequest.html">artifactTransferRequest</a></li>
      <li><a href="ns0_browseResult.html">browseResult</a></li>
      <li><a href="ns0_browseResultEntry.html">browseResultEntry</a></li>
      <li><a href="ns0_cacheConfiguration.html">cacheConfiguration</a></li>
      <li><a href="ns0_cacheEntry.html">cacheEntry</a></li>
      <li><a href="ns0_ciManagement.html">ciManagement</a></li>
      <li><a href="ns0_consumerScanningStatistics.html">consumerScanningStatistics</a></li>
      <li><a href="ns0_dependency.html">dependency</a></li>
      <li><a href="ns0_dependency.html">dependency</a></li>
      <li><a href="ns0_facetedMetadata.html">facetedMetadata</a></li>
      <li><a href="ns0_fileLockConfiguration.html">fileLockConfiguration</a></li>
      <li><a href="ns0_fileType.html">fileType</a></li>
      <li><a href="ns0_groupIdList.html">groupIdList</a></li>
      <li><a href="ns0_issueManagement.html">issueManagement</a></li>
      <li><a href="ns0_ldapConfiguration.html">ldapConfiguration</a></li>
      <li><a href="ns0_ldapGroupMapping.html">ldapGroupMapping</a></li>
      <li><a href="ns0_legacyArtifactPath.html">legacyArtifactPath</a></li>
      <li><a href="ns0_license.html">license</a></li>
      <li><a href="ns0_mailingList.html">mailingList</a></li>
      <li><a href="ns0_managedRepository.html">managedRepository</a></li>
      <li><a href="ns0_metadataAddRequest.html">metadataAddRequest</a></li>
      <li><a href="ns0_networkConfiguration.html">networkConfiguration</a></li>
      <li><a href="ns0_networkProxy.html">networkProxy</a></li>
      <li><a href="ns0_organisationInformation.html">organisationInformation</a></li>
      <li><a href="ns0_organization.html">organization</a></li>
      <li><a href="ns0_policyInformation.html">policyInformation</a></li>
      <li><a href="ns0_projectVersionMetadata.html">projectVersionMetadata</a></li>
      <li><a href="ns0_propertyEntry.html">propertyEntry</a></li>
      <li><a href="ns0_proxyConnector.html">proxyConnector</a></li>
      <li><a href="ns0_proxyConnectorRule.html">proxyConnectorRule</a></li>
      <li><a href="ns0_proxyConnectorRuleType.html">proxyConnectorRuleType</a></li>
      <li><a href="ns0_queueEntry.html">queueEntry</a></li>
      <li><a href="ns0_RBACManagerImplementationInformation.html">RBACManagerImplementationInformation</a></li>
      <li><a href="ns0_redbackImplementationsInformations.html">redbackImplementationsInformations</a></li>
      <li><a href="ns0_redbackRuntimeConfiguration.html">redbackRuntimeConfiguration</a></li>
      <li><a href="ns0_remoteRepository.html">remoteRepository</a></li>
      <li><a href="ns0_repositoryGroup.html">repositoryGroup</a></li>
      <li><a href="ns0_repositoryScannerStatistics.html">repositoryScannerStatistics</a></li>
      <li><a href="ns0_repositoryScanStatistics.html">repositoryScanStatistics</a></li>
      <li><a href="ns0_scm.html">scm</a></li>
      <li><a href="ns0_searchRequest.html">searchRequest</a></li>
      <li><a href="ns0_stringList.html">stringList</a></li>
      <li><a href="ns0_uiConfiguration.html">uiConfiguration</a></li>
      <li><a href="ns0_userManagerImplementationInformation.html">userManagerImplementationInformation</a></li>
      <li><a href="ns0_versionsList.html">versionsList</a></li>
    </ul>

      <div class="clear" />
    </div>
    <footer>
      <div id="footer">
        Generated by <a href="http://enunciate.codehaus.org">Enunciate</a>.
      </div>
    </footer>
  </div> <!--! end of #container -->

  <!-- JavaScript at the bottom for fast page loading -->

  <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
  <script>window.jQuery || document.write("<script src='js/libs/jquery-1.5.1.min.js'>\x3C/script>")</script>

  <!--manage the navigation menu-->
  <script src="js/libs/xbreadcrumbs.js"></script>
  <script>
    $(function() {
      $('#breadcrumbs').xBreadcrumbs();
    });
  </script>


  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="js/libs/prettify/prettify.js"></script>
  <script>
    $(function() {
      prettyPrint();
    });
  </script>

  <!--[if lt IE 7 ]>
    <script src="js/libs/dd_belatedpng.js"></script>
    <script>DD_belatedPNG.fix("img, .png_bg"); // Fix any <img> or .png_bg bg-images. Also, please read goo.gl/mZiyb </script>
  <![endif]-->

</body>
</html>