<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->

  <title>Archiva UI Rest API: propertyEntry</title>

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

  <!-- Bootstrap core CSS -->
  <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> -->

  <!--custom css for these pages-->
  <link rel="stylesheet" href="css/enunciate.css">

  <link href="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.css" type="text/css">

  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
</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">Archiva UI Rest API: propertyEntry</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="resources.html">REST</a></li>
            <li id="nav-data"><a href="data.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="syntax_xml.html">XML</a> &gt;

            </li>
<li class="current">
 <a href="xml_ns0_propertyEntry.html">propertyEntry</a>

            </li>
          </ul>
        </div>
      </div>
  <!--<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html">Archiva UI Rest API: propertyEntry</a>
      </div>
      <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="resources.html">Resources</a></li>
          <li><a href="data.html">Data Types</a></li>
          <li><a href="downloads.html">Files and Libraries</a></li>
        </ul>
      </div>
    </div>
  </nav>-->
 </header>
  <div id="main" class="column first last span-20">
  
      <h1 class="page-header">propertyEntry <small>Data Type</small></h1>

      <p>Bean to expose Map entries as Json</p>

      <dl class="dl-horizontal">
        <dt>Namespace</dt>
        <dd>(Default)</dd>
        <dt>Schema</dt>
        <dd><a href="ns0.xsd">ns0.xsd</a></dd>
        <dt>Available Since</dt>
        <dd>1.4-M3</dd>
      </dl>

      <table class="table">
        <caption>Properties</caption>
        <thead>
        <tr>
          <th>name</th>
          <th>data type</th>
          <th>type</th>
          <th>namespace</th>
          <th>min/max occurs</th>
          <th>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  key
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        <tr>
          <td>  value
</td>
          <td>  string

</td>
          <td>  element

</td>
          <td>  

</td>
          <td>  0/1

</td>
          <td>  &nbsp;
</td>
        </tr>
        </tbody>
      </table>

      <h2>Example</h2>

      <pre class="prettyprint lang-xml">&lt;propertyEntry&gt;
  &lt;key&gt;...&lt;/key&gt;
  &lt;value&gt;...&lt;/value&gt;
&lt;/propertyEntry&gt;
</pre>
        
        <footer>
          <div class="footer">
            Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.
          </div>
        </footer>

      </div>
    
  </div>


  <!-- JavaScript placed at the end of the document so the pages load faster. -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

  
  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.js" type="text/javascript"></script>
  

</body>
</html>