<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,               
    which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.             
    There has to be one entity for each item to be referenced.                    
    An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2697 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2697.xml">
<!ENTITY RFC2698 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2698.xml">
<!ENTITY RFC6020 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6020.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc tocompact="yes"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-wwlh-netconf-list-pagination-rc-00"
     ipr="trust200902">
  <front>
    <title abbrev="RESTCONF Pagination Support"> RESTCONF Extensions to
    Support List Pagination</title>

    <author fullname="Kent Watsen" initials="K." surname="Watsen">
      <organization>Watsen Network</organization>

      <address>
        <email>kent+ietf@watsen.net</email>
      </address>
    </author>

    <author fullname="Qin Wu" initials="Q." surname="Wu">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>

          <city>Nanjing</city>

          <region>Jiangsu</region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <email>bill.wu@huawei.com</email>
      </address>
    </author>

    <author fullname="Olof Hagsand" initials="O." surname="Hagsand">
      <organization/>

      <address>
        <email>olof@hagsand.se</email>
      </address>
    </author>

    <author fullname="Hongwei Li" initials="H." surname="Li">
      <organization>HPE</organization>

      <address>
        <email>flycoolman@gmail.com</email>
      </address>
    </author>

    <date year="2020"/>

    <area>OPS Area</area>

    <workgroup>NETCONF Working Group</workgroup>

    <abstract>
      <t>In some circumstance, a server may contain many instances of a
      particular YANG list or leaf-list. Retrieval of the entire list or
      leaf-list at once can be extremely inefficient.</t>

      <t>Pagination mechanisms are needed to allow a client to iterate through
      a large list, in a manner that is most efficient for the
      application.</t>

      <t>This document Updates RFC 8040 to declare "list" and "leaf-list" as
      resource targets for the RESTCONF operations such as GET, POST
      operations.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>There is a need for standard mechanisms to control the filtering,
      sorting, and retrieval of data from the server. A server may contain
      many instances of a particular YANG list. Retrieval of the entire list
      or leaf-list at once can be extremely inefficient.</t>

      <t>Pagination mechanisms are needed to allow a client to iterate through
      a large list, in a manner that is most efficient for the application.
      The RPC operation defined in [I-D.wwlh-netconf-list-pagination-nc] can
      be used by the RESTCONF protocol [RFC8040] if the RESTCONF server
      implements the "ietf-yang-list-pagination" module
      [I-D.wwlh-netconf-list-pagination-nc].</t>

      <t>This document Updates RFC 8040 to declare "list" and "leaf-list" as
      resource targets for the RESTCONF operations such as GET, POST
      operations.</t>

      <section title="Terminology">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
        "OPTIONAL" in this document are to be interpreted as described in BCP
        14 [RFC2119] [RFC8174] when, and only when, they appear in all
        capitals, as shown here.</t>

        <t>The following terms are defined in [RFC8342] [RFC7950] and are not
        redefined here:</t>

        <t><list style="symbols">
            <t>server</t>

            <t>startup configuration datastore</t>

            <t>candidate configuration datastore</t>

            <t>running configuration datastore</t>

            <t>intended configuration datastore</t>

            <t>operational state datastore</t>

            <t>conventional configuration datastore</t>

            <t>datastore schema</t>

            <t>RPC operation</t>
          </list></t>

        <t>The following terms are defined in this document as follows:</t>

        <t/>
      </section>
    </section>

    <!-- intro -->

    <section title="RESTCONF Extensions">
      <t>This section describes the RESTCONF extensions needed to support the
      Pagination mechanism.</t>

      <section title="RESTCONF Media Type">
        <t>The following resource type is defined in this document:</t>

        <figure>
          <artwork>               +-----------------+-----------------------------+
               | Resource        | Media Type                  |
               +-----------------+-----------------------------+
               | YANG-Collection | application/yang-collection |
               +-----------------+-----------------------------+
                           RESTCONF Media Type</artwork>
        </figure>
      </section>

      <section title="New Resource Target">
        <t> The "get-list-pagination" RPC operation defined in
        "ietf-yang-list-pagination" module
        [I-D.wwlh-netconf-list-pagination-nc] can use the RESTCONF target
        resource URI to identify the resource that will be filtered and
        returned. A collection resource contains a set of data resources. It
        is used to represent all instances or a subset of all instances in a
        YANG list or leaf-list. A collection resource can be used as target
        resource and retrieved with the GET method or POST method. The
        "ietf-restconf-list-pagination" YANG module contains the
        "yang-collection" yang data template with the "yang-data"extension
        which specifies the syntax and semantics of a "yang-collection" media
        type. </t>
      </section>
    </section>

    <section title="YANG Module for List Pagination">
      <t>The "ietf-restconf-list-pagination" module defines conceptual
      definitions within groupings, which are not meant to be implemented as
      datastore contents by a server.</t>

      <figure>
        <artwork>&lt;CODE BEGINS&gt; file "ietf-restconf-list-pagination@2020-010-30.yang"
module ietf-restconf-list-pagination {
  namespace "urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination";
  prefix rlpg;

  import ietf-restconf {
    prefix rc;
  }

  organization
    "IETF NETCONF (Network Configuration) Working Group";
  contact
    "WG Web:   &lt;http://tools.ietf.org/wg/netconf/&gt;
     WG List:  &lt;mailto:netconf@ietf.org&gt;

     Editor:   

     Editor:   

     Editor:   ";
  description
    "This module contains conceptual YANG specifications
     for the RESTCONF Collection resource type.
     Note that the YANG definitions within this module do not
     represent configuration data of any kind.
     The YANG grouping statements provide a normative syntax
     for XML and JSON message encoding purposes.

     Copyright (c) 2015 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (http://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

  revision 2015-01-30 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: RESTCONF Collection Resource.";
  }
  rc:yang-data yang-collection {
    uses collection;
  }

  grouping collection {
    description
      "Conceptual container representing the
       yang-collection resource type.";
    container yang-collection {
      description
        "Container representing the yang-collection
         resource type.";
    }
  }
}
&lt;CODE ENDS&gt;</artwork>
      </figure>
    </section>

    <section title="IANA Considerations">
      <section title="Registrations for New URI and YANG Module">
        <t>This document registers one URI in the IETF XML Registry [RFC3688].
        The following registration has been made:</t>

        <figure align="center">
          <artwork>  URI: urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination
  Registrant Contact: The IESG.
  XML: N/A, the requested URI is an XML namespace.</artwork>
        </figure>

        <t>This document registers one YANG module in the YANG Module Names
        Registry [RFC6020]. The following registration has been made:</t>

        <figure align="center">
          <artwork>  name: ietf-restconf-list-pagination
  namespace: urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination
  prefix: rlpg
  RFC: xxxx</artwork>
        </figure>
      </section>

      <section title="Media Types">
        <section title="Media Type &quot;application/yang-collection+xml&quot;">
          <figure>
            <artwork>   Type name: application

   Subtype name: yang-collection+xml

   Required parameters: None

   Optional parameters: None

   Encoding considerations: 8-bit
      The "utf-8" charset is always used for this type.
      Each conceptual YANG data node is encoded according to the
      XML Encoding Rules and Canonical Format for the specific
      YANG data node type defined in [RFC7950].

   Security considerations: Security considerations related
      to the generation and consumption of RESTCONF messages
      are discussed in Section 5 of RFC 8072.
      Additional security considerations are specific to the
      semantics of particular YANG data models.  Each YANG module
      is expected to specify security considerations for the
      YANG data defined in that module.

   Interoperability considerations: RFC 8072 specifies the format
      of conforming messages and the interpretation thereof.

   Published specification: RFC 8072

   Applications that use this media type: Instance document
      data parsers used within a protocol or automation tool
      that utilize the YANG Patch data structure.

   Fragment identifier considerations: The syntax and semantics
      of fragment identifiers are the same as the syntax and semantics
      specified for the "application/xml" media type.

   Additional information:

      Deprecated alias names for this type: N/A
      Magic number(s): N/A
      File extension(s): None
      Macintosh file type code(s): "TEXT"

   Person &amp; email address to contact for further information: See
      the Authors' Addresses section of RFC 8072.

   Intended usage: COMMON

   Restrictions on usage: N/A

   Author: See the Authors' Addresses section of RFC 8072.

   Change controller: Internet Engineering Task Force
      (mailto:iesg@ietf.org).

   Provisional registration? (standards tree only): no
</artwork>
          </figure>
        </section>

        <section title="Media Type &quot;application/yang-collection+json&quot;">
          <figure>
            <artwork>   Type name: application

   Subtype name: yang-collection+json

   Required parameters: None

   Optional parameters: None

   Encoding considerations: 8-bit
      The "utf-8" charset is always used for this type.
      Each conceptual YANG data node is encoded according to the
      XML Encoding Rules and Canonical Format for the specific
      YANG data node type defined in [RFC7950].

   Security considerations: Security considerations related
      to the generation and consumption of RESTCONF messages
      are discussed in Section 5 of RFC 8072.
      Additional security considerations are specific to the
      semantics of particular YANG data models.  Each YANG module
      is expected to specify security considerations for the
      YANG data defined in that module.

   Interoperability considerations: RFC 8072 specifies the format
      of conforming messages and the interpretation thereof.

   Published specification: RFC 8072

   Applications that use this media type: Instance document
      data parsers used within a protocol or automation tool
      that utilize the YANG Patch data structure.

   Fragment identifier considerations: The syntax and semantics
      of fragment identifiers are the same as the syntax and semantics
      specified for the "application/xml" media type.

   Additional information:

      Deprecated alias names for this type: N/A
      Magic number(s): N/A
      File extension(s): None
      Macintosh file type code(s): "TEXT"

   Person &amp; email address to contact for further information: See
      the Authors' Addresses section of RFC 8072.

   Intended usage: COMMON

   Restrictions on usage: N/A

   Author: See the Authors' Addresses section of RFC 8072.

   Change controller: Internet Engineering Task Force
      (mailto:iesg@ietf.org).

   Provisional registration? (standards tree only): no
</artwork>
          </figure>
        </section>
      </section>
    </section>

    <section anchor="security" title="Security Considerations">
      <t>The YANG module defined in this document extends the base operations
      for NETCONF [RFC6241] and RESTCONF [RFC8040]. The lowest NETCONF layer
      is the secure transport layer, and the mandatory-to-implement secure
      transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer is
      HTTPS, and the mandatory-to-implement secure transport is TLS
      [RFC8446].</t>

      <t>The security constraints for the base RESTCONF protocol (see Section
      12 of [RFC8040]) apply to the new RESTCONF target resources defined in
      this document.</t>
    </section>

    <section title="Contributors">
      <figure>
        <artwork>Per Andersson
perander@cisco.com

David Cornejo
dcornejo@gmail.com</artwork>
      </figure>
    </section>

    <section title="Acknowledgements">
      <t>This work has benefited from the discussions of restconf resource
      collection over the years, in particular,
      [I-D.ietf-netconf-restconf-collection] which provides enhanced filtering
      features for the retrieval of data nodes with the GET method. The
      authors would like to thank the following for lively discussions on
      list:<figure>
          <artwork>Andy Bierman
Martin Bj&ouml;rklund
Robert Varga</artwork>
        </figure></t>
    </section>

    <!---->
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119.xml"?>

      <?rfc include="reference.RFC.3688.xml"?>

      <?rfc include="reference.RFC.6020.xml"?>

      <?rfc include="reference.RFC.6241.xml"?>

      <?rfc include="reference.RFC.6242.xml"?>

      <?rfc include="reference.RFC.6243.xml"?>

      <?rfc include="reference.RFC.6991.xml"?>

      <?rfc include="reference.RFC.7950.xml"?>

      <?rfc include="reference.RFC.8174.xml"?>

      <?rfc include="reference.RFC.8341.xml"?>

      <?rfc include="reference.RFC.8342.xml"?>

      <?rfc include="reference.RFC.8525.xml"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.8340.xml"?>
    </references>

    <section title="RESTCONF YANG Collection Examples">
      <t>The examples within this document use the "example-module" YANG
      module defined in Appendix A of
      [I-D.wwlh-netconf-list-pagination-nc].</t>

      <section title="&quot;count&quot; Parameter">
        <t>In this example, the client requests the first two "skill"
        resources for a given admin resource:</t>

        <figure>
          <artwork>   Request from the RESTCONF client:

      GET /restconf/data/example-module:get-list-pagination  HTTP/1.1
      Host: example.com
      Accept: application/yang-collection+xml
      &lt;yang-collection
          xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
       &lt;datastore&gt;running&lt;/datastore&gt;
       &lt;list-target&gt;admins/admin[name=Bob]/skill&lt;/list-target&gt;
       &lt;count&gt;2&lt;/count&gt;
      &lt;/yang-collection&gt;
    &lt;/netconf:rpc&gt;

      Response from the RESTCONF server:

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Last-Modified: Thu, 26 Jan 2017 20:55:30 GMT
      Content-Type: application/yang-collection+xml

       &lt;pageable-list xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Problem Solving&lt;/name&gt;
          &lt;rank&gt;98&lt;/rank&gt;
          ...
        &lt;/skill&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Conflict Resolution&lt;/name&gt;
          &lt;rank&gt;93&lt;/rank&gt;
          ...
        &lt;/skill&gt;
      &lt;/pageable-list&gt;
     &lt;/netconf:rpc-reply&gt;</artwork>
        </figure>
      </section>

      <section title="&quot;skip&quot; Parameter">
        <t>In this example, the client requests the next two skills resource,
        i.e., two skills resource starting from two.</t>

        <figure>
          <artwork>      GET /restconf/data/example-module:get-list-pagination  HTTP/1.1
      Host: example.com
      Accept: application/yang-collection+xml
      &lt;yang-collection
          xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
      &lt;datastore&gt;running&lt;/datastore&gt;
     &lt;list-target&gt;admins/admin[name=Bob]/skill&lt;/list-target&gt;
     &lt;count&gt;2&lt;/count&gt;
     &lt;skip&gt;2&lt;/skip&gt;
      &lt;/yang-collection&gt;
    &lt;/netconf:rpc&gt;

      Response from the RESTCONF server:

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Last-Modified: Thu, 26 Jan 2017 20:55:30 GMT
      Content-Type: application/yang-collection+xml
       &lt;pageable-list xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Problem Solving&lt;/name&gt;
          &lt;rank&gt;98&lt;/rank&gt;
          ...
        &lt;/skill&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Conflict Resolution&lt;/name&gt;
          &lt;rank&gt;93&lt;/rank&gt;
          ...
        &lt;/skill&gt;
      &lt;/pageable-list&gt;
     &lt;/netconf:rpc-reply&gt;</artwork>
        </figure>
      </section>

      <section title="&quot;direction&quot; Parameter">
        <t>In this example, the client requests the first two "skill"
        resources in the 'forwad' direction for a given admin:</t>

        <figure>
          <artwork>      GET /restconf/data/example-module:get-list-pagination  HTTP/1.1
      Host: example.com
      Accept: application/yang-collection+xml
      &lt;yang-collection
          xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
     &lt;datastore&gt;running&lt;/datastore&gt;
     &lt;list-target&gt;admins/admin[name=Bob]/skill &lt;/list-target&gt;
     &lt;count&gt;2&lt;/count&gt;
     &lt;direction&gt;forward&lt;/direction&gt;
      &lt;/yang-collection&gt;
    &lt;/netconf:rpc&gt;

      Response from the RESTCONF server:

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Last-Modified: Thu, 26 Jan 2017 20:55:30 GMT
      Content-Type: application/yang-collection+xml
       &lt;pageable-list xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Problem Solving&lt;/name&gt;
          &lt;rank&gt;98&lt;/rank&gt;
          ...
        &lt;/skill&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Conflict Resolution&lt;/name&gt;
          &lt;rank&gt;93&lt;/rank&gt;
          ...
        &lt;/skill&gt;
      &lt;/pageable-list&gt;
     &lt;/netconf:rpc-reply&gt;</artwork>
        </figure>
      </section>

      <section title="&quot;sort&quot; Parameter">
        <t>In this example, the client requests the first 2 "skill" resources
        sorted by name for a given admin:</t>

        <figure>
          <artwork>      GET /restconf/data/example-module:get-list-pagination  HTTP/1.1
      Host: example.com
      Accept: application/yang-collection+xml
      &lt;yang-collection
          xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
       &lt;datastore&gt;running&lt;/datastore&gt;
       &lt;list-target&gt;admins/admin[name=Bob]/skill &lt;/list-target&gt;
       &lt;count&gt;2&lt;/count&gt;
       &lt;sort&gt;name&lt;/sort&gt;
      &lt;/yang-collection&gt;
    &lt;/netconf:rpc&gt;

      Response from the RESTCONF server:

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Last-Modified: Thu, 26 Jan 2017 20:55:30 GMT
      Content-Type: application/yang-collection+xml
        &lt;pageable-list xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Problem Solving&lt;/name&gt;
          &lt;rank&gt;98&lt;/rank&gt;
          ...
        &lt;/skill&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Conflict Resolution&lt;/name&gt;
          &lt;rank&gt;93&lt;/rank&gt;
          ...
        &lt;/skill&gt;
      &lt;/pageable-list&gt;
     &lt;/netconf:rpc-reply&gt;</artwork>
        </figure>
      </section>

      <section title="Combination of &quot;where&quot; and &quot;count&quot; Parameters">
        <t>In this example, the client requests the first 2 "skill" resources
        from the selected skill resource list for a given admin:</t>

        <figure>
          <artwork>      GET /restconf/data/example-module:get-list-pagination  HTTP/1.1
      Host: example.com
      Accept: application/yang-collection+xml
      &lt;yang-collection
          xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
        &lt;datastore&gt;running&lt;/datastore&gt;
       &lt;list-target&gt;admins/admin[name=Bob]/skill&lt;/list-target&gt;
       &lt;count&gt;2&lt;/count&gt;
      &lt;where&gt;[position&gt;=2 and position&lt;=9]&lt;/where&gt;
      &lt;/yang-collection&gt;
    &lt;/netconf:rpc&gt;

      Response from the RESTCONF server:

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Last-Modified: Thu, 26 Jan 2017 20:55:30 GMT
      Content-Type: application/yang-collection+xml
        &lt;pageable-list xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Problem Solving&lt;/name&gt;
          &lt;rank&gt;98&lt;/rank&gt;
          ...
        &lt;/skill&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Conflict Resolution&lt;/name&gt;
          &lt;rank&gt;93&lt;/rank&gt;
          ...
        &lt;/skill&gt;
      &lt;/pageable-list&gt;
     &lt;/netconf:rpc-reply&gt;</artwork>
        </figure>
      </section>

      <section title="Combination of &quot;where&quot;, &quot;count&quot; and &quot;skip&quot; Parameters">
        <t>In this example, the client requests the first 2 "skill" resources
        from the selected "skill" resource list for a given admin:</t>

        <figure>
          <artwork>      GET /restconf/data/example-module:get-list-pagination  HTTP/1.1
      Host: example.com
      Accept: application/yang-collection+xml
      &lt;yang-collection
          xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
      &lt;datastore&gt;running&lt;/datastore&gt;
       &lt;list-target&gt; admins/admin[name=Bob]/skill &lt;/list-target&gt;
       &lt;count&gt;2&lt;/count&gt;
       &lt;skip&gt;2&lt;/skip&gt;
       &lt;where&gt;position&gt;=2 and position&lt;=9&lt;/where&gt;
      &lt;/yang-collection&gt;
    &lt;/netconf:rpc&gt;

      Response from the RESTCONF server:

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Last-Modified: Thu, 26 Jan 2017 20:55:30 GMT
      Content-Type: application/yang-collection+xml
       &lt;pageable-list xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Problem Solving&lt;/name&gt;
          &lt;rank&gt;98&lt;/rank&gt;
          ...
        &lt;/skill&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Conflict Resolution&lt;/name&gt;
          &lt;rank&gt;93&lt;/rank&gt;
          ...
        &lt;/skill&gt;
      &lt;/pageable-list&gt;
     &lt;/netconf:rpc-reply&gt;</artwork>
        </figure>
      </section>

      <section title="Combination of &quot;where&quot;, &quot;count&quot;,&quot;skip&quot; and &quot;sort&quot; Parameters">
        <t>In this example, the client requests the first 2 "skill" resources
        from the selected skill resources list for a given admin:</t>

        <figure>
          <artwork>      GET /restconf/data/example-module:get-list-pagination  HTTP/1.1
      Host: example.com
      Accept: application/yang-collection+xml
      &lt;yang-collection
          xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
       &lt;datastore&gt;running&lt;/datastore&gt;
       &lt;list-target&gt; admins/admin[name=Bob]/skill &lt;/list-target&gt;
       &lt;count&gt;2&lt;/count&gt;
       &lt;skip&gt;2&lt;/skip&gt;
       &lt;sort&gt;name&lt;/sort&gt;
       &lt;where&gt;position&gt;=2 and position&lt;=9&lt;/where&gt;
      &lt;/yang-collection&gt;
    &lt;/netconf:rpc&gt;

      Response from the RESTCONF server:

      HTTP/1.1 200 OK
      Date: Thu, 26 Jan 2017 20:56:30 GMT
      Server: example-server
      Last-Modified: Thu, 26 Jan 2017 20:55:30 GMT
      Content-Type: application/yang-collection+xml
        &lt;pageable-list xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf-list-pagination"&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Problem Solving&lt;/name&gt;
          &lt;rank&gt;98&lt;/rank&gt;
          ...
        &lt;/skill&gt;
        &lt;skill xmlns="http://example.com/ns/example-module"&gt;
          &lt;name&gt;Conflict Resolution&lt;/name&gt;
          &lt;rank&gt;93&lt;/rank&gt;
          ...
        &lt;/skill&gt;
      &lt;/pageable-list&gt;
     &lt;/netconf:rpc-reply&gt;</artwork>
        </figure>
      </section>
    </section>
  </back>
</rfc>
