<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Ydk-gen XmlSubtree Encode use C++ example in Tools</title>
    <link>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101985#M1940</link>
    <description>Hi Yan,&lt;BR /&gt;&lt;BR /&gt;Below is the attached test code which I am trying for encode.&lt;BR /&gt;Here I have generated bundle for my own yang files and am passing xml string as an argument to decode and then the decoded object to encode(only for functionality test purpose).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;#include &amp;lt;string.h&amp;gt;&lt;BR /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;BR /&gt;#include &amp;lt;iostream&amp;gt;&lt;BR /&gt;#include &amp;lt;memory&amp;gt;&lt;BR /&gt;&lt;BR /&gt;/* include generated file */&lt;BR /&gt;#include "xml_subtree_codec.hpp"&lt;BR /&gt;#include "ydk_gnbdu/y_3gpp_common_managed_element.hpp"&lt;BR /&gt;#include "generated_entity_lookup.hpp"&lt;BR /&gt;&lt;BR /&gt;#include &amp;lt;unordered_set&amp;gt;&lt;BR /&gt;#include "entity_lookup.hpp"&lt;BR /&gt;#include &amp;lt;iterator&amp;gt;&lt;BR /&gt;#include &amp;lt;map&amp;gt;&lt;BR /&gt;#include "path_api.hpp"&lt;BR /&gt;#include "codec_provider.hpp"&lt;BR /&gt;&lt;BR /&gt;extern void gnbdu::gnbdu_augment_lookup_tables();&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;int main()&lt;BR /&gt;{&lt;BR /&gt;// Provide the xml string to be tested, each node needs to have its namespace defined&lt;BR /&gt;char xmlData[8092]="&amp;lt;ManagedElement xmlns=\"urn:3gpp:sa5:_3gpp-common-managed-element\"&amp;gt;&amp;lt;id&amp;gt;gNBAltiostar&amp;lt;/id&amp;gt;&amp;lt;attributes&amp;gt;&amp;lt;userLabel&amp;gt;abcd&amp;lt;/userLabel&amp;gt;&amp;lt;priorityLabel&amp;gt;10&amp;lt;/priorityLabel&amp;gt;&amp;lt;/attributes&amp;gt;&amp;lt;GNBCUCPFunction xmlns=\"urn:3gpp:sa5:_3gpp-nr-nrm-gnbcucpfunction\"&amp;gt;&amp;lt;id&amp;gt;gNBCUCPAltiostar&amp;lt;/id&amp;gt;&amp;lt;attributes&amp;gt;&amp;lt;priorityLabel&amp;gt;10&amp;lt;/priorityLabel&amp;gt;&amp;lt;gNBId&amp;gt;10&amp;lt;/gNBId&amp;gt;&amp;lt;gNBIdLength&amp;gt;27&amp;lt;/gNBIdLength&amp;gt;&amp;lt;gNBCUName&amp;gt;gNBCUAltiostar&amp;lt;/gNBCUName&amp;gt;&amp;lt;pLMNId&amp;gt;&amp;lt;mcc&amp;gt;289&amp;lt;/mcc&amp;gt;&amp;lt;mnc&amp;gt;88&amp;lt;/mnc&amp;gt;&amp;lt;/pLMNId&amp;gt;&amp;lt;/attributes&amp;gt;&amp;lt;NRCellCU xmlns=\"urn:3gpp:sa5:_3gpp-nr-nrm-nrcellcu\"&amp;gt;&amp;lt;id&amp;gt;NRCellCUAltiostar&amp;lt;/id&amp;gt;&amp;lt;attributes&amp;gt;&amp;lt;userLabel&amp;gt;Altiostar_userlabel&amp;lt;/userLabel&amp;gt;&amp;lt;vnfParametersList&amp;gt;&amp;lt;vnfInstanceId&amp;gt;Altio_instance&amp;lt;/vnfInstanceId&amp;gt;&amp;lt;vnfdId&amp;gt;Altio_id&amp;lt;/vnfdId&amp;gt;&amp;lt;flavourId&amp;gt;Altio_flavour&amp;lt;/flavourId&amp;gt;&amp;lt;autoScalable&amp;gt;true&amp;lt;/autoScalable&amp;gt;&amp;lt;/vnfParametersList&amp;gt;&amp;lt;priorityLabel&amp;gt;1&amp;lt;/priorityLabel&amp;gt;&amp;lt;cellLocalId&amp;gt;2&amp;lt;/cellLocalId&amp;gt;&amp;lt;pLMNIdList&amp;gt;&amp;lt;mcc&amp;gt;234&amp;lt;/mcc&amp;gt;&amp;lt;mnc&amp;gt;56&amp;lt;/mnc&amp;gt;&amp;lt;/pLMNIdList&amp;gt;&amp;lt;pLMNIdList&amp;gt;&amp;lt;mcc&amp;gt;288&amp;lt;/mcc&amp;gt;&amp;lt;mnc&amp;gt;99&amp;lt;/mnc&amp;gt;&amp;lt;/pLMNIdList&amp;gt;&amp;lt;pLMNIdList&amp;gt;&amp;lt;mcc&amp;gt;999&amp;lt;/mcc&amp;gt;&amp;lt;mnc&amp;gt;999&amp;lt;/mnc&amp;gt;&amp;lt;/pLMNIdList&amp;gt;&amp;lt;sNSSAIList&amp;gt;1&amp;lt;/sNSSAIList&amp;gt;&amp;lt;rRMPolicyType&amp;gt;1&amp;lt;/rRMPolicyType&amp;gt;&amp;lt;rRMPolicy&amp;gt;split_radio_resources&amp;lt;/rRMPolicy&amp;gt;&amp;lt;rRMPolicyRatio1List&amp;gt;&amp;lt;groupId&amp;gt;1&amp;lt;/groupId&amp;gt;&amp;lt;sNSSAIList&amp;gt;1&amp;lt;/sNSSAIList&amp;gt;&amp;lt;rRRMPolicyRatio&amp;gt;1&amp;lt;/rRRMPolicyRatio&amp;gt;&amp;lt;/rRMPolicyRatio1List&amp;gt;&amp;lt;rRMPolicyRatio2&amp;gt;&amp;lt;groupId&amp;gt;1&amp;lt;/groupId&amp;gt;&amp;lt;sNSSAIList&amp;gt;1&amp;lt;/sNSSAIList&amp;gt;&amp;lt;quotaType&amp;gt;STRICT&amp;lt;/quotaType&amp;gt;&amp;lt;rRMPolicyMaxRatio&amp;gt;1&amp;lt;/rRMPolicyMaxRatio&amp;gt;&amp;lt;rRMPolicyMarginMaxRatio&amp;gt;2&amp;lt;/rRMPolicyMarginMaxRatio&amp;gt;&amp;lt;rRMPolicyMinRatio&amp;gt;1&amp;lt;/rRMPolicyMinRatio&amp;gt;&amp;lt;rRMPolicyMarginMinRatio&amp;gt;1&amp;lt;/rRMPolicyMarginMinRatio&amp;gt;&amp;lt;/rRMPolicyRatio2&amp;gt;&amp;lt;rrmConfig xmlns=\"urn:altiostar:_altiostar-nr-nrm-nrcellcu\"&amp;gt;&amp;lt;/rrmConfig&amp;gt;&amp;lt;macCellGroupConfig xmlns=\"urn:altiostar:_altiostar-nr-nrm-nrcellcu\"&amp;gt;&amp;lt;drxConfig&amp;gt;&amp;lt;milliSeconds&amp;gt;on_ms1&amp;lt;/milliSeconds&amp;gt;&amp;lt;drxInactivityTimer&amp;gt;ms2&amp;lt;/drxInactivityTimer&amp;gt;&amp;lt;harqRTTTimerDl&amp;gt;1&amp;lt;/harqRTTTimerDl&amp;gt;&amp;lt;harqRTTTimerUl&amp;gt;2&amp;lt;/harqRTTTimerUl&amp;gt;&amp;lt;drxRetransmissionDL&amp;gt;sl2&amp;lt;/drxRetransmissionDL&amp;gt;&amp;lt;drxRetransmissionUL&amp;gt;sl1&amp;lt;/drxRetransmissionUL&amp;gt;&amp;lt;/drxConfig&amp;gt;&amp;lt;/macCellGroupConfig&amp;gt;&amp;lt;/attributes&amp;gt;&amp;lt;/NRCellCU&amp;gt;&amp;lt;/GNBCUCPFunction&amp;gt;&amp;lt;GNBDUFunction xmlns=\"urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction\"&amp;gt;&amp;lt;id&amp;gt;gNBDUAltiostar&amp;lt;/id&amp;gt;&amp;lt;attributes&amp;gt;&amp;lt;priorityLabel&amp;gt;27&amp;lt;/priorityLabel&amp;gt;&amp;lt;gNBId&amp;gt;245&amp;lt;/gNBId&amp;gt;&amp;lt;gNBIdLength&amp;gt;22&amp;lt;/gNBIdLength&amp;gt;&amp;lt;gNBDUId&amp;gt;10&amp;lt;/gNBDUId&amp;gt;&amp;lt;gNBDUName&amp;gt;Vijay123&amp;lt;/gNBDUName&amp;gt;&amp;lt;/attributes&amp;gt;&amp;lt;/GNBDUFunction&amp;gt;&amp;lt;/ManagedElement&amp;gt;";&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;std::cout&amp;lt;&amp;lt;"=====================Printing configurations in xml format=======================\n";&lt;BR /&gt;std::cout&amp;lt;&amp;lt;xmlData&amp;lt;&amp;lt;std::endl;&lt;BR /&gt;std::shared_ptr&amp;lt;gnbdu::y_3gpp_common_managed_element::ManagedElement&amp;gt; entity (new gnbdu::y_3gpp_common_managed_element::ManagedElement);&lt;BR /&gt;entity-&amp;gt;yang_name = "ManagedElement";&lt;BR /&gt;&lt;BR /&gt;ydk::XmlSubtreeCodec XmlSubtreeCodec_t;&lt;BR /&gt;gnbdu::gnbdu_augment_lookup_tables();&lt;BR /&gt;&lt;BR /&gt;XmlSubtreeCodec_t.decode(xmlData,entity);&lt;BR /&gt;std::cout &amp;lt;&amp;lt;"After decode";&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;std::cout &amp;lt;&amp;lt;"name "&amp;lt;&amp;lt;entity-&amp;gt;id.name&amp;lt;&amp;lt;"value"&amp;lt;&amp;lt;entity-&amp;gt;id.value&amp;lt;&amp;lt;std::endl;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;ydk::CodecServiceProvider cs(ydk::EncodingFormat::XML);&lt;BR /&gt;cs.initialize("gnbdu","/mnt/data0/angupta/ydk_gen/cpp/gnbdu-bundle/ydk/models/gnbdu",entity-&amp;gt;get_augment_capabilities_function());&lt;BR /&gt;&lt;BR /&gt;std::cout &amp;lt;&amp;lt;"After encode";&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;return 0;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;</description>
    <pubDate>Fri, 12 Jun 2020 04:58:50 GMT</pubDate>
    <dc:creator>AnkitGupta29279</dc:creator>
    <dc:date>2020-06-12T04:58:50Z</dc:date>
    <item>
      <title>Ydk-gen XmlSubtree Encode use C++ example</title>
      <link>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101578#M1936</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am using the Ydk-gen's XmlSubtreeCodec Api's.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am able to generate Ydk-gen C++ Object from Xml data using decode API.&lt;/P&gt;&lt;P&gt;Now I want to convert Ydk-gen C++ Object to Xml string using encode(). Somehow I am unable to do that, as from the documentation provided I am unable to understand the "path::RootSchemaNode" parameter being passed to the API.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;std::string XmlSubtreeCodec::encode(Entity &amp;amp; entity, path::RootSchemaNode &amp;amp; root_schema)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;Please help me in understanding and using this API. Thanks in Advance!&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;P.S. I have tried passing the object reference directly but it fails(probably due to some mistake).&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jun 2020 14:19:33 GMT</pubDate>
      <guid>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101578#M1936</guid>
      <dc:creator>AnkitGupta29279</dc:creator>
      <dc:date>2020-06-11T14:19:33Z</dc:date>
    </item>
    <item>
      <title>Re: Ydk-gen XmlSubtree Encode use C++ example</title>
      <link>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101717#M1937</link>
      <description>&lt;P&gt;Hello Ankit&lt;/P&gt;&lt;P&gt;&lt;A href="http://ydk.cisco.com/py/docs/api/path/root_schema_node.html" target="_self"&gt;Here&lt;/A&gt; is documentation explaining what the &lt;EM&gt;RootSchemaNode&lt;/EM&gt; is. In short it is a root of all YANG model nodes that you are working on. It is built internally when you create service provider, and there is API to get it and provide to the codec. For example you have instantiated &lt;EM&gt;NetconfServiceProvider&lt;/EM&gt;. Then:&lt;/P&gt;&lt;PRE&gt;provider = NetconfServiceProvider(address, port, username, password)&lt;BR /&gt;root_schema_node = provider.get_session().get_root_schema()&lt;/PRE&gt;&lt;P&gt;If you are not connecting to a device, then you need to use &lt;EM&gt;CodecServiceProvider&lt;/EM&gt; and initialize it on some repository (directory) of YANG models. In the example below the bundle package is used to define the repository:&lt;/P&gt;&lt;PRE&gt;from ydk.models import cisco_ios_xe as xe&lt;BR /&gt;from ydk.models.cisco_ios_xe import Cisco_IOS_XE_native as xe_native&lt;BR /&gt;from ydk.providers import CodecServiceProvider&lt;BR /&gt;from ydk.entity_utils import XmlSubtreeCodec&lt;BR /&gt;&lt;BR /&gt;provider = CodecServiceProvider(type="xml")&lt;BR /&gt;provider.initialize('cisco_ios_xe', xe.__path__[0] + '/_yang')&lt;BR /&gt;root_schema = provider.get_root_schema('cisco_ios_xe')&lt;BR /&gt;&lt;BR /&gt;xml_codec = XmlSubtreeCodec()&lt;BR /&gt;&lt;BR /&gt;# create YDK native model object for IOS XE model generation&lt;BR /&gt;native = xe_native.Native()&lt;BR /&gt;# build object native ...&lt;BR /&gt;&lt;BR /&gt;# Encode object as XML string&lt;BR /&gt;xml_output = xml_codec.encode(native, root_schema)&lt;BR /&gt;print(xml_output)&lt;BR /&gt;# ...&lt;BR /&gt;&lt;BR /&gt;# Decode XML string to YDK object (need provide top level entity of expected object)&lt;BR /&gt;native_entity = xml_codec.decode(xml_output, xe_native.Native())&lt;/PRE&gt;</description>
      <pubDate>Thu, 11 Jun 2020 17:21:49 GMT</pubDate>
      <guid>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101717#M1937</guid>
      <dc:creator>yangorelik</dc:creator>
      <dc:date>2020-06-11T17:21:49Z</dc:date>
    </item>
    <item>
      <title>Re: Ydk-gen XmlSubtree Encode use C++ example</title>
      <link>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101761#M1938</link>
      <description>Hi Yangorelik,&lt;BR /&gt;&lt;BR /&gt;Thanks for the inputs. They were really helpful for me to proceed.&lt;BR /&gt;However on using the similar schema I am facing below errors.&lt;BR /&gt;&lt;BR /&gt;terminate called after throwing an instance of 'ydk::YIllegalStateError'&lt;BR /&gt;what(): YIllegalStateError: Could not create repository in: /mnt/data0/angupta/cpp/gnbdu-bundle/ydk/models&lt;BR /&gt;Aborted (core dumped)&lt;BR /&gt;Could you please help with this. The error is coming as ly_ctx_new() is returning NULL, even though this is a valid directory.&lt;BR /&gt;P.S. I am using the C++ codec APIs.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Ankit&lt;BR /&gt;</description>
      <pubDate>Thu, 11 Jun 2020 18:22:49 GMT</pubDate>
      <guid>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101761#M1938</guid>
      <dc:creator>AnkitGupta29279</dc:creator>
      <dc:date>2020-06-11T18:22:49Z</dc:date>
    </item>
    <item>
      <title>Re: Ydk-gen XmlSubtree Encode use C++ example</title>
      <link>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101872#M1939</link>
      <description>&lt;P&gt;I think something wrong with pointers. Could you attach your program to the post. I will then try to reproduce the issue.&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jun 2020 21:42:16 GMT</pubDate>
      <guid>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101872#M1939</guid>
      <dc:creator>yangorelik</dc:creator>
      <dc:date>2020-06-11T21:42:16Z</dc:date>
    </item>
    <item>
      <title>Re: Ydk-gen XmlSubtree Encode use C++ example</title>
      <link>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101985#M1940</link>
      <description>Hi Yan,&lt;BR /&gt;&lt;BR /&gt;Below is the attached test code which I am trying for encode.&lt;BR /&gt;Here I have generated bundle for my own yang files and am passing xml string as an argument to decode and then the decoded object to encode(only for functionality test purpose).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;#include &amp;lt;string.h&amp;gt;&lt;BR /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;BR /&gt;#include &amp;lt;iostream&amp;gt;&lt;BR /&gt;#include &amp;lt;memory&amp;gt;&lt;BR /&gt;&lt;BR /&gt;/* include generated file */&lt;BR /&gt;#include "xml_subtree_codec.hpp"&lt;BR /&gt;#include "ydk_gnbdu/y_3gpp_common_managed_element.hpp"&lt;BR /&gt;#include "generated_entity_lookup.hpp"&lt;BR /&gt;&lt;BR /&gt;#include &amp;lt;unordered_set&amp;gt;&lt;BR /&gt;#include "entity_lookup.hpp"&lt;BR /&gt;#include &amp;lt;iterator&amp;gt;&lt;BR /&gt;#include &amp;lt;map&amp;gt;&lt;BR /&gt;#include "path_api.hpp"&lt;BR /&gt;#include "codec_provider.hpp"&lt;BR /&gt;&lt;BR /&gt;extern void gnbdu::gnbdu_augment_lookup_tables();&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;int main()&lt;BR /&gt;{&lt;BR /&gt;// Provide the xml string to be tested, each node needs to have its namespace defined&lt;BR /&gt;char xmlData[8092]="&amp;lt;ManagedElement xmlns=\"urn:3gpp:sa5:_3gpp-common-managed-element\"&amp;gt;&amp;lt;id&amp;gt;gNBAltiostar&amp;lt;/id&amp;gt;&amp;lt;attributes&amp;gt;&amp;lt;userLabel&amp;gt;abcd&amp;lt;/userLabel&amp;gt;&amp;lt;priorityLabel&amp;gt;10&amp;lt;/priorityLabel&amp;gt;&amp;lt;/attributes&amp;gt;&amp;lt;GNBCUCPFunction xmlns=\"urn:3gpp:sa5:_3gpp-nr-nrm-gnbcucpfunction\"&amp;gt;&amp;lt;id&amp;gt;gNBCUCPAltiostar&amp;lt;/id&amp;gt;&amp;lt;attributes&amp;gt;&amp;lt;priorityLabel&amp;gt;10&amp;lt;/priorityLabel&amp;gt;&amp;lt;gNBId&amp;gt;10&amp;lt;/gNBId&amp;gt;&amp;lt;gNBIdLength&amp;gt;27&amp;lt;/gNBIdLength&amp;gt;&amp;lt;gNBCUName&amp;gt;gNBCUAltiostar&amp;lt;/gNBCUName&amp;gt;&amp;lt;pLMNId&amp;gt;&amp;lt;mcc&amp;gt;289&amp;lt;/mcc&amp;gt;&amp;lt;mnc&amp;gt;88&amp;lt;/mnc&amp;gt;&amp;lt;/pLMNId&amp;gt;&amp;lt;/attributes&amp;gt;&amp;lt;NRCellCU xmlns=\"urn:3gpp:sa5:_3gpp-nr-nrm-nrcellcu\"&amp;gt;&amp;lt;id&amp;gt;NRCellCUAltiostar&amp;lt;/id&amp;gt;&amp;lt;attributes&amp;gt;&amp;lt;userLabel&amp;gt;Altiostar_userlabel&amp;lt;/userLabel&amp;gt;&amp;lt;vnfParametersList&amp;gt;&amp;lt;vnfInstanceId&amp;gt;Altio_instance&amp;lt;/vnfInstanceId&amp;gt;&amp;lt;vnfdId&amp;gt;Altio_id&amp;lt;/vnfdId&amp;gt;&amp;lt;flavourId&amp;gt;Altio_flavour&amp;lt;/flavourId&amp;gt;&amp;lt;autoScalable&amp;gt;true&amp;lt;/autoScalable&amp;gt;&amp;lt;/vnfParametersList&amp;gt;&amp;lt;priorityLabel&amp;gt;1&amp;lt;/priorityLabel&amp;gt;&amp;lt;cellLocalId&amp;gt;2&amp;lt;/cellLocalId&amp;gt;&amp;lt;pLMNIdList&amp;gt;&amp;lt;mcc&amp;gt;234&amp;lt;/mcc&amp;gt;&amp;lt;mnc&amp;gt;56&amp;lt;/mnc&amp;gt;&amp;lt;/pLMNIdList&amp;gt;&amp;lt;pLMNIdList&amp;gt;&amp;lt;mcc&amp;gt;288&amp;lt;/mcc&amp;gt;&amp;lt;mnc&amp;gt;99&amp;lt;/mnc&amp;gt;&amp;lt;/pLMNIdList&amp;gt;&amp;lt;pLMNIdList&amp;gt;&amp;lt;mcc&amp;gt;999&amp;lt;/mcc&amp;gt;&amp;lt;mnc&amp;gt;999&amp;lt;/mnc&amp;gt;&amp;lt;/pLMNIdList&amp;gt;&amp;lt;sNSSAIList&amp;gt;1&amp;lt;/sNSSAIList&amp;gt;&amp;lt;rRMPolicyType&amp;gt;1&amp;lt;/rRMPolicyType&amp;gt;&amp;lt;rRMPolicy&amp;gt;split_radio_resources&amp;lt;/rRMPolicy&amp;gt;&amp;lt;rRMPolicyRatio1List&amp;gt;&amp;lt;groupId&amp;gt;1&amp;lt;/groupId&amp;gt;&amp;lt;sNSSAIList&amp;gt;1&amp;lt;/sNSSAIList&amp;gt;&amp;lt;rRRMPolicyRatio&amp;gt;1&amp;lt;/rRRMPolicyRatio&amp;gt;&amp;lt;/rRMPolicyRatio1List&amp;gt;&amp;lt;rRMPolicyRatio2&amp;gt;&amp;lt;groupId&amp;gt;1&amp;lt;/groupId&amp;gt;&amp;lt;sNSSAIList&amp;gt;1&amp;lt;/sNSSAIList&amp;gt;&amp;lt;quotaType&amp;gt;STRICT&amp;lt;/quotaType&amp;gt;&amp;lt;rRMPolicyMaxRatio&amp;gt;1&amp;lt;/rRMPolicyMaxRatio&amp;gt;&amp;lt;rRMPolicyMarginMaxRatio&amp;gt;2&amp;lt;/rRMPolicyMarginMaxRatio&amp;gt;&amp;lt;rRMPolicyMinRatio&amp;gt;1&amp;lt;/rRMPolicyMinRatio&amp;gt;&amp;lt;rRMPolicyMarginMinRatio&amp;gt;1&amp;lt;/rRMPolicyMarginMinRatio&amp;gt;&amp;lt;/rRMPolicyRatio2&amp;gt;&amp;lt;rrmConfig xmlns=\"urn:altiostar:_altiostar-nr-nrm-nrcellcu\"&amp;gt;&amp;lt;/rrmConfig&amp;gt;&amp;lt;macCellGroupConfig xmlns=\"urn:altiostar:_altiostar-nr-nrm-nrcellcu\"&amp;gt;&amp;lt;drxConfig&amp;gt;&amp;lt;milliSeconds&amp;gt;on_ms1&amp;lt;/milliSeconds&amp;gt;&amp;lt;drxInactivityTimer&amp;gt;ms2&amp;lt;/drxInactivityTimer&amp;gt;&amp;lt;harqRTTTimerDl&amp;gt;1&amp;lt;/harqRTTTimerDl&amp;gt;&amp;lt;harqRTTTimerUl&amp;gt;2&amp;lt;/harqRTTTimerUl&amp;gt;&amp;lt;drxRetransmissionDL&amp;gt;sl2&amp;lt;/drxRetransmissionDL&amp;gt;&amp;lt;drxRetransmissionUL&amp;gt;sl1&amp;lt;/drxRetransmissionUL&amp;gt;&amp;lt;/drxConfig&amp;gt;&amp;lt;/macCellGroupConfig&amp;gt;&amp;lt;/attributes&amp;gt;&amp;lt;/NRCellCU&amp;gt;&amp;lt;/GNBCUCPFunction&amp;gt;&amp;lt;GNBDUFunction xmlns=\"urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction\"&amp;gt;&amp;lt;id&amp;gt;gNBDUAltiostar&amp;lt;/id&amp;gt;&amp;lt;attributes&amp;gt;&amp;lt;priorityLabel&amp;gt;27&amp;lt;/priorityLabel&amp;gt;&amp;lt;gNBId&amp;gt;245&amp;lt;/gNBId&amp;gt;&amp;lt;gNBIdLength&amp;gt;22&amp;lt;/gNBIdLength&amp;gt;&amp;lt;gNBDUId&amp;gt;10&amp;lt;/gNBDUId&amp;gt;&amp;lt;gNBDUName&amp;gt;Vijay123&amp;lt;/gNBDUName&amp;gt;&amp;lt;/attributes&amp;gt;&amp;lt;/GNBDUFunction&amp;gt;&amp;lt;/ManagedElement&amp;gt;";&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;std::cout&amp;lt;&amp;lt;"=====================Printing configurations in xml format=======================\n";&lt;BR /&gt;std::cout&amp;lt;&amp;lt;xmlData&amp;lt;&amp;lt;std::endl;&lt;BR /&gt;std::shared_ptr&amp;lt;gnbdu::y_3gpp_common_managed_element::ManagedElement&amp;gt; entity (new gnbdu::y_3gpp_common_managed_element::ManagedElement);&lt;BR /&gt;entity-&amp;gt;yang_name = "ManagedElement";&lt;BR /&gt;&lt;BR /&gt;ydk::XmlSubtreeCodec XmlSubtreeCodec_t;&lt;BR /&gt;gnbdu::gnbdu_augment_lookup_tables();&lt;BR /&gt;&lt;BR /&gt;XmlSubtreeCodec_t.decode(xmlData,entity);&lt;BR /&gt;std::cout &amp;lt;&amp;lt;"After decode";&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;std::cout &amp;lt;&amp;lt;"name "&amp;lt;&amp;lt;entity-&amp;gt;id.name&amp;lt;&amp;lt;"value"&amp;lt;&amp;lt;entity-&amp;gt;id.value&amp;lt;&amp;lt;std::endl;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;ydk::CodecServiceProvider cs(ydk::EncodingFormat::XML);&lt;BR /&gt;cs.initialize("gnbdu","/mnt/data0/angupta/ydk_gen/cpp/gnbdu-bundle/ydk/models/gnbdu",entity-&amp;gt;get_augment_capabilities_function());&lt;BR /&gt;&lt;BR /&gt;std::cout &amp;lt;&amp;lt;"After encode";&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;return 0;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;</description>
      <pubDate>Fri, 12 Jun 2020 04:58:50 GMT</pubDate>
      <guid>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4101985#M1940</guid>
      <dc:creator>AnkitGupta29279</dc:creator>
      <dc:date>2020-06-12T04:58:50Z</dc:date>
    </item>
    <item>
      <title>Re: Ydk-gen XmlSubtree Encode use C++ example</title>
      <link>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4105253#M1941</link>
      <description>&lt;P&gt;Hi Ankit&lt;/P&gt;&lt;P&gt;Here is an example of how XmlSubrtreeCodec could be used without connecting to device. You need though generate your model package in order to use Model API.&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;lt;iostream&amp;gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;lt;spdlog/spdlog.h&amp;gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt;&lt;/SPAN&gt; "ydk/codec_provider.hpp"&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt;&lt;/SPAN&gt; "ydk/xml_subtree_codec.hpp"&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt;&lt;/SPAN&gt; "ydk_openconfig/openconfig_bgp.hpp"&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt;&lt;/SPAN&gt; "ydk_openconfig/openconfig_bgp_types.hpp"&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;STRONG&gt;using&lt;/STRONG&gt; &lt;STRONG&gt;namespace&lt;/STRONG&gt;&lt;SPAN&gt; ydk;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;STRONG&gt;using&lt;/STRONG&gt; &lt;STRONG&gt;namespace&lt;/STRONG&gt;&lt;SPAN&gt; openconfig;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;STRONG&gt;using&lt;/STRONG&gt; &lt;STRONG&gt;namespace&lt;/STRONG&gt;&lt;SPAN&gt; std;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;STRONG&gt;void&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;STRONG&gt;config_bgp&lt;/STRONG&gt;(openconfig_bgp::Bgp &amp;amp; bgp)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;{&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;bgp.global-&amp;gt;config-&amp;gt;as = 65172;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;bgp.global-&amp;gt;config-&amp;gt;router_id = &lt;SPAN&gt;"1.2.3.4"&lt;/SPAN&gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;auto&lt;/STRONG&gt;&lt;/SPAN&gt; neighbor = make_shared&amp;lt;openconfig_bgp::Bgp::Neighbors::Neighbor&amp;gt;();&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;neighbor-&amp;gt;neighbor_address = &lt;SPAN&gt;"6.7.8.9"&lt;/SPAN&gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;neighbor-&amp;gt;config-&amp;gt;neighbor_address = &lt;SPAN&gt;"6.7.8.9"&lt;/SPAN&gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;neighbor-&amp;gt;config-&amp;gt;peer_as = 65001;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;neighbor-&amp;gt;config-&amp;gt;local_as = 65001;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;neighbor-&amp;gt;config-&amp;gt;peer_group = &lt;SPAN&gt;"IBGP"&lt;/SPAN&gt;;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;bgp.neighbors-&amp;gt;neighbor.append(neighbor);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;}&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;STRONG&gt;void&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;STRONG&gt;aug_cap_func&lt;/STRONG&gt;() {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;// do nothing&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;}&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;STRONG&gt;int&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;STRONG&gt;main&lt;/STRONG&gt;(&lt;SPAN&gt;&lt;STRONG&gt;int&lt;/STRONG&gt;&lt;/SPAN&gt; argc, &lt;SPAN&gt;&lt;STRONG&gt;char&lt;/STRONG&gt;&lt;/SPAN&gt;* argv[])&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;{&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;auto&lt;/STRONG&gt;&lt;/SPAN&gt; logger = spdlog::stdout_color_mt(&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;ydk&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;logger-&amp;gt;set_level(spdlog::level::debug);&lt;BR /&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;CodecServiceProvider cp{EncodingFormat::XML};&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;cp.initialize(&lt;/SPAN&gt;"my_openconfig"&lt;SPAN&gt;, &lt;/SPAN&gt;"/Users/&lt;SPAN&gt;ygorelik&lt;/SPAN&gt;/&lt;SPAN&gt;ydk&lt;/SPAN&gt;-&lt;SPAN&gt;gen&lt;/SPAN&gt;/&lt;SPAN&gt;yang&lt;/SPAN&gt;/&lt;SPAN&gt;openconfig&lt;/SPAN&gt;-&lt;SPAN&gt;nis&lt;/SPAN&gt;"&lt;SPAN&gt;, aug_cap_func);&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;auto&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;amp; root = cp.get_root_schema_for_bundle(&lt;SPAN&gt;"my_openconfig"&lt;/SPAN&gt;);&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;try&lt;/STRONG&gt;&lt;/SPAN&gt; {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;auto&lt;/STRONG&gt;&lt;/SPAN&gt; bgp = openconfig_bgp::Bgp{};&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;config_bgp(bgp);&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;XmlSubtreeCodec xml_codec{};&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;auto&lt;/STRONG&gt;&lt;/SPAN&gt; xml_bgp_config = xml_codec.encode(bgp, root);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;cout &amp;lt;&amp;lt; xml_bgp_config &amp;lt;&amp;lt; endl;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;catch&lt;/STRONG&gt;&lt;/SPAN&gt;(YError &amp;amp; e) {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;cerr &amp;lt;&amp;lt; &lt;SPAN&gt;"Error details: "&lt;/SPAN&gt; &amp;lt;&amp;lt; e &amp;lt;&amp;lt; endl;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; 1;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt; 0;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;}&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;The program produces the following output:&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&amp;lt;bgp xmlns="&lt;A href="http://openconfig.net/yang/bgp" target="_blank" rel="noopener"&gt;http://openconfig.net/yang/bgp&lt;/A&gt;"&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;global&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;config&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;as&amp;gt;65172&amp;lt;/as&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;router-id&amp;gt;1.2.3.4&amp;lt;/router-id&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;/config&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/global&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;neighbors&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;neighbor&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;neighbor-address&amp;gt;6.7.8.9&amp;lt;/neighbor-address&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;config&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;peer-group&amp;gt;IBGP&amp;lt;/peer-group&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;neighbor-address&amp;gt;6.7.8.9&amp;lt;/neighbor-address&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;peer-as&amp;gt;65001&amp;lt;/peer-as&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;local-as&amp;gt;65001&amp;lt;/local-as&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;/config&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&amp;lt;/neighbor&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/neighbors&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN&gt;&amp;lt;/bgp&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&lt;SPAN&gt;For your information&amp;nbsp;I have attached CMakeLists.txt file.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;There is also another, probably more effective, way of initializing schema and getting root schema node:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;&lt;FONT size="2" color="#000080"&gt;auto repo = path::Repository{"/Users/ygorelik/ydk-gen/yang/openconfig-nis"};&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;std::vector&amp;lt;path::Capability&amp;gt; empty_caps;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;auto root = repo.create_root_schema(empty_caps);   // here root is shared_ptr&amp;lt;RootSchemaNode&amp;gt;&lt;BR /&gt;&lt;/FONT&gt;...&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;XmlSubtreeCodec xml_codec{};&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="2" color="#000080"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;auto&lt;/STRONG&gt; xml_bgp_config = xml_codec.encode(bgp, *root);&lt;/FONT&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;I suggest to try the last method first and explore, if it is working for you.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jun 2020 03:49:51 GMT</pubDate>
      <guid>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4105253#M1941</guid>
      <dc:creator>yangorelik</dc:creator>
      <dc:date>2020-06-18T03:49:51Z</dc:date>
    </item>
    <item>
      <title>Re: Ydk-gen XmlSubtree Encode use C++ example</title>
      <link>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4105340#M1942</link>
      <description>Thanks a lot Yan for the detailed explanation and sample code.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 18 Jun 2020 04:14:31 GMT</pubDate>
      <guid>https://community.cisco.com/t5/tools/ydk-gen-xmlsubtree-encode-use-c-example/m-p/4105340#M1942</guid>
      <dc:creator>AnkitGupta29279</dc:creator>
      <dc:date>2020-06-18T04:14:31Z</dc:date>
    </item>
  </channel>
</rss>

