<!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>Atlas REST API: PList</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://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">

  <!--custom css for these pages-->
  <link rel="stylesheet" href="css/enunciate.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 data-spy="scroll" data-target="#apinav">

  <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">Atlas REST API: PList</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>
        </ul>
      </div>
    </div>
  </nav>

  <div class="container-fluid">
    <div class="row">
      <div class="col-sm-3 col-md-2 sidebar" id="apinav">
        <ul class="nav nav-sidebar">
          <li class="text-right"><a href="#top"><small>Back to Top</small></a></li>
        </ul>
      </div>

      <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
        <ol class="breadcrumb" id="top">
          <li class="active dropdown"><a href="index.html">Home</a></li>
          <li class="active dropdown"><a href="syntax_xml.html">XML</a></li>
          <li class="dropdown"><a href="xml_ns0_PList.html">PList</a></li>
        </ol>

      <h1 class="page-header">PList <small>Data Type</small></h1>

      <p></p>

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

      <table class="table datatype-properties">
        <caption>Properties</caption>
        <thead>
        <tr>
          <th>name</th>
          <th>data type</th>
          <th>type</th>
          <th>namespace</th>
          <th>min/max occurs</th>
          <th>constraints</th>
          <th>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  <span id="prop-list" class="property-name">list</span>
</td>
          <td>  <span class="datatype-reference">list of anyType
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">0/unbounded
</span>
</td>
          <td>  <span class="property-constraints">&nbsp;
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-pageSize" class="property-name">pageSize</span>
</td>
          <td>  <span class="datatype-reference">int
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">1/1
</span>
</td>
          <td>  <span class="property-constraints">required
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-sortBy" class="property-name">sortBy</span>
</td>
          <td>  <span class="datatype-reference">string
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">0/1
</span>
</td>
          <td>  <span class="property-constraints">&nbsp;
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-sortType" class="property-name">sortType</span>
</td>
          <td>  <span class="datatype-reference"><a href="xml_ns0_sortType.html">sortType</a>
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">0/1
</span>
</td>
          <td>  <span class="property-constraints">&nbsp;
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-startIndex" class="property-name">startIndex</span>
</td>
          <td>  <span class="datatype-reference">long
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">1/1
</span>
</td>
          <td>  <span class="property-constraints">required
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-totalCount" class="property-name">totalCount</span>
</td>
          <td>  <span class="datatype-reference">long
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">1/1
</span>
</td>
          <td>  <span class="property-constraints">required
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        </tbody>
      </table>

      <p class="lead">Example</p>
      
      <pre class="prettyprint language-xml example">&lt;PList&gt;
  &lt;pageSize&gt;...&lt;/pageSize&gt;
  &lt;startIndex&gt;...&lt;/startIndex&gt;
  &lt;sortBy&gt;...&lt;/sortBy&gt;
  &lt;sortType&gt;...&lt;/sortType&gt;
  &lt;totalCount&gt;...&lt;/totalCount&gt;
  &lt;list&gt;...&lt;/list&gt;
&lt;/PList&gt;
</pre>

        <footer class="footer">
          <div class="container">
            <p class="text-muted">Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.</p>
          </div>
        </footer>

      </div>
    </div>
  </div>


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

  <!-- Bootstrap core JavaScript
  ================================================== -->
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>

  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js" type="text/javascript"></script>
  <script>
    $(function() {
      $(".clickable-row").click(function() {
        window.document.location = $(this).data("href");
      });

      $('[data-toggle="tooltip"]').tooltip()
    });
  </script>

</body>
</html>
