Difference between revisions of "Xml (filter)"

From Mailutils
Jump to navigationJump to search
m
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
In encode mode, the <tt>xml</tt>  filter converts input stream (which must contain valid UTF-8 characters) into a form suitable for inclusion into a XML or HTML document, i.e. it replaces <tt>&lt;</tt>, <tt>&gt;</tt>, and <tt>&amp;</tt> with <tt>&amp;lt;</tt>, <tt>&amp;gt;</tt>, and <tt>&amp;amp;</tt>, correspondingly, and replaces [http://www.w3.org/TR/xml/#dt-charref invalid characters] with their [http://www.w3.org/TR/xml/#dt-charref numeric character reference] representation.
+
In encode mode, the <tt>xml</tt>  filter converts input stream (which must contain valid UTF-8 characters) into a form suitable for inclusion into a XML or HTML document, i.e. it replaces <tt>&lt;</tt>, <tt>&gt;</tt>, and <tt>&amp;</tt> with <tt>&amp;lt;</tt>, <tt>&amp;gt;</tt>, and <tt>&amp;amp;</tt>, correspondingly, and replaces [http://www.w3.org/TR/xml/#charsets invalid characters] with their [http://www.w3.org/TR/xml/#dt-charref numeric character reference] representation.
  
 
In ''decode'' mode, a reverse operation is performed.
 
In ''decode'' mode, a reverse operation is performed.
Line 18: Line 18:
 
   mu_stream_t input; /* Input stream */
 
   mu_stream_t input; /* Input stream */
 
   
 
   
   initialize_input_stream (&stream);
+
   initialize_input_stream (&input);
   rc = mu_filter_stream_create (&flt, input, "xml", MU_FILTER_DECODE, MU_STREAM_READ);
+
   rc = mu_filter_create (&flt, input, "xml", MU_FILTER_DECODE, MU_STREAM_READ);
 
</source>
 
</source>
 +
 +
== See also ==
 +
 +
* [[htmlent]]
  
 
[[Category:Filters]]
 
[[Category:Filters]]
 
[[Category:C API]]
 
[[Category:C API]]

Revision as of 19:11, 5 September 2015

In encode mode, the xml filter converts input stream (which must contain valid UTF-8 characters) into a form suitable for inclusion into a XML or HTML document, i.e. it replaces <, >, and & with &lt;, &gt;, and &amp;, correspondingly, and replaces invalid characters with their numeric character reference representation.

In decode mode, a reverse operation is performed.

The filter does not take arguments.

The following object, declared in mailutils/filter.h describes the filter:

extern mu_filter_record_t mu_xml_filter;

The example below shows how to create an instance of this filter in encode mode for reading:

  int rc;          /* Return code */
  mu_stream_t flt; /* Filter stream */
  mu_stream_t input; /* Input stream */
 
  initialize_input_stream (&input);
  rc = mu_filter_create (&flt, input, "xml", MU_FILTER_DECODE, MU_STREAM_READ);

See also