--- /dev/null
+Changed: ParameterHandler::print_parameters now pretty prints XML output.
+<br>
+(Marc Fehling, 2025/06/19)
boost::property_tree::ptree single_node_tree;
single_node_tree.add_child("ParameterHandler", current_entries);
- write_xml(out, single_node_tree);
+ // set indentation character and indentation length
+ boost::property_tree::xml_writer_settings<
+ boost::property_tree::ptree::key_type>
+ settings(' ', 2);
+
+ write_xml(out, single_node_tree, settings);
return out;
}
DEAL:parameters:Second Class::Second string: bye bye
DEAL::reading used_parameter_acceptor_05.xml
DEAL::<?xml version="1.0" encoding="utf-8"?>
-DEAL::<ParameterHandler><First_20Class><First_20bool>true</First_20bool><First_20double>7.7</First_20double><First_20int>3</First_20int><First_20string>hello</First_20string></First_20Class><Second_20Class><Second_20bool>false</Second_20bool><Second_20double>9.9</Second_20double><Second_20int>5</Second_20int><Second_20string>bye bye</Second_20string></Second_20Class></ParameterHandler>
+DEAL::<ParameterHandler>
+DEAL:: <First_20Class>
+DEAL:: <First_20bool>true</First_20bool>
+DEAL:: <First_20double>7.7</First_20double>
+DEAL:: <First_20int>3</First_20int>
+DEAL:: <First_20string>hello</First_20string>
+DEAL:: </First_20Class>
+DEAL:: <Second_20Class>
+DEAL:: <Second_20bool>false</Second_20bool>
+DEAL:: <Second_20double>9.9</Second_20double>
+DEAL:: <Second_20int>5</Second_20int>
+DEAL:: <Second_20string>bye bye</Second_20string>
+DEAL:: </Second_20Class>
+DEAL::</ParameterHandler>
DEAL::Generate and read input.xml
<?xml version="1.0" encoding="utf-8"?>
-<ParameterHandler><Test><A_20point><value>0, 0, 0</value><default_value>0, 0, 0</default_value><documentation/><pattern>1</pattern><pattern_description>[List of <[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]> of length 3...3 (inclusive)]</pattern_description><actions>0,1</actions></A_20point></Test></ParameterHandler>
+<ParameterHandler>
+ <Test>
+ <A_20point>
+ <value>0, 0, 0</value>
+ <default_value>0, 0, 0</default_value>
+ <documentation/>
+ <pattern>1</pattern>
+ <pattern_description>[List of <[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]> of length 3...3 (inclusive)]</pattern_description>
+ <actions>0,1</actions>
+ </A_20point>
+ </Test>
+</ParameterHandler>
+
DEAL::Generate and read input.json
{
"Test":
DEAL::XML format:
DEAL::========================================
<?xml version="1.0" encoding="utf-8"?>
-<ParameterHandler><Testing><A_20bool><value>true</value><default_value>true</default_value><documentation/><pattern>1</pattern><pattern_description>[Bool]</pattern_description><actions>1</actions></A_20bool><A_20double><value>1</value><default_value>1</default_value><documentation/><pattern>0</pattern><pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description><actions>0</actions></A_20double><A_20string><value>Ciao</value><default_value>Ciao</default_value><documentation/><pattern>2</pattern><pattern_description>[Anything]</pattern_description><actions>2</actions></A_20string></Testing></ParameterHandler>
+<ParameterHandler>
+ <Testing>
+ <A_20bool>
+ <value>true</value>
+ <default_value>true</default_value>
+ <documentation/>
+ <pattern>1</pattern>
+ <pattern_description>[Bool]</pattern_description>
+ <actions>1</actions>
+ </A_20bool>
+ <A_20double>
+ <value>1</value>
+ <default_value>1</default_value>
+ <documentation/>
+ <pattern>0</pattern>
+ <pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description>
+ <actions>0</actions>
+ </A_20double>
+ <A_20string>
+ <value>Ciao</value>
+ <default_value>Ciao</default_value>
+ <documentation/>
+ <pattern>2</pattern>
+ <pattern_description>[Anything]</pattern_description>
+ <actions>2</actions>
+ </A_20string>
+ </Testing>
+</ParameterHandler>
+
DEAL::JSON format:
DEAL::========================================
{
DEAL::ShortXML format:
DEAL::========================================
<?xml version="1.0" encoding="utf-8"?>
-<ParameterHandler><A_20double>1</A_20double><Section_20two><Another_20double>2</Another_20double></Section_20two></ParameterHandler>
+<ParameterHandler>
+ <A_20double>1</A_20double>
+ <Section_20two>
+ <Another_20double>2</Another_20double>
+ </Section_20two>
+</ParameterHandler>
+
DEAL::ShortJSON format:
DEAL::========================================
{
<?xml version="1.0" encoding="utf-8"?>
-<ParameterHandler><int1><value>2</value><default_value>1</default_value><documentation>doc 1</documentation><pattern>0</pattern><pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description></int1><int2><value>3</value><default_value>2</default_value><documentation>doc 2</documentation><pattern>1</pattern><pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description></int2><Testing_25testing><double_2bdouble><value>7.1415926</value><default_value>6.1415926</default_value><documentation>docs 3</documentation><pattern>6</pattern><pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description></double_2bdouble><int_2aint><value>2</value><default_value>2</default_value><documentation/><pattern>5</pattern><pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description></int_2aint><string_26list><value>__< & > ; /</value><default_value>< & > ; /</default_value><documentation>docs 1</documentation><pattern>4</pattern><pattern_description>[Anything]</pattern_description></string_26list></Testing_25testing><ss1><double_201><value>2.234</value><default_value>1.234</default_value><documentation>doc 3</documentation><pattern>2</pattern><pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description></double_201><ss2><double_202><value>5.321</value><default_value>4.321</default_value><documentation>doc 4</documentation><pattern>3</pattern><pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description></double_202></ss2></ss1></ParameterHandler>
+<ParameterHandler>
+ <int1>
+ <value>2</value>
+ <default_value>1</default_value>
+ <documentation>doc 1</documentation>
+ <pattern>0</pattern>
+ <pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description>
+ </int1>
+ <int2>
+ <value>3</value>
+ <default_value>2</default_value>
+ <documentation>doc 2</documentation>
+ <pattern>1</pattern>
+ <pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description>
+ </int2>
+ <Testing_25testing>
+ <double_2bdouble>
+ <value>7.1415926</value>
+ <default_value>6.1415926</default_value>
+ <documentation>docs 3</documentation>
+ <pattern>6</pattern>
+ <pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description>
+ </double_2bdouble>
+ <int_2aint>
+ <value>2</value>
+ <default_value>2</default_value>
+ <documentation/>
+ <pattern>5</pattern>
+ <pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description>
+ </int_2aint>
+ <string_26list>
+ <value>__< & > ; /</value>
+ <default_value>< & > ; /</default_value>
+ <documentation>docs 1</documentation>
+ <pattern>4</pattern>
+ <pattern_description>[Anything]</pattern_description>
+ </string_26list>
+ </Testing_25testing>
+ <ss1>
+ <double_201>
+ <value>2.234</value>
+ <default_value>1.234</default_value>
+ <documentation>doc 3</documentation>
+ <pattern>2</pattern>
+ <pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description>
+ </double_201>
+ <ss2>
+ <double_202>
+ <value>5.321</value>
+ <default_value>4.321</default_value>
+ <documentation>doc 4</documentation>
+ <pattern>3</pattern>
+ <pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description>
+ </double_202>
+ </ss2>
+ </ss1>
+</ParameterHandler>
+
<?xml version="1.0" encoding="utf-8"?>
-<ParameterHandler><int1><value>1</value><default_value>1</default_value><documentation>doc 1</documentation><pattern>0</pattern><pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description></int1><int2><value>2</value><default_value>2</default_value><documentation>doc 2</documentation><pattern>1</pattern><pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description></int2><Testing_25testing><double_2bdouble><value>6.1415926</value><default_value>6.1415926</default_value><documentation>docs 3</documentation><pattern>6</pattern><pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description></double_2bdouble><int_2aint><value>2</value><default_value>2</default_value><documentation/><pattern>5</pattern><pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description></int_2aint><string_26list><value>< & > ; /</value><default_value>< & > ; /</default_value><documentation>docs 1</documentation><pattern>4</pattern><pattern_description>[Anything]</pattern_description></string_26list></Testing_25testing><ss1><double_201><value>1.234</value><default_value>1.234</default_value><documentation>doc 3</documentation><pattern>2</pattern><pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description></double_201><ss2><double_202><value>4.321</value><default_value>4.321</default_value><documentation>doc 4</documentation><pattern>3</pattern><pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description></double_202></ss2></ss1></ParameterHandler>
+<ParameterHandler>
+ <int1>
+ <value>1</value>
+ <default_value>1</default_value>
+ <documentation>doc 1</documentation>
+ <pattern>0</pattern>
+ <pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description>
+ </int1>
+ <int2>
+ <value>2</value>
+ <default_value>2</default_value>
+ <documentation>doc 2</documentation>
+ <pattern>1</pattern>
+ <pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description>
+ </int2>
+ <Testing_25testing>
+ <double_2bdouble>
+ <value>6.1415926</value>
+ <default_value>6.1415926</default_value>
+ <documentation>docs 3</documentation>
+ <pattern>6</pattern>
+ <pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description>
+ </double_2bdouble>
+ <int_2aint>
+ <value>2</value>
+ <default_value>2</default_value>
+ <documentation/>
+ <pattern>5</pattern>
+ <pattern_description>[Integer range -2147483648...2147483647 (inclusive)]</pattern_description>
+ </int_2aint>
+ <string_26list>
+ <value>< & > ; /</value>
+ <default_value>< & > ; /</default_value>
+ <documentation>docs 1</documentation>
+ <pattern>4</pattern>
+ <pattern_description>[Anything]</pattern_description>
+ </string_26list>
+ </Testing_25testing>
+ <ss1>
+ <double_201>
+ <value>1.234</value>
+ <default_value>1.234</default_value>
+ <documentation>doc 3</documentation>
+ <pattern>2</pattern>
+ <pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description>
+ </double_201>
+ <ss2>
+ <double_202>
+ <value>4.321</value>
+ <default_value>4.321</default_value>
+ <documentation>doc 4</documentation>
+ <pattern>3</pattern>
+ <pattern_description>[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]</pattern_description>
+ </double_202>
+ </ss2>
+ </ss1>
+</ParameterHandler>
+
<?xml version="1.0" encoding="utf-8"?>
-<ParameterHandler><int1>1</int1><int2>2</int2><Testing_25testing><double_2bdouble>6.1415926</double_2bdouble><int_2aint>2</int_2aint><string_26list>< & > ; /</string_26list></Testing_25testing><ss1><double_201>1.234</double_201><ss2><double_202>4.321</double_202></ss2></ss1></ParameterHandler>
+<ParameterHandler>
+ <int1>1</int1>
+ <int2>2</int2>
+ <Testing_25testing>
+ <double_2bdouble>6.1415926</double_2bdouble>
+ <int_2aint>2</int_2aint>
+ <string_26list>< & > ; /</string_26list>
+ </Testing_25testing>
+ <ss1>
+ <double_201>1.234</double_201>
+ <ss2>
+ <double_202>4.321</double_202>
+ </ss2>
+ </ss1>
+</ParameterHandler>
+