<!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>searchRequest</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">searchRequest</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>
              <a href="model.html">Data Model</a> &gt;
              <ul>
                <li><a href="model.html">Data Model</a></li>
                <li><a href="rest.html">REST</a></li>
              </ul>
            </li>
            <li>
              <a href="ns0.html">ns0</a> &gt;
              <ul>
                <li><a href="ns0.html">ns0</a></li>
              </ul>
            </li>
            <li class="current">
              <a href="ns0_searchRequest.html">searchRequest</a>
              <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_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>
            </li>
          </ul>
        </div>
      </div>
    </header>
    <div id="main" class="column first last span-20">
      <h1>searchRequest</h1>
      <table>
        <tr>
          <td align="right">Namespace:</td>
          <td>(default namespace)</td>
        </tr>
        <tr>
          <td align="right">XML Schema:</td>
          <td><a href="ns0.xsd">ns0.xsd</a></td>
        </tr>
      </table>

      <h2>XML</h2>
      <h3>Elements</h3>
      <table>
        <tr>
          <th>name (type)</th>
          <th>min/max<br/>occurs</th>
          <th>description</th>
        </tr>
        <tr>
          <td>
            groupId (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            artifactId (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            version (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            packaging (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            className (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            repositories (string)
          </td>
          <td>0/unbounded</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            bundleVersion (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            bundleSymbolicName (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            bundleExportPackage (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            bundleExportService (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            classifier (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            includePomArtifacts (boolean)
          </td>
          <td>1/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            queryTerms (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            bundleImportPackage (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            bundleRequireBundle (string)
          </td>
          <td>0/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            pageSize (int)
          </td>
          <td>1/1</td>
          <td>
          </td>
        </tr>
        <tr>
          <td>
            selectedPage (int)
          </td>
          <td>1/1</td>
          <td>
          </td>
        </tr>
      </table>


      <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>