xmljson-jsonxml-cg-lib
v1.2.3
Published
Library to transform xml to json and json to xml
Downloads
23
Maintainers
Readme
xmljson-jsonxml-cg-lib
1. Introduction
This code is intended to handle transformation of XML content to a JSON format and vice versa.
The code was designed under the OIH framwork to make it compatible with other components based on this, allowing to create OIH components to be used in the N3xtGen Portal.
As components are used in the NXGP flows regardless that the library should be added on component code, there are mandatory input parameters that have to be defined for the library to work properly.
Within "xmljson-jsonxml-cg-lib" three additional libraries are used: xml-js: This library allows to transform from xml to json and from json to xml using two of its main methods and sending some configuration parameters, this library is open source. fs: This library is used because the xml result is saved when the JSON to XML transformation is performed because it is required to save the XML file to be encoded as a base64 encode. utils-nxg-cg: is used to print the necessary logs.
The next is a following example of a transformation using the "processXmlJson" option:
{
"_declaration": {
"_attributes": {
"version": "1.0",
"encoding": "UTF-8"
}
},
"movies": {
"movie": [
{
"id": {
"_text": "tt0209144"
},
"title": {
"_text": "Memento"
},
"actor": {
"_text": "Guy Pearce"
},
"year": {
"_text": "2000"
},
"genre": {
"_text": "drama"
},
"stars": {
"_text": "4"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "tt0133093"
},
"title": {
"_text": "The Matrix"
},
"actor": {
"_text": "Keanu Reeves"
},
"year": {
"_text": "1999"
},
"genre": {
"_text": "fiction"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "1"
}
},
{
"id": {
"_text": "tt0238091"
},
"title": {
"_text": "The Silence of the Lambs"
},
"actor": {
"_text": "Jodie Foster"
},
"year": {
"_text": "1991"
},
"genre": {
"_text": "suspence"
},
"stars": {
"_text": "4"
},
"flag": {
"_text": "1"
}
},
{
"id": {
"_text": "tt0246006"
},
"title": {
"_text": "The Prestige"
},
"actor": {
"_text": "Christian Bale"
},
"year": {
"_text": "2006"
},
"genre": {
"_text": "Suspense"
},
"stars": {
"_text": "4"
},
"flag": {
"_text": "1"
}
},
{
"id": {
"_text": "mb0162096"
},
"title": {
"_text": "interestellar"
},
"actor": {
"_text": "Matthew McConaughey"
},
"year": {
"_text": "2014"
},
"genre": {
"_text": "fscience fiction"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "mb0972000"
},
"title": {
"_text": "Revenant"
},
"actor": {
"_text": "Leonardo Dicaprio"
},
"year": {
"_text": "2015"
},
"genre": {
"_text": "fscience fiction"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "sf0972075"
},
"title": {
"_text": "The Shawshank Redemption"
},
"actor": {
"_text": "Morgan Freeman"
},
"year": {
"_text": "1994"
},
"genre": {
"_text": "drama"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "av0979375"
},
"title": {
"_text": "Avengers: Endgame"
},
"actor": {
"_text": "Robert Downey Jr."
},
"year": {
"_text": "2019"
},
"genre": {
"_text": "fscience fiction"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "bh0978855"
},
"title": {
"_text": "Black Hawk Down"
},
"actor": {
"_text": "Josh Hartnett"
},
"year": {
"_text": "2001"
},
"genre": {
"_text": "fscience fiction"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "tw0970164"
},
"title": {
"_text": "The wolf of wall street"
},
"actor": {
"_text": "Leonardo Dicaprio"
},
"year": {
"_text": "2013"
},
"genre": {
"_text": "drama"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
}
]
}
}
In the case of the "processJsonXml" option, the next is the result of the transformation:
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNmZGk6Q29tcHJvYmFudGUgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LnNhdC5nb2IubXgvY2ZkLzQgaHR0cDovL3d3dy5zYXQuZ29iLm14L3NpdGlvX2ludGVybmV0L2NmZC80L2NmZHY0MC54c2QiIHhtbG5zOmNmZGk9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9jZmQvNCIgVmVyc2lvbj0iNC4wIiBTZXJpZT0iR0IiIEZvbGlvPSIxNzkzNCIgRmVjaGE9IjIwMjItMDYtMTVUMDk6NDM6MjYiIFNlbGxvPSJnYjlTaUNwUHVZNXREVSs4N3hnSnB1ci9ZdTAvaWROd0t1eTIvY3RyU2NGUFFNeGxFRzVJZXFad2k5L2hncFlWRmozcmV5UHgwSlRMTzB6WEdJMEVUcVRxTFNsTys1aEdOKzhZUTlqbXc5bDhXQUl6bkJDVGlwNWNVamFKU05hMHoyamY4VEUyQkdEaWFZall3WmpsS0dnNGprcGM3TDdsdzVUSG1udVlteDErWDJJeVJWbFNSeVZZZERreUo5ZWc3RnlHL3IyZWxpbEFURmx3MktXZ1g1WkNtUktwbnFkY2duY1V3bUxUNXJBbzFpYUpMME5ldE1uQWs2YzNqZjlzcU0yUlQzYjFPZXQraVcwc05JRU1qUStKZ3Q5c1lhT29VZDFSc0w2dFRpSWE0Tks2bzA3TU9vU2tQWEMxMEpnWk1IZVZhK3BJczl4dFJHNHBHd3J1K2c9PSIgRm9ybWFQYWdvPSI5OSIgTm9DZXJ0aWZpY2Fkbz0iMDAwMDEwMDAwMDA1MDI5NjYxMDYiIENlcnRpZmljYWRvPSJNSUlGNlRDQ0E5R2dBd0lCQWdJVU1EQXdNREV3TURBd01EQTFNREk1TmpZeE1EWXdEUVlKS29aSWh2Y05BUUVMQlFBd2dnR0VNU0F3SGdZRFZRUUREQmRCVlZSUFVrbEVRVVFnUTBWU1ZFbEdTVU5CUkU5U1FURXVNQ3dHQTFVRUNnd2xVMFZTVmtsRFNVOGdSRVVnUVVSTlNVNUpVMVJTUVVOSlQwNGdWRkpKUWxWVVFWSkpRVEVhTUJnR0ExVUVDd3dSVTBGVUxVbEZVeUJCZFhSb2IzSnBkSGt4S2pBb0Jna3Foa2lHOXcwQkNRRVdHMk52Ym5SaFkzUnZMblJsWTI1cFkyOUFjMkYwTG1kdllpNXRlREVtTUNRR0ExVUVDUXdkUVZZdUlFaEpSRUZNUjA4Z056Y3NJRU5QVEM0Z1IxVkZVbEpGVWs4eERqQU1CZ05WQkJFTUJUQTJNekF3TVFzd0NRWURWUVFHRXdKTldERVpNQmNHQTFVRUNBd1FRMGxWUkVGRUlFUkZJRTFGV0VsRFR6RVRNQkVHQTFVRUJ3d0tRMVZCVlVoVVJVMVBRekVWTUJNR0ExVUVMUk1NVTBGVU9UY3dOekF4VGs0ek1Wd3dXZ1lKS29aSWh2Y05BUWtDRTAxeVpYTndiMjV6WVdKc1pUb2dRVVJOU1U1SlUxUlNRVU5KVDA0Z1EwVk9WRkpCVENCRVJTQlRSVkpXU1VOSlQxTWdWRkpKUWxWVVFWSkpUMU1nUVV3Z1EwOU9WRkpKUWxWWlJVNVVSVEFlRncweU1EQXhNekF4T0RBMk16aGFGdzB5TkRBeE16QXhPREEyTXpoYU1JRzNNU0l3SUFZRFZRUURFeGxIVlVGRVFVeFZVRVVnUWxKSlQwNUZVeUJCVGtSU1FVUkZNU0l3SUFZRFZRUXBFeGxIVlVGRVFVeFZVRVVnUWxKSlQwNUZVeUJCVGtSU1FVUkZNU0l3SUFZRFZRUUtFeGxIVlVGRVFVeFZVRVVnUWxKSlQwNUZVeUJCVGtSU1FVUkZNUll3RkFZRFZRUXRFdzFDU1VGSE5UVXhNVEl3VVRZMk1Sc3dHUVlEVlFRRkV4SkNTVUZITlRVeE1USXdUVU5NVWs1RU1ERXhGREFTQmdOVkJBc1RDMEpKUVVkVVQxSlNSVTlPTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF2Rkc0Njl5TnVDejU1ODQwRHozYXo5QzhsajMrRVJxZmYra2VUaDl6OVoreEVra0RGOEJZd2VmeDFBN0pwTEgvNVFBYmV1UHFTcUNnaXhOZ2swaHpUMEtWTkFvN2NSdFBFY3hoZ0RNRVBRZG12VzVETEZ2bzV1eEJiV2VDRUloSURsV3FabGJLS3JuaU1uaEpZK0dLK1dHbHY4YjRNd2VYdHhsOEFBL1hFN2ZvQlRJd2NXUkdVNjc4a3Q0eTZsUkkvekVWM0xsRllwbnZqMG9qRHB4WVhPakJQUFRTekRrNjBRMnNNR3M4TmRZTE03YkoycGVJaHdENUVteXdDK056cGF0UE9UZzdUbGJtL2NDQmVtdjZTVnBUS0ttM2xuMXM4RkRXcUc4eEtuSWlFaXFGSHk5akF4NmpGU2hodkEzMzJVSmF1L1M5ZTk3SkNlZEt4RnZjdndJREFRQUJveDB3R3pBTUJnTlZIUk1CQWY4RUFqQUFNQXNHQTFVZER3UUVBd0lHd0RBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQUp6ZDhJSjVWSVcvWEVMRUdiZzBtOThaWmlqNG5kMDNDQmpqTTFUeCtkTDFoWHI5a0pFWDloVnViVU1hdmNzS09SaEZtc1RiQTFUaTEvSTUxNDdtelRVTzBOMmlZdXA0eWlJMjRsOGdMTHpNTTJRUEUzMFNUc3FJSis2OUMramRzck16dHppSTZPV2Zqbkppb2JCMHlFcm5seWF4Q210eTU3NHlwelBTR3ZvbUpvNFlhb3NoUzRhMEp4VklsalphL296T3AzT1J5aDZWckp4VDJiTjFOT0hnMHcrT2J6Q0phR1YvMTAxS0QrMU1jSEVlRGlBRFByU21FTVNoVVdWQTNvV0tYUElGMUxBeW9mMmtUUW8yanVnTW1ab05nejRBZFM0cnNEcE1uZk1nWXJtSWozNHo1QmZNZTVvZ1VmcVZKUzBLc3NWN2lHb2VlYVNqTlV2N1hmZUNMMGsvZ0NRNlkyUFlJbzNld3dKYkFvSFNKcWNmYkUyd3plZENUbmZBYlc1Ymk1Q3FIQVR6TnMyK3k5ZG11a2JUM1Y0U3QvWnNJbG9uU2tKTUkyMDlUNFJuTURrREkzZEN6RW5PR1F4NlhJa0UveTNhdnRxeGtmNTUwRE4vc05UQW4zMkJhQlQzSEpicWd6UFVMVXhKMWlWZERsRmNBanhpUFlUVU5YZlg5SjA5aDMxUFBpL3Jxb3EwNDVVYk1JK3hDWEZrNHdMV1VCYXhJb0ZkdWYwNTU5N3ZqUHZuclo2UWJGZmV1WE43dHM1YjRDWnBhSCtHMFkyZWQzNTdvN2hvR0VxWDQ4NGxXT2o5dVZvUFMvanZGZnErRXlqTVVOMC9JL3FlSDlpTmVEOXg4Q3FGanIvRURYalkvcExKQ1g4RmM1bCtadkd3U1VBL2psNzJNSGNnPSIgQ29uZGljaW9uZXNEZVBhZ289IkNSRURJVE8iIFN1YlRvdGFsPSI0MTAyLjQwIiBNb25lZGE9Ik1YTiIgVG90YWw9IjQ0NjIuNzgiIFRpcG9EZUNvbXByb2JhbnRlPSJJIiBFeHBvcnRhY2lvbj0iMDEiIE1ldG9kb1BhZ289IlBQRCIgTHVnYXJFeHBlZGljaW9uPSIyNzExMCI+CiAgICA8Y2ZkaTpFbWlzb3IgUmZjPSJCSUFHNTUxMTIwUTY2IiBOb21icmU9IkdVQURBTFVQRSBCUklPTkVTIEFORFJBREUiIFJlZ2ltZW5GaXNjYWw9IjYxMiIvPgogICAgPGNmZGk6UmVjZXB0b3IgUmZjPSJHRVUwNTAyMTQ5NjUiIE5vbWJyZT0iR1JBTkpBIEVVQ0FMSVBUT1MiIERvbWljaWxpb0Zpc2NhbFJlY2VwdG9yPSIzNTEzMCIgUmVnaW1lbkZpc2NhbFJlY2VwdG9yPSI2MjIiIFVzb0NGREk9IkcwMSIvPgogICAgPGNmZGk6Q29uY2VwdG9zPgogICAgICAgIDxjZmRpOkNvbmNlcHRvIENsYXZlUHJvZFNlcnY9IjQyMzExNTAwIiBOb0lkZW50aWZpY2FjaW9uPSIwMzYyIiBDYW50aWRhZD0iMzAiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJWRU5EQSBDQVRUTEUgV1JBUCBDT0ZMRVggQlkgQU5ET1ZFUiBDRCBKVUFSRVogQ0hJSCAxMzY3OAoxOSAgMDcgIDA4MjMgIDkwMDAxMTAvMjAxOS0wMS0yOS8wNzAiIFZhbG9yVW5pdGFyaW89IjIzLjAwIiBJbXBvcnRlPSI2OTAuMDAiIE9iamV0b0ltcD0iMDIiPgogICAgICAgICAgICA8Y2ZkaTpJbXB1ZXN0b3M+CiAgICAgICAgICAgICAgICA8Y2ZkaTpUcmFzbGFkb3M+CiAgICAgICAgICAgICAgICAgICAgPGNmZGk6VHJhc2xhZG8gQmFzZT0iNjkwLjAwIiBJbXB1ZXN0bz0iMDAyIiBUaXBvRmFjdG9yPSJUYXNhIiBUYXNhT0N1b3RhPSIwLjE2MDAwMCIgSW1wb3J0ZT0iMTEwLjQwIi8+CiAgICAgICAgICAgICAgICA8L2NmZGk6VHJhc2xhZG9zPgogICAgICAgICAgICA8L2NmZGk6SW1wdWVzdG9zPgogICAgICAgICAgICA8Y2ZkaTpJbmZvcm1hY2lvbkFkdWFuZXJhIE51bWVyb1BlZGltZW50bz0iMTkgIDA3ICAwODIzICA5MDAwMTEwIi8+CiAgICAgICAgPC9jZmRpOkNvbmNlcHRvPgogICAgICAgIDxjZmRpOkNvbmNlcHRvIENsYXZlUHJvZFNlcnY9IjQyMTIxNTAwIiBDYW50aWRhZD0iNDAiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJKRVJJTkdBIERFIFBMQVNUSUNPIEdCIElOU1RSVU1FTlRBTCA1IE1MIENPTiBBR1VKQSAiIFZhbG9yVW5pdGFyaW89IjIuMDYiIEltcG9ydGU9IjgyLjQwIiBPYmpldG9JbXA9IjAyIj4KICAgICAgICAgICAgPGNmZGk6SW1wdWVzdG9zPgogICAgICAgICAgICAgICAgPGNmZGk6VHJhc2xhZG9zPgogICAgICAgICAgICAgICAgICAgIDxjZmRpOlRyYXNsYWRvIEJhc2U9IjgyLjQwIiBJbXB1ZXN0bz0iMDAyIiBUaXBvRmFjdG9yPSJUYXNhIiBUYXNhT0N1b3RhPSIwLjE2MDAwMCIgSW1wb3J0ZT0iMTMuMTg0Ii8+CiAgICAgICAgICAgICAgICA8L2NmZGk6VHJhc2xhZG9zPgogICAgICAgICAgICA8L2NmZGk6SW1wdWVzdG9zPgogICAgICAgIDwvY2ZkaTpDb25jZXB0bz4KICAgICAgICA8Y2ZkaTpDb25jZXB0byBDbGF2ZVByb2RTZXJ2PSIzMTIwMTYwMCIgQ2FudGlkYWQ9IjEiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJLSVQgUEVHQU1FTlRPIFRFQ0hOT1ZJVCAoQ09OIFRBQ09OIE1BREVSQSkgQ0QuIEpVQVJFWiAiIFZhbG9yVW5pdGFyaW89IjE4NTAuMDAiIEltcG9ydGU9IjE4NTAuMDAiIE9iamV0b0ltcD0iMDIiPgogICAgICAgICAgICA8Y2ZkaTpJbXB1ZXN0b3M+CiAgICAgICAgICAgICAgICA8Y2ZkaTpUcmFzbGFkb3M+CiAgICAgICAgICAgICAgICAgICAgPGNmZGk6VHJhc2xhZG8gQmFzZT0iMTg1MC4wMCIgSW1wdWVzdG89IjAwMiIgVGlwb0ZhY3Rvcj0iRXhlbnRvIi8+CiAgICAgICAgICAgICAgICA8L2NmZGk6VHJhc2xhZG9zPgogICAgICAgICAgICA8L2NmZGk6SW1wdWVzdG9zPgogICAgICAgIDwvY2ZkaTpDb25jZXB0bz4KICAgICAgICA8Y2ZkaTpDb25jZXB0byBDbGF2ZVByb2RTZXJ2PSI1MzEwMjcwNCIgQ2FudGlkYWQ9IjgiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJNQU5ESUwgUFJFTUlVTSBHQiBHUkFOREUgUEFSQSBPUkRFw5FBIEdBTCIgVmFsb3JVbml0YXJpbz0iMTg1LjAwIiBJbXBvcnRlPSIxNDgwLjAwIiBPYmpldG9JbXA9IjAyIj4KICAgICAgICAgICAgPGNmZGk6SW1wdWVzdG9zPgogICAgICAgICAgICAgICAgPGNmZGk6VHJhc2xhZG9zPgogICAgICAgICAgICAgICAgICAgIDxjZmRpOlRyYXNsYWRvIEJhc2U9IjE0ODAuMDAiIEltcHVlc3RvPSIwMDIiIFRpcG9GYWN0b3I9IlRhc2EiIFRhc2FPQ3VvdGE9IjAuMTYwMDAwIiBJbXBvcnRlPSIyMzYuODAiLz4KICAgICAgICAgICAgICAgIDwvY2ZkaTpUcmFzbGFkb3M+CiAgICAgICAgICAgIDwvY2ZkaTpJbXB1ZXN0b3M+CiAgICAgICAgPC9jZmRpOkNvbmNlcHRvPgogICAgPC9jZmRpOkNvbmNlcHRvcz4KICAgIDxjZmRpOkltcHVlc3RvcyBUb3RhbEltcHVlc3Rvc1RyYXNsYWRhZG9zPSIzNjAuMzgiPgogICAgICAgIDxjZmRpOlRyYXNsYWRvcz4KICAgICAgICAgICAgPGNmZGk6VHJhc2xhZG8gQmFzZT0iMTg1MC4wMCIgSW1wdWVzdG89IjAwMiIgVGlwb0ZhY3Rvcj0iRXhlbnRvIi8+CiAgICAgICAgICAgIDxjZmRpOlRyYXNsYWRvIEJhc2U9IjIyNTIuNDAiIEltcHVlc3RvPSIwMDIiIFRpcG9GYWN0b3I9IlRhc2EiIFRhc2FPQ3VvdGE9IjAuMTYwMDAwIiBJbXBvcnRlPSIzNjAuMzgiLz4KICAgICAgICA8L2NmZGk6VHJhc2xhZG9zPgogICAgPC9jZmRpOkltcHVlc3Rvcz4KICAgIDxjZmRpOkNvbXBsZW1lbnRvPgogICAgICAgIDx0ZmQ6VGltYnJlRmlzY2FsRGlnaXRhbCB4bWxuczp0ZmQ9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9UaW1icmVGaXNjYWxEaWdpdGFsIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9UaW1icmVGaXNjYWxEaWdpdGFsIGh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvVGltYnJlRmlzY2FsRGlnaXRhbC9UaW1icmVGaXNjYWxEaWdpdGFsdjExLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgVmVyc2lvbj0iMS4xIiBVVUlEPSI5QjgxMkNENS1BMDM5LUU5NEUtQjlGQy01MDczQ0Y2QzQ3NkYiIEZlY2hhVGltYnJhZG89IjIwMjItMDYtMTVUMDk6NDM6NTAiIFJmY1Byb3ZDZXJ0aWY9IlNDRDExMDEwNTY1NCIgU2VsbG9DRkQ9ImdiOVNpQ3BQdVk1dERVKzg3eGdKcHVyL1l1MC9pZE53S3V5Mi9jdHJTY0ZQUU14bEVHNUllcVp3aTkvaGdwWVZGajNyZXlQeDBKVExPMHpYR0kwRVRxVHFMU2xPKzVoR04rOFlROWptdzlsOFdBSXpuQkNUaXA1Y1VqYUpTTmEwejJqZjhURTJCR0RpYVlqWXdaamxLR2c0amtwYzdMN2x3NVRIbW51WW14MStYMkl5UlZsU1J5VllkRGt5SjllZzdGeUcvcjJlbGlsQVRGbHcyS1dnWDVaQ21SS3BucWRjZ25jVXdtTFQ1ckFvMWlhSkwwTmV0TW5BazZjM2pmOXNxTTJSVDNiMU9ldCtpVzBzTklFTWpRK0pndDlzWWFPb1VkMVJzTDZ0VGlJYTROSzZvMDdNT29Ta1BYQzEwSmdaTUhlVmErcElzOXh0Ukc0cEd3cnUrZz09IiBOb0NlcnRpZmljYWRvU0FUPSIwMDAwMTAwMDAwMDUwMjAwMDQzNiIgU2VsbG9TQVQ9IlRjOHdjNVkwSGJSM213RndSaWVOcEkvbjRRbzhSWUFsNlBqMzhVd2lQT05lTTFDbC9HN0tvc3lqWWZNdDh2a1FlbHBPMXhNZGZJcFJhZWZUMlVkYXRRMjN5UVJieDg0RzF5dGlLT1JWWkZYai91Tjh6V2VlcE5OM0pWeGYyMXYvdlRxS2hTcXhVN3FZRmZGclZMTHdjSEhGU2lGWElVNVhKOUUrTk0zOXl6bStIZWVMem53VUp0ZFNuTDVROVN2TTNPQllTY2tDRXZmWVRuemVsNktBMjByYlpYemRuSlRnTDlVd21PZUMzSElvRjJGY0Vrb3I5UTdvQjRvSGxEbmVad2ZsaFIvMWtTLzRWV1U0aU5JQjhtSWQ4TFBaYkU4a0MzU25mNW45WlJPdGdiQUFWYmNLUlBPM0R4S2xOcGZSRnNoRElsL0k5ZkFRV25BcnRIdlR0Zz09Ii8+CiAgICA8L2NmZGk6Q29tcGxlbWVudG8+CjwvY2ZkaTpDb21wcm9iYW50ZT4=
2. Methods explanation
The library can be installed from npm page with the next:
npm install xmljson-jsonxml-cg-lib
, npm i xmljson-jsonxml-cg-lib
or yarn install xmljson-jsonxml-cg-lib
_2.1. processXmlJson
This method is used to convert a file with a xml extension but encoding in base64 to a JSON file for data handling preferences. Currently the xml file has to be a valid xml file.
_2.2. json_xml
This method is used to transform a json file cnoding in base64 to a xml file for data handling preference. Currently the json format has to be a valid format to avoid problems.
3. Argument and result explanation
Arguments: In the processXmlJson method there is only one parameter that is required in the transformation and it is described below:
- content(required): This parameter is the content that will be transformed and has to be sent encoded in base64.
In the processJsonXml method there is only one parameter that is required in the transformation and it is described below:
- content(required): This parameter is the content that will be transformed and has to be sent encoded in base64.
Result: The final result varies depending on the method used, if it is "processJsonXml" it will bring a JSON as a result , if it is "processJsonXml", it will bring a XML file encoding in base64: This result is for the "processJsonXml" process.
{
"_declaration": {
"_attributes": {
"version": "1.0",
"encoding": "UTF-8"
}
},
"movies": {
"movie": [
{
"id": {
"_text": "tt0209144"
},
"title": {
"_text": "Memento"
},
"actor": {
"_text": "Guy Pearce"
},
"year": {
"_text": "2000"
},
"genre": {
"_text": "drama"
},
"stars": {
"_text": "4"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "tt0133093"
},
"title": {
"_text": "The Matrix"
},
"actor": {
"_text": "Keanu Reeves"
},
"year": {
"_text": "1999"
},
"genre": {
"_text": "fiction"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "1"
}
},
{
"id": {
"_text": "tt0238091"
},
"title": {
"_text": "The Silence of the Lambs"
},
"actor": {
"_text": "Jodie Foster"
},
"year": {
"_text": "1991"
},
"genre": {
"_text": "suspence"
},
"stars": {
"_text": "4"
},
"flag": {
"_text": "1"
}
},
{
"id": {
"_text": "tt0246006"
},
"title": {
"_text": "The Prestige"
},
"actor": {
"_text": "Christian Bale"
},
"year": {
"_text": "2006"
},
"genre": {
"_text": "Suspense"
},
"stars": {
"_text": "4"
},
"flag": {
"_text": "1"
}
},
{
"id": {
"_text": "mb0162096"
},
"title": {
"_text": "interestellar"
},
"actor": {
"_text": "Matthew McConaughey"
},
"year": {
"_text": "2014"
},
"genre": {
"_text": "fscience fiction"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "mb0972000"
},
"title": {
"_text": "Revenant"
},
"actor": {
"_text": "Leonardo Dicaprio"
},
"year": {
"_text": "2015"
},
"genre": {
"_text": "fscience fiction"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "sf0972075"
},
"title": {
"_text": "The Shawshank Redemption"
},
"actor": {
"_text": "Morgan Freeman"
},
"year": {
"_text": "1994"
},
"genre": {
"_text": "drama"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "av0979375"
},
"title": {
"_text": "Avengers: Endgame"
},
"actor": {
"_text": "Robert Downey Jr."
},
"year": {
"_text": "2019"
},
"genre": {
"_text": "fscience fiction"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "bh0978855"
},
"title": {
"_text": "Black Hawk Down"
},
"actor": {
"_text": "Josh Hartnett"
},
"year": {
"_text": "2001"
},
"genre": {
"_text": "fscience fiction"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
},
{
"id": {
"_text": "tw0970164"
},
"title": {
"_text": "The wolf of wall street"
},
"actor": {
"_text": "Leonardo Dicaprio"
},
"year": {
"_text": "2013"
},
"genre": {
"_text": "drama"
},
"stars": {
"_text": "5"
},
"flag": {
"_text": "0"
}
}
]
}
}
And in the case of "processJsonXml", the result will be a xml file encoding in base64:
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNmZGk6Q29tcHJvYmFudGUgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LnNhdC5nb2IubXgvY2ZkLzQgaHR0cDovL3d3dy5zYXQuZ29iLm14L3NpdGlvX2ludGVybmV0L2NmZC80L2NmZHY0MC54c2QiIHhtbG5zOmNmZGk9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9jZmQvNCIgVmVyc2lvbj0iNC4wIiBTZXJpZT0iR0IiIEZvbGlvPSIxNzkzNCIgRmVjaGE9IjIwMjItMDYtMTVUMDk6NDM6MjYiIFNlbGxvPSJnYjlTaUNwUHVZNXREVSs4N3hnSnB1ci9ZdTAvaWROd0t1eTIvY3RyU2NGUFFNeGxFRzVJZXFad2k5L2hncFlWRmozcmV5UHgwSlRMTzB6WEdJMEVUcVRxTFNsTys1aEdOKzhZUTlqbXc5bDhXQUl6bkJDVGlwNWNVamFKU05hMHoyamY4VEUyQkdEaWFZall3WmpsS0dnNGprcGM3TDdsdzVUSG1udVlteDErWDJJeVJWbFNSeVZZZERreUo5ZWc3RnlHL3IyZWxpbEFURmx3MktXZ1g1WkNtUktwbnFkY2duY1V3bUxUNXJBbzFpYUpMME5ldE1uQWs2YzNqZjlzcU0yUlQzYjFPZXQraVcwc05JRU1qUStKZ3Q5c1lhT29VZDFSc0w2dFRpSWE0Tks2bzA3TU9vU2tQWEMxMEpnWk1IZVZhK3BJczl4dFJHNHBHd3J1K2c9PSIgRm9ybWFQYWdvPSI5OSIgTm9DZXJ0aWZpY2Fkbz0iMDAwMDEwMDAwMDA1MDI5NjYxMDYiIENlcnRpZmljYWRvPSJNSUlGNlRDQ0E5R2dBd0lCQWdJVU1EQXdNREV3TURBd01EQTFNREk1TmpZeE1EWXdEUVlKS29aSWh2Y05BUUVMQlFBd2dnR0VNU0F3SGdZRFZRUUREQmRCVlZSUFVrbEVRVVFnUTBWU1ZFbEdTVU5CUkU5U1FURXVNQ3dHQTFVRUNnd2xVMFZTVmtsRFNVOGdSRVVnUVVSTlNVNUpVMVJTUVVOSlQwNGdWRkpKUWxWVVFWSkpRVEVhTUJnR0ExVUVDd3dSVTBGVUxVbEZVeUJCZFhSb2IzSnBkSGt4S2pBb0Jna3Foa2lHOXcwQkNRRVdHMk52Ym5SaFkzUnZMblJsWTI1cFkyOUFjMkYwTG1kdllpNXRlREVtTUNRR0ExVUVDUXdkUVZZdUlFaEpSRUZNUjA4Z056Y3NJRU5QVEM0Z1IxVkZVbEpGVWs4eERqQU1CZ05WQkJFTUJUQTJNekF3TVFzd0NRWURWUVFHRXdKTldERVpNQmNHQTFVRUNBd1FRMGxWUkVGRUlFUkZJRTFGV0VsRFR6RVRNQkVHQTFVRUJ3d0tRMVZCVlVoVVJVMVBRekVWTUJNR0ExVUVMUk1NVTBGVU9UY3dOekF4VGs0ek1Wd3dXZ1lKS29aSWh2Y05BUWtDRTAxeVpYTndiMjV6WVdKc1pUb2dRVVJOU1U1SlUxUlNRVU5KVDA0Z1EwVk9WRkpCVENCRVJTQlRSVkpXU1VOSlQxTWdWRkpKUWxWVVFWSkpUMU1nUVV3Z1EwOU9WRkpKUWxWWlJVNVVSVEFlRncweU1EQXhNekF4T0RBMk16aGFGdzB5TkRBeE16QXhPREEyTXpoYU1JRzNNU0l3SUFZRFZRUURFeGxIVlVGRVFVeFZVRVVnUWxKSlQwNUZVeUJCVGtSU1FVUkZNU0l3SUFZRFZRUXBFeGxIVlVGRVFVeFZVRVVnUWxKSlQwNUZVeUJCVGtSU1FVUkZNU0l3SUFZRFZRUUtFeGxIVlVGRVFVeFZVRVVnUWxKSlQwNUZVeUJCVGtSU1FVUkZNUll3RkFZRFZRUXRFdzFDU1VGSE5UVXhNVEl3VVRZMk1Sc3dHUVlEVlFRRkV4SkNTVUZITlRVeE1USXdUVU5NVWs1RU1ERXhGREFTQmdOVkJBc1RDMEpKUVVkVVQxSlNSVTlPTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF2Rkc0Njl5TnVDejU1ODQwRHozYXo5QzhsajMrRVJxZmYra2VUaDl6OVoreEVra0RGOEJZd2VmeDFBN0pwTEgvNVFBYmV1UHFTcUNnaXhOZ2swaHpUMEtWTkFvN2NSdFBFY3hoZ0RNRVBRZG12VzVETEZ2bzV1eEJiV2VDRUloSURsV3FabGJLS3JuaU1uaEpZK0dLK1dHbHY4YjRNd2VYdHhsOEFBL1hFN2ZvQlRJd2NXUkdVNjc4a3Q0eTZsUkkvekVWM0xsRllwbnZqMG9qRHB4WVhPakJQUFRTekRrNjBRMnNNR3M4TmRZTE03YkoycGVJaHdENUVteXdDK056cGF0UE9UZzdUbGJtL2NDQmVtdjZTVnBUS0ttM2xuMXM4RkRXcUc4eEtuSWlFaXFGSHk5akF4NmpGU2hodkEzMzJVSmF1L1M5ZTk3SkNlZEt4RnZjdndJREFRQUJveDB3R3pBTUJnTlZIUk1CQWY4RUFqQUFNQXNHQTFVZER3UUVBd0lHd0RBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQUp6ZDhJSjVWSVcvWEVMRUdiZzBtOThaWmlqNG5kMDNDQmpqTTFUeCtkTDFoWHI5a0pFWDloVnViVU1hdmNzS09SaEZtc1RiQTFUaTEvSTUxNDdtelRVTzBOMmlZdXA0eWlJMjRsOGdMTHpNTTJRUEUzMFNUc3FJSis2OUMramRzck16dHppSTZPV2Zqbkppb2JCMHlFcm5seWF4Q210eTU3NHlwelBTR3ZvbUpvNFlhb3NoUzRhMEp4VklsalphL296T3AzT1J5aDZWckp4VDJiTjFOT0hnMHcrT2J6Q0phR1YvMTAxS0QrMU1jSEVlRGlBRFByU21FTVNoVVdWQTNvV0tYUElGMUxBeW9mMmtUUW8yanVnTW1ab05nejRBZFM0cnNEcE1uZk1nWXJtSWozNHo1QmZNZTVvZ1VmcVZKUzBLc3NWN2lHb2VlYVNqTlV2N1hmZUNMMGsvZ0NRNlkyUFlJbzNld3dKYkFvSFNKcWNmYkUyd3plZENUbmZBYlc1Ymk1Q3FIQVR6TnMyK3k5ZG11a2JUM1Y0U3QvWnNJbG9uU2tKTUkyMDlUNFJuTURrREkzZEN6RW5PR1F4NlhJa0UveTNhdnRxeGtmNTUwRE4vc05UQW4zMkJhQlQzSEpicWd6UFVMVXhKMWlWZERsRmNBanhpUFlUVU5YZlg5SjA5aDMxUFBpL3Jxb3EwNDVVYk1JK3hDWEZrNHdMV1VCYXhJb0ZkdWYwNTU5N3ZqUHZuclo2UWJGZmV1WE43dHM1YjRDWnBhSCtHMFkyZWQzNTdvN2hvR0VxWDQ4NGxXT2o5dVZvUFMvanZGZnErRXlqTVVOMC9JL3FlSDlpTmVEOXg4Q3FGanIvRURYalkvcExKQ1g4RmM1bCtadkd3U1VBL2psNzJNSGNnPSIgQ29uZGljaW9uZXNEZVBhZ289IkNSRURJVE8iIFN1YlRvdGFsPSI0MTAyLjQwIiBNb25lZGE9Ik1YTiIgVG90YWw9IjQ0NjIuNzgiIFRpcG9EZUNvbXByb2JhbnRlPSJJIiBFeHBvcnRhY2lvbj0iMDEiIE1ldG9kb1BhZ289IlBQRCIgTHVnYXJFeHBlZGljaW9uPSIyNzExMCI+CiAgICA8Y2ZkaTpFbWlzb3IgUmZjPSJCSUFHNTUxMTIwUTY2IiBOb21icmU9IkdVQURBTFVQRSBCUklPTkVTIEFORFJBREUiIFJlZ2ltZW5GaXNjYWw9IjYxMiIvPgogICAgPGNmZGk6UmVjZXB0b3IgUmZjPSJHRVUwNTAyMTQ5NjUiIE5vbWJyZT0iR1JBTkpBIEVVQ0FMSVBUT1MiIERvbWljaWxpb0Zpc2NhbFJlY2VwdG9yPSIzNTEzMCIgUmVnaW1lbkZpc2NhbFJlY2VwdG9yPSI2MjIiIFVzb0NGREk9IkcwMSIvPgogICAgPGNmZGk6Q29uY2VwdG9zPgogICAgICAgIDxjZmRpOkNvbmNlcHRvIENsYXZlUHJvZFNlcnY9IjQyMzExNTAwIiBOb0lkZW50aWZpY2FjaW9uPSIwMzYyIiBDYW50aWRhZD0iMzAiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJWRU5EQSBDQVRUTEUgV1JBUCBDT0ZMRVggQlkgQU5ET1ZFUiBDRCBKVUFSRVogQ0hJSCAxMzY3OAoxOSAgMDcgIDA4MjMgIDkwMDAxMTAvMjAxOS0wMS0yOS8wNzAiIFZhbG9yVW5pdGFyaW89IjIzLjAwIiBJbXBvcnRlPSI2OTAuMDAiIE9iamV0b0ltcD0iMDIiPgogICAgICAgICAgICA8Y2ZkaTpJbXB1ZXN0b3M+CiAgICAgICAgICAgICAgICA8Y2ZkaTpUcmFzbGFkb3M+CiAgICAgICAgICAgICAgICAgICAgPGNmZGk6VHJhc2xhZG8gQmFzZT0iNjkwLjAwIiBJbXB1ZXN0bz0iMDAyIiBUaXBvRmFjdG9yPSJUYXNhIiBUYXNhT0N1b3RhPSIwLjE2MDAwMCIgSW1wb3J0ZT0iMTEwLjQwIi8+CiAgICAgICAgICAgICAgICA8L2NmZGk6VHJhc2xhZG9zPgogICAgICAgICAgICA8L2NmZGk6SW1wdWVzdG9zPgogICAgICAgICAgICA8Y2ZkaTpJbmZvcm1hY2lvbkFkdWFuZXJhIE51bWVyb1BlZGltZW50bz0iMTkgIDA3ICAwODIzICA5MDAwMTEwIi8+CiAgICAgICAgPC9jZmRpOkNvbmNlcHRvPgogICAgICAgIDxjZmRpOkNvbmNlcHRvIENsYXZlUHJvZFNlcnY9IjQyMTIxNTAwIiBDYW50aWRhZD0iNDAiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJKRVJJTkdBIERFIFBMQVNUSUNPIEdCIElOU1RSVU1FTlRBTCA1IE1MIENPTiBBR1VKQSAiIFZhbG9yVW5pdGFyaW89IjIuMDYiIEltcG9ydGU9IjgyLjQwIiBPYmpldG9JbXA9IjAyIj4KICAgICAgICAgICAgPGNmZGk6SW1wdWVzdG9zPgogICAgICAgICAgICAgICAgPGNmZGk6VHJhc2xhZG9zPgogICAgICAgICAgICAgICAgICAgIDxjZmRpOlRyYXNsYWRvIEJhc2U9IjgyLjQwIiBJbXB1ZXN0bz0iMDAyIiBUaXBvRmFjdG9yPSJUYXNhIiBUYXNhT0N1b3RhPSIwLjE2MDAwMCIgSW1wb3J0ZT0iMTMuMTg0Ii8+CiAgICAgICAgICAgICAgICA8L2NmZGk6VHJhc2xhZG9zPgogICAgICAgICAgICA8L2NmZGk6SW1wdWVzdG9zPgogICAgICAgIDwvY2ZkaTpDb25jZXB0bz4KICAgICAgICA8Y2ZkaTpDb25jZXB0byBDbGF2ZVByb2RTZXJ2PSIzMTIwMTYwMCIgQ2FudGlkYWQ9IjEiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJLSVQgUEVHQU1FTlRPIFRFQ0hOT1ZJVCAoQ09OIFRBQ09OIE1BREVSQSkgQ0QuIEpVQVJFWiAiIFZhbG9yVW5pdGFyaW89IjE4NTAuMDAiIEltcG9ydGU9IjE4NTAuMDAiIE9iamV0b0ltcD0iMDIiPgogICAgICAgICAgICA8Y2ZkaTpJbXB1ZXN0b3M+CiAgICAgICAgICAgICAgICA8Y2ZkaTpUcmFzbGFkb3M+CiAgICAgICAgICAgICAgICAgICAgPGNmZGk6VHJhc2xhZG8gQmFzZT0iMTg1MC4wMCIgSW1wdWVzdG89IjAwMiIgVGlwb0ZhY3Rvcj0iRXhlbnRvIi8+CiAgICAgICAgICAgICAgICA8L2NmZGk6VHJhc2xhZG9zPgogICAgICAgICAgICA8L2NmZGk6SW1wdWVzdG9zPgogICAgICAgIDwvY2ZkaTpDb25jZXB0bz4KICAgICAgICA8Y2ZkaTpDb25jZXB0byBDbGF2ZVByb2RTZXJ2PSI1MzEwMjcwNCIgQ2FudGlkYWQ9IjgiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJNQU5ESUwgUFJFTUlVTSBHQiBHUkFOREUgUEFSQSBPUkRFw5FBIEdBTCIgVmFsb3JVbml0YXJpbz0iMTg1LjAwIiBJbXBvcnRlPSIxNDgwLjAwIiBPYmpldG9JbXA9IjAyIj4KICAgICAgICAgICAgPGNmZGk6SW1wdWVzdG9zPgogICAgICAgICAgICAgICAgPGNmZGk6VHJhc2xhZG9zPgogICAgICAgICAgICAgICAgICAgIDxjZmRpOlRyYXNsYWRvIEJhc2U9IjE0ODAuMDAiIEltcHVlc3RvPSIwMDIiIFRpcG9GYWN0b3I9IlRhc2EiIFRhc2FPQ3VvdGE9IjAuMTYwMDAwIiBJbXBvcnRlPSIyMzYuODAiLz4KICAgICAgICAgICAgICAgIDwvY2ZkaTpUcmFzbGFkb3M+CiAgICAgICAgICAgIDwvY2ZkaTpJbXB1ZXN0b3M+CiAgICAgICAgPC9jZmRpOkNvbmNlcHRvPgogICAgPC9jZmRpOkNvbmNlcHRvcz4KICAgIDxjZmRpOkltcHVlc3RvcyBUb3RhbEltcHVlc3Rvc1RyYXNsYWRhZG9zPSIzNjAuMzgiPgogICAgICAgIDxjZmRpOlRyYXNsYWRvcz4KICAgICAgICAgICAgPGNmZGk6VHJhc2xhZG8gQmFzZT0iMTg1MC4wMCIgSW1wdWVzdG89IjAwMiIgVGlwb0ZhY3Rvcj0iRXhlbnRvIi8+CiAgICAgICAgICAgIDxjZmRpOlRyYXNsYWRvIEJhc2U9IjIyNTIuNDAiIEltcHVlc3RvPSIwMDIiIFRpcG9GYWN0b3I9IlRhc2EiIFRhc2FPQ3VvdGE9IjAuMTYwMDAwIiBJbXBvcnRlPSIzNjAuMzgiLz4KICAgICAgICA8L2NmZGk6VHJhc2xhZG9zPgogICAgPC9jZmRpOkltcHVlc3Rvcz4KICAgIDxjZmRpOkNvbXBsZW1lbnRvPgogICAgICAgIDx0ZmQ6VGltYnJlRmlzY2FsRGlnaXRhbCB4bWxuczp0ZmQ9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9UaW1icmVGaXNjYWxEaWdpdGFsIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9UaW1icmVGaXNjYWxEaWdpdGFsIGh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvVGltYnJlRmlzY2FsRGlnaXRhbC9UaW1icmVGaXNjYWxEaWdpdGFsdjExLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgVmVyc2lvbj0iMS4xIiBVVUlEPSI5QjgxMkNENS1BMDM5LUU5NEUtQjlGQy01MDczQ0Y2QzQ3NkYiIEZlY2hhVGltYnJhZG89IjIwMjItMDYtMTVUMDk6NDM6NTAiIFJmY1Byb3ZDZXJ0aWY9IlNDRDExMDEwNTY1NCIgU2VsbG9DRkQ9ImdiOVNpQ3BQdVk1dERVKzg3eGdKcHVyL1l1MC9pZE53S3V5Mi9jdHJTY0ZQUU14bEVHNUllcVp3aTkvaGdwWVZGajNyZXlQeDBKVExPMHpYR0kwRVRxVHFMU2xPKzVoR04rOFlROWptdzlsOFdBSXpuQkNUaXA1Y1VqYUpTTmEwejJqZjhURTJCR0RpYVlqWXdaamxLR2c0amtwYzdMN2x3NVRIbW51WW14MStYMkl5UlZsU1J5VllkRGt5SjllZzdGeUcvcjJlbGlsQVRGbHcyS1dnWDVaQ21SS3BucWRjZ25jVXdtTFQ1ckFvMWlhSkwwTmV0TW5BazZjM2pmOXNxTTJSVDNiMU9ldCtpVzBzTklFTWpRK0pndDlzWWFPb1VkMVJzTDZ0VGlJYTROSzZvMDdNT29Ta1BYQzEwSmdaTUhlVmErcElzOXh0Ukc0cEd3cnUrZz09IiBOb0NlcnRpZmljYWRvU0FUPSIwMDAwMTAwMDAwMDUwMjAwMDQzNiIgU2VsbG9TQVQ9IlRjOHdjNVkwSGJSM213RndSaWVOcEkvbjRRbzhSWUFsNlBqMzhVd2lQT05lTTFDbC9HN0tvc3lqWWZNdDh2a1FlbHBPMXhNZGZJcFJhZWZUMlVkYXRRMjN5UVJieDg0RzF5dGlLT1JWWkZYai91Tjh6V2VlcE5OM0pWeGYyMXYvdlRxS2hTcXhVN3FZRmZGclZMTHdjSEhGU2lGWElVNVhKOUUrTk0zOXl6bStIZWVMem53VUp0ZFNuTDVROVN2TTNPQllTY2tDRXZmWVRuemVsNktBMjByYlpYemRuSlRnTDlVd21PZUMzSElvRjJGY0Vrb3I5UTdvQjRvSGxEbmVad2ZsaFIvMWtTLzRWV1U0aU5JQjhtSWQ4TFBaYkU4a0MzU25mNW45WlJPdGdiQUFWYmNLUlBPM0R4S2xOcGZSRnNoRElsL0k5ZkFRV25BcnRIdlR0Zz09Ii8+CiAgICA8L2NmZGk6Q29tcGxlbWVudG8+CjwvY2ZkaTpDb21wcm9iYW50ZT4=
3. Examples
The next decribes some examples on how to use the library to transform content (XML or JSON) as required. In the next example it is a valid object with full parameters that can be sent to te library to make a transformation from XML to JSON:
[
{
"content":"77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNmZGk6Q29tcHJvYmFudGUgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LnNhdC5nb2IubXgvY2ZkLzQgaHR0cDovL3d3dy5zYXQuZ29iLm14L3NpdGlvX2ludGVybmV0L2NmZC80L2NmZHY0MC54c2QiIHhtbG5zOmNmZGk9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9jZmQvNCIgVmVyc2lvbj0iNC4wIiBTZXJpZT0iR0IiIEZvbGlvPSIxNzkzNCIgRmVjaGE9IjIwMjItMDYtMTVUMDk6NDM6MjYiIFNlbGxvPSJnYjlTaUNwUHVZNXREVSs4N3hnSnB1ci9ZdTAvaWROd0t1eTIvY3RyU2NGUFFNeGxFRzVJZXFad2k5L2hncFlWRmozcmV5UHgwSlRMTzB6WEdJMEVUcVRxTFNsTys1aEdOKzhZUTlqbXc5bDhXQUl6bkJDVGlwNWNVamFKU05hMHoyamY4VEUyQkdEaWFZall3WmpsS0dnNGprcGM3TDdsdzVUSG1udVlteDErWDJJeVJWbFNSeVZZZERreUo5ZWc3RnlHL3IyZWxpbEFURmx3MktXZ1g1WkNtUktwbnFkY2duY1V3bUxUNXJBbzFpYUpMME5ldE1uQWs2YzNqZjlzcU0yUlQzYjFPZXQraVcwc05JRU1qUStKZ3Q5c1lhT29VZDFSc0w2dFRpSWE0Tks2bzA3TU9vU2tQWEMxMEpnWk1IZVZhK3BJczl4dFJHNHBHd3J1K2c9PSIgRm9ybWFQYWdvPSI5OSIgTm9DZXJ0aWZpY2Fkbz0iMDAwMDEwMDAwMDA1MDI5NjYxMDYiIENlcnRpZmljYWRvPSJNSUlGNlRDQ0E5R2dBd0lCQWdJVU1EQXdNREV3TURBd01EQTFNREk1TmpZeE1EWXdEUVlKS29aSWh2Y05BUUVMQlFBd2dnR0VNU0F3SGdZRFZRUUREQmRCVlZSUFVrbEVRVVFnUTBWU1ZFbEdTVU5CUkU5U1FURXVNQ3dHQTFVRUNnd2xVMFZTVmtsRFNVOGdSRVVnUVVSTlNVNUpVMVJTUVVOSlQwNGdWRkpKUWxWVVFWSkpRVEVhTUJnR0ExVUVDd3dSVTBGVUxVbEZVeUJCZFhSb2IzSnBkSGt4S2pBb0Jna3Foa2lHOXcwQkNRRVdHMk52Ym5SaFkzUnZMblJsWTI1cFkyOUFjMkYwTG1kdllpNXRlREVtTUNRR0ExVUVDUXdkUVZZdUlFaEpSRUZNUjA4Z056Y3NJRU5QVEM0Z1IxVkZVbEpGVWs4eERqQU1CZ05WQkJFTUJUQTJNekF3TVFzd0NRWURWUVFHRXdKTldERVpNQmNHQTFVRUNBd1FRMGxWUkVGRUlFUkZJRTFGV0VsRFR6RVRNQkVHQTFVRUJ3d0tRMVZCVlVoVVJVMVBRekVWTUJNR0ExVUVMUk1NVTBGVU9UY3dOekF4VGs0ek1Wd3dXZ1lKS29aSWh2Y05BUWtDRTAxeVpYTndiMjV6WVdKc1pUb2dRVVJOU1U1SlUxUlNRVU5KVDA0Z1EwVk9WRkpCVENCRVJTQlRSVkpXU1VOSlQxTWdWRkpKUWxWVVFWSkpUMU1nUVV3Z1EwOU9WRkpKUWxWWlJVNVVSVEFlRncweU1EQXhNekF4T0RBMk16aGFGdzB5TkRBeE16QXhPREEyTXpoYU1JRzNNU0l3SUFZRFZRUURFeGxIVlVGRVFVeFZVRVVnUWxKSlQwNUZVeUJCVGtSU1FVUkZNU0l3SUFZRFZRUXBFeGxIVlVGRVFVeFZVRVVnUWxKSlQwNUZVeUJCVGtSU1FVUkZNU0l3SUFZRFZRUUtFeGxIVlVGRVFVeFZVRVVnUWxKSlQwNUZVeUJCVGtSU1FVUkZNUll3RkFZRFZRUXRFdzFDU1VGSE5UVXhNVEl3VVRZMk1Sc3dHUVlEVlFRRkV4SkNTVUZITlRVeE1USXdUVU5NVWs1RU1ERXhGREFTQmdOVkJBc1RDMEpKUVVkVVQxSlNSVTlPTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF2Rkc0Njl5TnVDejU1ODQwRHozYXo5QzhsajMrRVJxZmYra2VUaDl6OVoreEVra0RGOEJZd2VmeDFBN0pwTEgvNVFBYmV1UHFTcUNnaXhOZ2swaHpUMEtWTkFvN2NSdFBFY3hoZ0RNRVBRZG12VzVETEZ2bzV1eEJiV2VDRUloSURsV3FabGJLS3JuaU1uaEpZK0dLK1dHbHY4YjRNd2VYdHhsOEFBL1hFN2ZvQlRJd2NXUkdVNjc4a3Q0eTZsUkkvekVWM0xsRllwbnZqMG9qRHB4WVhPakJQUFRTekRrNjBRMnNNR3M4TmRZTE03YkoycGVJaHdENUVteXdDK056cGF0UE9UZzdUbGJtL2NDQmVtdjZTVnBUS0ttM2xuMXM4RkRXcUc4eEtuSWlFaXFGSHk5akF4NmpGU2hodkEzMzJVSmF1L1M5ZTk3SkNlZEt4RnZjdndJREFRQUJveDB3R3pBTUJnTlZIUk1CQWY4RUFqQUFNQXNHQTFVZER3UUVBd0lHd0RBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQUp6ZDhJSjVWSVcvWEVMRUdiZzBtOThaWmlqNG5kMDNDQmpqTTFUeCtkTDFoWHI5a0pFWDloVnViVU1hdmNzS09SaEZtc1RiQTFUaTEvSTUxNDdtelRVTzBOMmlZdXA0eWlJMjRsOGdMTHpNTTJRUEUzMFNUc3FJSis2OUMramRzck16dHppSTZPV2Zqbkppb2JCMHlFcm5seWF4Q210eTU3NHlwelBTR3ZvbUpvNFlhb3NoUzRhMEp4VklsalphL296T3AzT1J5aDZWckp4VDJiTjFOT0hnMHcrT2J6Q0phR1YvMTAxS0QrMU1jSEVlRGlBRFByU21FTVNoVVdWQTNvV0tYUElGMUxBeW9mMmtUUW8yanVnTW1ab05nejRBZFM0cnNEcE1uZk1nWXJtSWozNHo1QmZNZTVvZ1VmcVZKUzBLc3NWN2lHb2VlYVNqTlV2N1hmZUNMMGsvZ0NRNlkyUFlJbzNld3dKYkFvSFNKcWNmYkUyd3plZENUbmZBYlc1Ymk1Q3FIQVR6TnMyK3k5ZG11a2JUM1Y0U3QvWnNJbG9uU2tKTUkyMDlUNFJuTURrREkzZEN6RW5PR1F4NlhJa0UveTNhdnRxeGtmNTUwRE4vc05UQW4zMkJhQlQzSEpicWd6UFVMVXhKMWlWZERsRmNBanhpUFlUVU5YZlg5SjA5aDMxUFBpL3Jxb3EwNDVVYk1JK3hDWEZrNHdMV1VCYXhJb0ZkdWYwNTU5N3ZqUHZuclo2UWJGZmV1WE43dHM1YjRDWnBhSCtHMFkyZWQzNTdvN2hvR0VxWDQ4NGxXT2o5dVZvUFMvanZGZnErRXlqTVVOMC9JL3FlSDlpTmVEOXg4Q3FGanIvRURYalkvcExKQ1g4RmM1bCtadkd3U1VBL2psNzJNSGNnPSIgQ29uZGljaW9uZXNEZVBhZ289IkNSRURJVE8iIFN1YlRvdGFsPSI0MTAyLjQwIiBNb25lZGE9Ik1YTiIgVG90YWw9IjQ0NjIuNzgiIFRpcG9EZUNvbXByb2JhbnRlPSJJIiBFeHBvcnRhY2lvbj0iMDEiIE1ldG9kb1BhZ289IlBQRCIgTHVnYXJFeHBlZGljaW9uPSIyNzExMCI+CiAgPGNmZGk6RW1pc29yIFJmYz0iQklBRzU1MTEyMFE2NiIgTm9tYnJlPSJHVUFEQUxVUEUgQlJJT05FUyBBTkRSQURFIiBSZWdpbWVuRmlzY2FsPSI2MTIiIC8+CiAgPGNmZGk6UmVjZXB0b3IgUmZjPSJHRVUwNTAyMTQ5NjUiIE5vbWJyZT0iR1JBTkpBIEVVQ0FMSVBUT1MiIERvbWljaWxpb0Zpc2NhbFJlY2VwdG9yPSIzNTEzMCIgUmVnaW1lbkZpc2NhbFJlY2VwdG9yPSI2MjIiIFVzb0NGREk9IkcwMSIgLz4KICA8Y2ZkaTpDb25jZXB0b3M+CiAgICA8Y2ZkaTpDb25jZXB0byBDbGF2ZVByb2RTZXJ2PSI0MjMxMTUwMCIgTm9JZGVudGlmaWNhY2lvbj0iMDM2MiIgQ2FudGlkYWQ9IjMwIiBDbGF2ZVVuaWRhZD0iSDg3IiBVbmlkYWQ9IlBJRVpBIiBEZXNjcmlwY2lvbj0iVkVOREEgQ0FUVExFIFdSQVAgQ09GTEVYIEJZIEFORE9WRVIgQ0QgSlVBUkVaIENISUggMTM2NzgmI3hBOzE5ICAwNyAgMDgyMyAgOTAwMDExMC8yMDE5LTAxLTI5LzA3MCIgVmFsb3JVbml0YXJpbz0iMjMuMDAiIEltcG9ydGU9IjY5MC4wMCIgT2JqZXRvSW1wPSIwMiI+CiAgICAgIDxjZmRpOkltcHVlc3Rvcz4KICAgICAgICA8Y2ZkaTpUcmFzbGFkb3M+CiAgICAgICAgICA8Y2ZkaTpUcmFzbGFkbyBCYXNlPSI2OTAuMDAiIEltcHVlc3RvPSIwMDIiIFRpcG9GYWN0b3I9IlRhc2EiIFRhc2FPQ3VvdGE9IjAuMTYwMDAwIiBJbXBvcnRlPSIxMTAuNDAiIC8+CiAgICAgICAgPC9jZmRpOlRyYXNsYWRvcz4KICAgICAgPC9jZmRpOkltcHVlc3Rvcz4KICAgICAgPGNmZGk6SW5mb3JtYWNpb25BZHVhbmVyYSBOdW1lcm9QZWRpbWVudG89IjE5ICAwNyAgMDgyMyAgOTAwMDExMCIgLz4KICAgIDwvY2ZkaTpDb25jZXB0bz4KICAgIDxjZmRpOkNvbmNlcHRvIENsYXZlUHJvZFNlcnY9IjQyMTIxNTAwIiBDYW50aWRhZD0iNDAiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJKRVJJTkdBIERFIFBMQVNUSUNPIEdCIElOU1RSVU1FTlRBTCA1IE1MIENPTiBBR1VKQSAiIFZhbG9yVW5pdGFyaW89IjIuMDYiIEltcG9ydGU9IjgyLjQwIiBPYmpldG9JbXA9IjAyIj4KICAgICAgPGNmZGk6SW1wdWVzdG9zPgogICAgICAgIDxjZmRpOlRyYXNsYWRvcz4KICAgICAgICAgIDxjZmRpOlRyYXNsYWRvIEJhc2U9IjgyLjQwIiBJbXB1ZXN0bz0iMDAyIiBUaXBvRmFjdG9yPSJUYXNhIiBUYXNhT0N1b3RhPSIwLjE2MDAwMCIgSW1wb3J0ZT0iMTMuMTg0IiAvPgogICAgICAgIDwvY2ZkaTpUcmFzbGFkb3M+CiAgICAgIDwvY2ZkaTpJbXB1ZXN0b3M+CiAgICA8L2NmZGk6Q29uY2VwdG8+CiAgICA8Y2ZkaTpDb25jZXB0byBDbGF2ZVByb2RTZXJ2PSIzMTIwMTYwMCIgQ2FudGlkYWQ9IjEiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJLSVQgUEVHQU1FTlRPIFRFQ0hOT1ZJVCAoQ09OIFRBQ09OIE1BREVSQSkgQ0QuIEpVQVJFWiAiIFZhbG9yVW5pdGFyaW89IjE4NTAuMDAiIEltcG9ydGU9IjE4NTAuMDAiIE9iamV0b0ltcD0iMDIiPgogICAgICA8Y2ZkaTpJbXB1ZXN0b3M+CiAgICAgICAgPGNmZGk6VHJhc2xhZG9zPgogICAgICAgICAgPGNmZGk6VHJhc2xhZG8gQmFzZT0iMTg1MC4wMCIgSW1wdWVzdG89IjAwMiIgVGlwb0ZhY3Rvcj0iRXhlbnRvIiAvPgogICAgICAgIDwvY2ZkaTpUcmFzbGFkb3M+CiAgICAgIDwvY2ZkaTpJbXB1ZXN0b3M+CiAgICA8L2NmZGk6Q29uY2VwdG8+CiAgICA8Y2ZkaTpDb25jZXB0byBDbGF2ZVByb2RTZXJ2PSI1MzEwMjcwNCIgQ2FudGlkYWQ9IjgiIENsYXZlVW5pZGFkPSJIODciIFVuaWRhZD0iUElFWkEiIERlc2NyaXBjaW9uPSJNQU5ESUwgUFJFTUlVTSBHQiBHUkFOREUgUEFSQSBPUkRFw5FBIEdBTCIgVmFsb3JVbml0YXJpbz0iMTg1LjAwIiBJbXBvcnRlPSIxNDgwLjAwIiBPYmpldG9JbXA9IjAyIj4KICAgICAgPGNmZGk6SW1wdWVzdG9zPgogICAgICAgIDxjZmRpOlRyYXNsYWRvcz4KICAgICAgICAgIDxjZmRpOlRyYXNsYWRvIEJhc2U9IjE0ODAuMDAiIEltcHVlc3RvPSIwMDIiIFRpcG9GYWN0b3I9IlRhc2EiIFRhc2FPQ3VvdGE9IjAuMTYwMDAwIiBJbXBvcnRlPSIyMzYuODAiIC8+CiAgICAgICAgPC9jZmRpOlRyYXNsYWRvcz4KICAgICAgPC9jZmRpOkltcHVlc3Rvcz4KICAgIDwvY2ZkaTpDb25jZXB0bz4KICA8L2NmZGk6Q29uY2VwdG9zPgogIDxjZmRpOkltcHVlc3RvcyBUb3RhbEltcHVlc3Rvc1RyYXNsYWRhZG9zPSIzNjAuMzgiPgogICAgPGNmZGk6VHJhc2xhZG9zPgogICAgICA8Y2ZkaTpUcmFzbGFkbyBCYXNlPSIxODUwLjAwIiBJbXB1ZXN0bz0iMDAyIiBUaXBvRmFjdG9yPSJFeGVudG8iIC8+CiAgICAgIDxjZmRpOlRyYXNsYWRvIEJhc2U9IjIyNTIuNDAiIEltcHVlc3RvPSIwMDIiIFRpcG9GYWN0b3I9IlRhc2EiIFRhc2FPQ3VvdGE9IjAuMTYwMDAwIiBJbXBvcnRlPSIzNjAuMzgiIC8+CiAgICA8L2NmZGk6VHJhc2xhZG9zPgogIDwvY2ZkaTpJbXB1ZXN0b3M+CjxjZmRpOkNvbXBsZW1lbnRvPjx0ZmQ6VGltYnJlRmlzY2FsRGlnaXRhbCB4bWxuczp0ZmQ9Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9UaW1icmVGaXNjYWxEaWdpdGFsIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuc2F0LmdvYi5teC9UaW1icmVGaXNjYWxEaWdpdGFsIGh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvVGltYnJlRmlzY2FsRGlnaXRhbC9UaW1icmVGaXNjYWxEaWdpdGFsdjExLnhzZCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgVmVyc2lvbj0iMS4xIiBVVUlEPSI5QjgxMkNENS1BMDM5LUU5NEUtQjlGQy01MDczQ0Y2QzQ3NkYiIEZlY2hhVGltYnJhZG89IjIwMjItMDYtMTVUMDk6NDM6NTAiIFJmY1Byb3ZDZXJ0aWY9IlNDRDExMDEwNTY1NCIgU2VsbG9DRkQ9ImdiOVNpQ3BQdVk1dERVKzg3eGdKcHVyL1l1MC9pZE53S3V5Mi9jdHJTY0ZQUU14bEVHNUllcVp3aTkvaGdwWVZGajNyZXlQeDBKVExPMHpYR0kwRVRxVHFMU2xPKzVoR04rOFlROWptdzlsOFdBSXpuQkNUaXA1Y1VqYUpTTmEwejJqZjhURTJCR0RpYVlqWXdaamxLR2c0amtwYzdMN2x3NVRIbW51WW14MStYMkl5UlZsU1J5VllkRGt5SjllZzdGeUcvcjJlbGlsQVRGbHcyS1dnWDVaQ21SS3BucWRjZ25jVXdtTFQ1ckFvMWlhSkwwTmV0TW5BazZjM2pmOXNxTTJSVDNiMU9ldCtpVzBzTklFTWpRK0pndDlzWWFPb1VkMVJzTDZ0VGlJYTROSzZvMDdNT29Ta1BYQzEwSmdaTUhlVmErcElzOXh0Ukc0cEd3cnUrZz09IiBOb0NlcnRpZmljYWRvU0FUPSIwMDAwMTAwMDAwMDUwMjAwMDQzNiIgU2VsbG9TQVQ9IlRjOHdjNVkwSGJSM213RndSaWVOcEkvbjRRbzhSWUFsNlBqMzhVd2lQT05lTTFDbC9HN0tvc3lqWWZNdDh2a1FlbHBPMXhNZGZJcFJhZWZUMlVkYXRRMjN5UVJieDg0RzF5dGlLT1JWWkZYai91Tjh6V2VlcE5OM0pWeGYyMXYvdlRxS2hTcXhVN3FZRmZGclZMTHdjSEhGU2lGWElVNVhKOUUrTk0zOXl6bStIZWVMem53VUp0ZFNuTDVROVN2TTNPQllTY2tDRXZmWVRuemVsNktBMjByYlpYemRuSlRnTDlVd21PZUMzSElvRjJGY0Vrb3I5UTdvQjRvSGxEbmVad2ZsaFIvMWtTLzRWV1U0aU5JQjhtSWQ4TFBaYkU4a0MzU25mNW45WlJPdGdiQUFWYmNLUlBPM0R4S2xOcGZSRnNoRElsL0k5ZkFRV25BcnRIdlR0Zz09IiAvPgo8L2NmZGk6Q29tcGxlbWVudG8+PC9jZmRpOkNvbXByb2JhbnRlPgo="
}
]
In this example this XML file is encoded in base64 and is being transformed to a json format, the result is as follows:
{
"_declaration": {
"_attributes": {
"version": "1.0",
"encoding": "UTF-8"
}
},
"cfdi:Comprobante": {
"_attributes": {
"xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
"xsi:schemaLocation": "http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd",
"xmlns:cfdi": "http://www.sat.gob.mx/cfd/4",
"Version": "4.0",
"Serie": "GB",
"Folio": "17934",
"Fecha": "2022-06-15T09:43:26",
"Sello": "gb9SiCpPuY5tDU+87xgJpur/Yu0/idNwKuy2/ctrScFPQMxlEG5IeqZwi9/hgpYVFj3reyPx0JTLO0zXGI0ETqTqLSlO+5hGN+8YQ9jmw9l8WAIznBCTip5cUjaJSNa0z2jf8TE2BGDiaYjYwZjlKGg4jkpc7L7lw5THmnuYmx1+X2IyRVlSRyVYdDkyJ9eg7FyG/r2elilATFlw2KWgX5ZCmRKpnqdcgncUwmLT5rAo1iaJL0NetMnAk6c3jf9sqM2RT3b1Oet+iW0sNIEMjQ+Jgt9sYaOoUd1RsL6tTiIa4NK6o07MOoSkPXC10JgZMHeVa+pIs9xtRG4pGwru+g==",
"FormaPago": "99",
"NoCertificado": "00001000000502966106",
"Certificado": "MIIF6TCCA9GgAwIBAgIUMDAwMDEwMDAwMDA1MDI5NjYxMDYwDQYJKoZIhvcNAQELBQAwggGEMSAwHgYDVQQDDBdBVVRPUklEQUQgQ0VSVElGSUNBRE9SQTEuMCwGA1UECgwlU0VSVklDSU8gREUgQURNSU5JU1RSQUNJT04gVFJJQlVUQVJJQTEaMBgGA1UECwwRU0FULUlFUyBBdXRob3JpdHkxKjAoBgkqhkiG9w0BCQEWG2NvbnRhY3RvLnRlY25pY29Ac2F0LmdvYi5teDEmMCQGA1UECQwdQVYuIEhJREFMR08gNzcsIENPTC4gR1VFUlJFUk8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQQ0lVREFEIERFIE1FWElDTzETMBEGA1UEBwwKQ1VBVUhURU1PQzEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMVwwWgYJKoZIhvcNAQkCE01yZXNwb25zYWJsZTogQURNSU5JU1RSQUNJT04gQ0VOVFJBTCBERSBTRVJWSUNJT1MgVFJJQlVUQVJJT1MgQUwgQ09OVFJJQlVZRU5URTAeFw0yMDAxMzAxODA2MzhaFw0yNDAxMzAxODA2MzhaMIG3MSIwIAYDVQQDExlHVUFEQUxVUEUgQlJJT05FUyBBTkRSQURFMSIwIAYDVQQpExlHVUFEQUxVUEUgQlJJT05FUyBBTkRSQURFMSIwIAYDVQQKExlHVUFEQUxVUEUgQlJJT05FUyBBTkRSQURFMRYwFAYDVQQtEw1CSUFHNTUxMTIwUTY2MRswGQYDVQQFExJCSUFHNTUxMTIwTUNMUk5EMDExFDASBgNVBAsTC0JJQUdUT1JSRU9OMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvFG469yNuCz55840Dz3az9C8lj3+ERqff+keTh9z9Z+xEkkDF8BYwefx1A7JpLH/5QAbeuPqSqCgixNgk0hzT0KVNAo7cRtPEcxhgDMEPQdmvW5DLFvo5uxBbWeCEIhIDlWqZlbKKrniMnhJY+GK+WGlv8b4MweXtxl8AA/XE7foBTIwcWRGU678kt4y6lRI/zEV3LlFYpnvj0ojDpxYXOjBPPTSzDk60Q2sMGs8NdYLM7bJ2peIhwD5EmywC+NzpatPOTg7Tlbm/cCBemv6SVpTKKm3ln1s8FDWqG8xKnIiEiqFHy9jAx6jFShhvA332UJau/S9e97JCedKxFvcvwIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAJzd8IJ5VIW/XELEGbg0m98ZZij4nd03CBjjM1Tx+dL1hXr9kJEX9hVubUMavcsKORhFmsTbA1Ti1/I5147mzTUO0N2iYup4yiI24l8gLLzMM2QPE30STsqIJ+69C+jdsrMztziI6OWfjnJiobB0yErnlyaxCmty574ypzPSGvomJo4YaoshS4a0JxVIljZa/ozOp3ORyh6VrJxT2bN1NOHg0w+ObzCJaGV/101KD+1McHEeDiADPrSmEMShUWVA3oWKXPIF1LAyof2kTQo2jugMmZoNgz4AdS4rsDpMnfMgYrmIj34z5BfMe5ogUfqVJS0KssV7iGoeeaSjNUv7XfeCL0k/gCQ6Y2PYIo3ewwJbAoHSJqcfbE2wzedCTnfAbW5bi5CqHATzNs2+y9dmukbT3V4St/ZsIlonSkJMI209T4RnMDkDI3dCzEnOGQx6XIkE/y3avtqxkf550DN/sNTAn32BaBT3HJbqgzPULUxJ1iVdDlFcAjxiPYTUNXfX9J09h31PPi/rqoq045UbMI+xCXFk4wLWUBaxIoFduf05597vjPvnrZ6QbFfeuXN7ts5b4CZpaH+G0Y2ed357o7hoGEqX484lWOj9uVoPS/jvFfq+EyjMUN0/I/qeH9iNeD9x8CqFjr/EDXjY/pLJCX8Fc5l+ZvGwSUA/jl72MHcg=",
"CondicionesDePago": "CREDITO",
"SubTotal": "4102.40",
"Moneda": "MXN",
"Total": "4462.78",
"TipoDeComprobante": "I",
"Exportacion": "01",
"MetodoPago": "PPD",
"LugarExpedicion": "27110"
},
"cfdi:Emisor": {
"_attributes": {
"Rfc": "BIAG551120Q66",
"Nombre": "GUADALUPE BRIONES ANDRADE",
"RegimenFiscal": "612"
}
},
"cfdi:Receptor": {
"_attributes": {
"Rfc": "GEU050214965",
"Nombre": "GRANJA EUCALIPTOS",
"DomicilioFiscalReceptor": "35130",
"RegimenFiscalReceptor": "622",
"UsoCFDI": "G01"
}
},
"cfdi:Conceptos": {
"cfdi:Concepto": [
{
"_attributes": {
"ClaveProdServ": "42311500",
"NoIdentificacion": "0362",
"Cantidad": "30",
"ClaveUnidad": "H87",
"Unidad": "PIEZA",
"Descripcion": "VENDA CATTLE WRAP COFLEX BY ANDOVER CD JUAREZ CHIH 13678\n19 07 0823 9000110/2019-01-29/070",
"ValorUnitario": "23.00",
"Importe": "690.00",
"ObjetoImp": "02"
},
"cfdi:Impuestos": {
"cfdi:Traslados": {
"cfdi:Traslado": {
"_attributes": {
"Base": "690.00",
"Impuesto": "002",
"TipoFactor": "Tasa",
"TasaOCuota": "0.160000",
"Importe": "110.40"
}
}
}
},
"cfdi:InformacionAduanera": {
"_attributes": {
"NumeroPedimento": "19 07 0823 9000110"
}
}
},
{
"_attributes": {
"ClaveProdServ": "42121500",
"Cantidad": "40",
"ClaveUnidad": "H87",
"Unidad": "PIEZA",
"Descripcion": "JERINGA DE PLASTICO GB INSTRUMENTAL 5 ML CON AGUJA ",
"ValorUnitario": "2.06",
"Importe": "82.40",
"ObjetoImp": "02"
},
"cfdi:Impuestos": {
"cfdi:Traslados": {
"cfdi:Traslado": {
"_attributes": {
"Base": "82.40",
"Impuesto": "002",
"TipoFactor": "Tasa",
"TasaOCuota": "0.160000",
"Importe": "13.184"
}
}
}
}
},
{
"_attributes": {
"ClaveProdServ": "31201600",
"Cantidad": "1",
"ClaveUnidad": "H87",
"Unidad": "PIEZA",
"Descripcion": "KIT PEGAMENTO TECHNOVIT (CON TACON MADERA) CD. JUAREZ ",
"ValorUnitario": "1850.00",
"Importe": "1850.00",
"ObjetoImp": "02"
},
"cfdi:Impuestos": {
"cfdi:Traslados": {
"cfdi:Traslado": {
"_attributes": {
"Base": "1850.00",
"Impuesto": "002",
"TipoFactor": "Exento"
}
}
}
}
},
{
"_attributes": {
"ClaveProdServ": "53102704",
"Cantidad": "8",
"ClaveUnidad": "H87",
"Unidad": "PIEZA",
"Descripcion": "MANDIL PREMIUM GB GRANDE PARA ORDEÑA GAL",
"ValorUnitario": "185.00",
"Importe": "1480.00",
"ObjetoImp": "02"
},
"cfdi:Impuestos": {
"cfdi:Traslados": {
"cfdi:Traslado": {
"_attributes": {
"Base": "1480.00",
"Impuesto": "002",
"TipoFactor": "Tasa",
"TasaOCuota": "0.160000",
"Importe": "236.80"
}
}
}
}
}
]
},
"cfdi:Impuestos": {
"_attributes": {
"TotalImpuestosTrasladados": "360.38"
},
"cfdi:Traslados": {
"cfdi:Traslado": [
{
"_attributes": {
"Base": "1850.00",
"Impuesto": "002",
"TipoFactor": "Exento"
}
},
{
"_attributes": {
"Base": "2252.40",
"Impuesto": "002",
"TipoFactor": "Tasa",
"TasaOCuota": "0.160000",
"Importe": "360.38"
}
}
]
}
},
"cfdi:Complemento": {
"tfd:TimbreFiscalDigital": {
"_attributes": {
"xmlns:tfd": "http://www.sat.gob.mx/TimbreFiscalDigital",
"xsi:schemaLocation": "http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd",
"xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
"Version": "1.1",
"UUID": "9B812CD5-A039-E94E-B9FC-5073CF6C476F",
"FechaTimbrado": "2022-06-15T09:43:50",
"RfcProvCertif": "SCD110105654",
"SelloCFD": "gb9SiCpPuY5tDU+87xgJpur/Yu0/idNwKuy2/ctrScFPQMxlEG5IeqZwi9/hgpYVFj3reyPx0JTLO0zXGI0ETqTqLSlO+5hGN+8YQ9jmw9l8WAIznBCTip5cUjaJSNa0z2jf8TE2BGDiaYjYwZjlKGg4jkpc7L7lw5THmnuYmx1+X2IyRVlSRyVYdDkyJ9eg7FyG/r2elilATFlw2KWgX5ZCmRKpnqdcgncUwmLT5rAo1iaJL0NetMnAk6c3jf9sqM2RT3b1Oet+iW0sNIEMjQ+Jgt9sYaOoUd1RsL6tTiIa4NK6o07MOoSkPXC10JgZMHeVa+pIs9xtRG4pGwru+g==",
"NoCertificadoSAT": "00001000000502000436",
"SelloSAT": "Tc8wc5Y0HbR3mwFwRieNpI/n4Qo8RYAl6Pj38UwiPONeM1Cl/G7KosyjYfMt8vkQelpO1xMdfIpRaefT2UdatQ23yQRbx84G1ytiKORVZFXj/uN8zWeepNN3JVxf21v/vTqKhSqxU7qYFfFrVLLwcHHFSiFXIU5XJ9E+NM39yzm+HeeLznwUJtdSnL5Q9SvM3OBYSckCEvfYTnzel6KA20rbZXzdnJTgL9UwmOeC3HIoF2FcEkor9Q7oB4oHlDneZwflhR/1kS/4VWU4iNIB8mId8LPZbE8kC3Snf5n9ZROtgbAAVbcKRPO3DxKlNpfRFshDIl/I9fAQWnArtHvTtg=="
}
}
}
}
}
Another example is to make a transformation from a JSON to XML that is the opposite of the last process, it is required that the json data is in base64 encoding:
[
{
"content": "ew0KICAgICJfZGVjbGFyYXRpb24iOiB7DQogICAgICAgICJfYXR0cmlidXRlcyI6IHsNCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMCIsDQogICAgICAgICAgICAiZW5jb2RpbmciOiAiVVRGLTgiDQogICAgICAgIH0NCiAgICB9LA0KICAgICJjZmRpOkNvbXByb2JhbnRlIjogew0KICAgICAgICAiX2F0dHJpYnV0ZXMiOiB7DQogICAgICAgICAgICAieG1sbnM6eHNpIjogImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiwNCiAgICAgICAgICAgICJ4c2k6c2NoZW1hTG9jYXRpb24iOiAiaHR0cDovL3d3dy5zYXQuZ29iLm14L2NmZC80IGh0dHA6Ly93d3cuc2F0LmdvYi5teC9zaXRpb19pbnRlcm5ldC9jZmQvNC9jZmR2NDAueHNkIiwNCiAgICAgICAgICAgICJ4bWxuczpjZmRpIjogImh0dHA6Ly93d3cuc2F0LmdvYi5teC9jZmQvNCIsDQogICAgICAgICAgICAiVmVyc2lvbiI6ICI0LjAiLA0KICAgICAgICAgICAgIlNlcmllIjogIkdCIiwNCiAgICAgICAgICAgICJGb2xpbyI6ICIxNzkzNCIsDQogICAgICAgICAgICAiRmVjaGEiOiAiMjAyMi0wNi0xNVQwOTo0MzoyNiIsDQogICAgICAgICAgICAiU2VsbG8iOiAiZ2I5U2lDcFB1WTV0RFUrODd4Z0pwdXIvWXUwL2lkTndLdXkyL2N0clNjRlBRTXhsRUc1SWVxWndpOS9oZ3BZVkZqM3JleVB4MEpUTE8welhHSTBFVHFUcUxTbE8rNWhHTis4WVE5am13OWw4V0FJem5CQ1RpcDVjVWphSlNOYTB6MmpmOFRFMkJHRGlhWWpZd1pqbEtHZzRqa3BjN0w3bHc1VEhtbnVZbXgxK1gySXlSVmxTUnlWWWREa3lKOWVnN0Z5Ry9yMmVsaWxBVEZsdzJLV2dYNVpDbVJLcG5xZGNnbmNVd21MVDVyQW8xaWFKTDBOZXRNbkFrNmMzamY5c3FNMlJUM2IxT2V0K2lXMHNOSUVNalErSmd0OXNZYU9vVWQxUnNMNnRUaUlhNE5LNm8wN01Pb1NrUFhDMTBKZ1pNSGVWYStwSXM5eHRSRzRwR3dydStnPT0iLA0KICAgICAgICAgICAgIkZvcm1hUGFnbyI6ICI5OSIsDQogICAgICAgICAgICAiTm9DZXJ0aWZpY2FkbyI6ICIwMDAwMTAwMDAwMDUwMjk2NjEwNiIsDQogICAgICAgICAgICAiQ2VydGlmaWNhZG8iOiAiTUlJRjZUQ0NBOUdnQXdJQkFnSVVNREF3TURFd01EQXdNREExTURJNU5qWXhNRFl3RFFZSktvWklodmNOQVFFTEJRQXdnZ0dFTVNBd0hnWURWUVFEREJkQlZWUlBVa2xFUVVRZ1EwVlNWRWxHU1VOQlJFOVNRVEV1TUN3R0ExVUVDZ3dsVTBWU1ZrbERTVThnUkVVZ1FVUk5TVTVKVTFSU1FVTkpUMDRnVkZKSlFsVlVRVkpKUVRFYU1CZ0dBMVVFQ3d3UlUwRlVMVWxGVXlCQmRYUm9iM0pwZEhreEtqQW9CZ2txaGtpRzl3MEJDUUVXRzJOdmJuUmhZM1J2TG5SbFkyNXBZMjlBYzJGMExtZHZZaTV0ZURFbU1DUUdBMVVFQ1F3ZFFWWXVJRWhKUkVGTVIwOGdOemNzSUVOUFRDNGdSMVZGVWxKRlVrOHhEakFNQmdOVkJCRU1CVEEyTXpBd01Rc3dDUVlEVlFRR0V3Sk5XREVaTUJjR0ExVUVDQXdRUTBsVlJFRkVJRVJGSUUxRldFbERUekVUTUJFR0ExVUVCd3dLUTFWQlZVaFVSVTFQUXpFVk1CTUdBMVVFTFJNTVUwRlVPVGN3TnpBeFRrNHpNVnd3V2dZSktvWklodmNOQVFrQ0UwMXlaWE53YjI1ellXSnNaVG9nUVVSTlNVNUpVMVJTUVVOSlQwNGdRMFZPVkZKQlRDQkVSU0JUUlZKV1NVTkpUMU1nVkZKSlFsVlVRVkpKVDFNZ1FVd2dRMDlPVkZKSlFsVlpSVTVVUlRBZUZ3MHlNREF4TXpBeE9EQTJNemhhRncweU5EQXhNekF4T0RBMk16aGFNSUczTVNJd0lBWURWUVFERXhsSFZVRkVRVXhWVUVVZ1FsSkpUMDVGVXlCQlRrUlNRVVJGTVNJd0lBWURWUVFwRXhsSFZVRkVRVXhWVUVVZ1FsSkpUMDVGVXlCQlRrUlNRVVJGTVNJd0lBWURWUVFLRXhsSFZVRkVRVXhWVUVVZ1FsSkpUMDVGVXlCQlRrUlNRVVJGTVJZd0ZBWURWUVF0RXcxQ1NVRkhOVFV4TVRJd1VUWTJNUnN3R1FZRFZRUUZFeEpDU1VGSE5UVXhNVEl3VFVOTVVrNUVNREV4RkRBU0JnTlZCQXNUQzBKSlFVZFVUMUpTUlU5T01JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdkZHNDY5eU51Q3o1NTg0MER6M2F6OUM4bGozK0VScWZmK2tlVGg5ejlaK3hFa2tERjhCWXdlZngxQTdKcExILzVRQWJldVBxU3FDZ2l4TmdrMGh6VDBLVk5BbzdjUnRQRWN4aGdETUVQUWRtdlc1RExGdm81dXhCYldlQ0VJaElEbFdxWmxiS0tybmlNbmhKWStHSytXR2x2OGI0TXdlWHR4bDhBQS9YRTdmb0JUSXdjV1JHVTY3OGt0NHk2bFJJL3pFVjNMbEZZcG52ajBvakRweFlYT2pCUFBUU3pEazYwUTJzTUdzOE5kWUxNN2JKMnBlSWh3RDVFbXl3QytOenBhdFBPVGc3VGxibS9jQ0JlbXY2U1ZwVEtLbTNsbjFzOEZEV3FHOHhLbklpRWlxRkh5OWpBeDZqRlNoaHZBMzMyVUphdS9TOWU5N0pDZWRLeEZ2Y3Z3SURBUUFCb3gwd0d6QU1CZ05WSFJNQkFmOEVBakFBTUFzR0ExVWREd1FFQXdJR3dEQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFKemQ4SUo1VklXL1hFTEVHYmcwbTk4WlppajRuZDAzQ0Jqak0xVHgrZEwxaFhyOWtKRVg5aFZ1YlVNYXZjc0tPUmhGbXNUYkExVGkxL0k1MTQ3bXpUVU8wTjJpWXVwNHlpSTI0bDhnTEx6TU0yUVBFMzBTVHNxSUorNjlDK2pkc3JNenR6aUk2T1dmam5KaW9iQjB5RXJubHlheENtdHk1NzR5cHpQU0d2b21KbzRZYW9zaFM0YTBKeFZJbGpaYS9vek9wM09SeWg2VnJKeFQyYk4xTk9IZzB3K09iekNKYUdWLzEwMUtEKzFNY0hFZURpQURQclNtRU1TaFVXVkEzb1dLWFBJRjFMQXlvZjJrVFFvMmp1Z01tWm9OZ3o0QWRTNHJzRHBNbmZNZ1lybUlqMzR6NUJmTWU1b2dVZnFWSlMwS3NzVjdpR29lZWFTak5VdjdYZmVDTDBrL2dDUTZZMlBZSW8zZXd3SmJBb0hTSnFjZmJFMnd6ZWRDVG5mQWJXNWJpNUNxSEFUek5zMit5OWRtdWtiVDNWNFN0L1pzSWxvblNrSk1JMjA5VDRSbk1Ea0RJM2RDekVuT0dReDZYSWtFL3kzYXZ0cXhrZjU1MEROL3NOVEFuMzJCYUJUM0hKYnFnelBVTFV4SjFpVmREbEZjQWp4aVBZVFVOWGZYOUowOWgzMVBQaS9ycW9xMDQ1VWJNSSt4Q1hGazR3TFdVQmF4SW9GZHVmMDU1OTd2alB2bnJaNlFiRmZldVhON3RzNWI0Q1pwYUgrRzBZMmVkMzU3bzdob0dFcVg0ODRsV09qOXVWb1BTL2p2RmZxK0V5ak1VTjAvSS9xZUg5aU5lRDl4OENxRmpyL0VEWGpZL3BMSkNYOEZjNWwrWnZHd1NVQS9qbDcyTUhjZz0iLA0KICAgICAgICAgICAgIkNvbmRpY2lvbmVzRGVQYWdvIjogIkNSRURJVE8iLA0KICAgICAgICAgICAgIlN1YlRvdGFsIjogIjQxMDIuNDAiLA0KICAgICAgICAgICAgIk1vbmVkYSI6ICJNWE4iLA0KICAgICAgICAgICAgIlRvdGFsIjogIjQ0NjIuNzgiLA0KICAgICAgICAgICAgIlRpcG9EZUNvbXByb2JhbnRlIjogIkkiLA0KICAgICAgICAgICAgIkV4cG9ydGFjaW9uIjogIjAxIiwNCiAgICAgICAgICAgICJNZXRvZG9QYWdvIjogIlBQRCIsDQogICAgICAgICAgICAiTHVnYXJFeHBlZGljaW9uIjogIjI3MTEwIg0KICAgICAgICB9LA0KICAgICAgICAiY2ZkaTpFbWlzb3IiOiB7DQogICAgICAgICAgICAiX2F0dHJpYnV0ZXMiOiB7DQogICAgICAgICAgICAgICAgIlJmYyI6ICJCSUFHNTUxMTIwUTY2IiwNCiAgICAgICAgICAgICAgICAiTm9tYnJlIjogIkdVQURBTFVQRSBCUklPTkVTIEFORFJBREUiLA0KICAgICAgICAgICAgICAgICJSZWdpbWVuRmlzY2FsIjogIjYxMiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgImNmZGk6UmVjZXB0b3IiOiB7DQogICAgICAgICAgICAiX2F0dHJpYnV0ZXMiOiB7DQogICAgICAgICAgICAgICAgIlJmYyI6ICJHRVUwNTAyMTQ5NjUiLA0KICAgICAgICAgICAgICAgICJOb21icmUiOiAiR1JBTkpBIEVVQ0FMSVBUT1MiLA0KICAgICAgICAgICAgICAgICJEb21pY2lsaW9GaXNjYWxSZWNlcHRvciI6ICIzNTEzMCIsDQogICAgICAgICAgICAgICAgIlJlZ2ltZW5GaXNjYWxSZWNlcHRvciI6ICI2MjIiLA0KICAgICAgICAgICAgICAgICJVc29DRkRJIjogIkcwMSINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgImNmZGk6Q29uY2VwdG9zIjogew0KICAgICAgICAgICAgImNmZGk6Q29uY2VwdG8iOiBbDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAiX2F0dHJpYnV0ZXMiOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAiQ2xhdmVQcm9kU2VydiI6ICI0MjMxMTUwMCIsDQogICAgICAgICAgICAgICAgICAgICAgICAiTm9JZGVudGlmaWNhY2lvbiI6ICIwMzYyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJDYW50aWRhZCI6ICIzMCIsDQogICAgICAgICAgICAgICAgICAgICAgICAiQ2xhdmVVbmlkYWQiOiAiSDg3IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJVbmlkYWQiOiAiUElFWkEiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIkRlc2NyaXBjaW9uIjogIlZFTkRBIENBVFRMRSBXUkFQIENPRkxFWCBCWSBBTkRPVkVSIENEIEpVQVJFWiBDSElIIDEzNjc4XG4xOSAgMDcgIDA4MjMgIDkwMDAxMTAvMjAxOS0wMS0yOS8wNzAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIlZhbG9yVW5pdGFyaW8iOiAiMjMuMDAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIkltcG9ydGUiOiAiNjkwLjAwIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJPYmpldG9JbXAiOiAiMDIiDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICJjZmRpOkltcHVlc3RvcyI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJjZmRpOlRyYXNsYWRvcyI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2ZkaTpUcmFzbGFkbyI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9hdHRyaWJ1dGVzIjogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJhc2UiOiAiNjkwLjAwIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbXB1ZXN0byI6ICIwMDIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRpcG9GYWN0b3IiOiAiVGFzYSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGFzYU9DdW90YSI6ICIwLjE2MDAwMCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW1wb3J0ZSI6ICIxMTAuNDAiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICJjZmRpOkluZm9ybWFjaW9uQWR1YW5lcmEiOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAiX2F0dHJpYnV0ZXMiOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIk51bWVyb1BlZGltZW50byI6ICIxOSAgMDcgIDA4MjMgIDkwMDAxMTAiDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgIl9hdHRyaWJ1dGVzIjogew0KICAgICAgICAgICAgICAgICAgICAgICAgIkNsYXZlUHJvZFNlcnYiOiAiNDIxMjE1MDAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIkNhbnRpZGFkIjogIjQwIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJDbGF2ZVVuaWRhZCI6ICJIODciLA0KICAgICAgICAgICAgICAgICAgICAgICAgIlVuaWRhZCI6ICJQSUVaQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiRGVzY3JpcGNpb24iOiAiSkVSSU5HQSBERSBQTEFTVElDTyBHQiBJTlNUUlVNRU5UQUwgNSBNTCBDT04gQUdVSkEgIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJWYWxvclVuaXRhcmlvIjogIjIuMDYiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIkltcG9ydGUiOiAiODIuNDAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIk9iamV0b0ltcCI6ICIwMiINCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgImNmZGk6SW1wdWVzdG9zIjogew0KICAgICAgICAgICAgICAgICAgICAgICAgImNmZGk6VHJhc2xhZG9zIjogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjZmRpOlRyYXNsYWRvIjogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX2F0dHJpYnV0ZXMiOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmFzZSI6ICI4Mi40MCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW1wdWVzdG8iOiAiMDAyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaXBvRmFjdG9yIjogIlRhc2EiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRhc2FPQ3VvdGEiOiAiMC4xNjAwMDAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkltcG9ydGUiOiAiMTMuMTg0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICJfYXR0cmlidXRlcyI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICJDbGF2ZVByb2RTZXJ2IjogIjMxMjAxNjAwIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJDYW50aWRhZCI6ICIxIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJDbGF2ZVVuaWRhZCI6ICJIODciLA0KICAgICAgICAgICAgICAgICAgICAgICAgIlVuaWRhZCI6ICJQSUVaQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAiRGVzY3JpcGNpb24iOiAiS0lUIFBFR0FNRU5UTyBURUNITk9WSVQgKENPTiBUQUNPTiBNQURFUkEpIENELiBKVUFSRVogIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJWYWxvclVuaXRhcmlvIjogIjE4NTAuMDAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIkltcG9ydGUiOiAiMTg1MC4wMCIsDQogICAgICAgICAgICAgICAgICAgICAgICAiT2JqZXRvSW1wIjogIjAyIg0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAiY2ZkaTpJbXB1ZXN0b3MiOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAiY2ZkaTpUcmFzbGFkb3MiOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNmZGk6VHJhc2xhZG8iOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfYXR0cmlidXRlcyI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCYXNlIjogIjE4NTAuMDAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkltcHVlc3RvIjogIjAwMiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGlwb0ZhY3RvciI6ICJFeGVudG8iDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgIl9hdHRyaWJ1dGVzIjogew0KICAgICAgICAgICAgICAgICAgICAgICAgIkNsYXZlUHJvZFNlcnYiOiAiNTMxMDI3MDQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIkNhbnRpZGFkIjogIjgiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIkNsYXZlVW5pZGFkIjogIkg4NyIsDQogICAgICAgICAgICAgICAgICAgICAgICAiVW5pZGFkIjogIlBJRVpBIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJEZXNjcmlwY2lvbiI6ICJNQU5ESUwgUFJFTUlVTSBHQiBHUkFOREUgUEFSQSBPUkRFw5FBIEdBTCIsDQogICAgICAgICAgICAgICAgICAgICAgICAiVmFsb3JVbml0YXJpbyI6ICIxODUuMDAiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIkltcG9ydGUiOiAiMTQ4MC4wM