]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Pretty print XML output of ParameterHandler::print_parameters. 18572/head
authorMarc Fehling <mafehling.git@gmail.com>
Thu, 19 Jun 2025 08:41:46 +0000 (10:41 +0200)
committerMarc Fehling <mafehling.git@gmail.com>
Thu, 19 Jun 2025 09:08:40 +0000 (11:08 +0200)
doc/news/changes/minor/20250619Fehling [new file with mode: 0644]
source/base/parameter_handler.cc
tests/parameter_handler/parameter_acceptor_05.output
tests/parameter_handler/parameter_acceptor_09.output
tests/parameter_handler/parameter_handler_27.output
tests/parameter_handler/parameter_handler_28.output
tests/parameter_handler/parameter_handler_read_xml.output
tests/parameter_handler/parameter_handler_write_xml.output

diff --git a/doc/news/changes/minor/20250619Fehling b/doc/news/changes/minor/20250619Fehling
new file mode 100644 (file)
index 0000000..52ab3a3
--- /dev/null
@@ -0,0 +1,3 @@
+Changed: ParameterHandler::print_parameters now pretty prints XML output.
+<br>
+(Marc Fehling, 2025/06/19)
index 1e36a1bc841b68fdc7151eddea675c01b70bb273..8ab8a3453913bd9b378ed7050e1255e459d9885e 100644 (file)
@@ -1445,7 +1445,12 @@ ParameterHandler::print_parameters(std::ostream     &out,
       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;
     }
 
index 7357ac8dbab20816494032e786204e8a75d80c40..0bd2f9d3932f5e55663470433da409e6541663f0 100644 (file)
@@ -9,4 +9,17 @@ DEAL:parameters:Second Class::Second int: 5
 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>
index ca7aa0a93455af39e5c23bb75341d14087c02b7d..83f1e2c66d1785f428545ffc3de355791fad6785 100644 (file)
@@ -10,7 +10,19 @@ end
 
 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 &lt;[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]&gt; 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 &lt;[Double -MAX_DOUBLE...MAX_DOUBLE (inclusive)]&gt; of length 3...3 (inclusive)]</pattern_description>
+      <actions>0,1</actions>
+    </A_20point>
+  </Test>
+</ParameterHandler>
+
 DEAL::Generate and read input.json
 {
     "Test":
index db5c34a362123976500eed1969e9e3d45285a06c..3059eaf819850017547308ff48bdadc2988c7992 100644 (file)
@@ -14,7 +14,35 @@ end
 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::========================================
 {
index 76f17358848a17231002c175679e1fa273ab168e..24154dd1c935ee3a3e9209f59e513be3d0b8e1a5 100644 (file)
@@ -9,7 +9,13 @@ end
 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::========================================
 {
index d1ecf78ff863e15d2a73ab7f23355dea442b1487..1e8e0293dc704ad821c174c4dc6d7993487dcf92 100644 (file)
@@ -1,3 +1,60 @@
 
 <?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>__&lt; &amp; &gt; ; /</value><default_value>&lt; &amp; &gt; ; /</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>__&lt; &amp; &gt; ; /</value>
+      <default_value>&lt; &amp; &gt; ; /</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>
+
index d1a374dedcc849f3230e031cc208a5b6431e3a86..9136d95be07b64749227cab0286e8ee26c234aa9 100644 (file)
@@ -1,5 +1,77 @@
 
 <?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>&lt; &amp; &gt; ; /</value><default_value>&lt; &amp; &gt; ; /</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>&lt; &amp; &gt; ; /</value>
+      <default_value>&lt; &amp; &gt; ; /</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>&lt; &amp; &gt; ; /</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>&lt; &amp; &gt; ; /</string_26list>
+  </Testing_25testing>
+  <ss1>
+    <double_201>1.234</double_201>
+    <ss2>
+      <double_202>4.321</double_202>
+    </ss2>
+  </ss1>
+</ParameterHandler>
+

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.