@brief Serialize text properties in an M-text.
The mtext_serialize() function serializes the text between @b from
and @b to in M-text @b mt. The serialized result is an M-text in a
form of XML. @b property_list limits the text properties to be
serialized. Only those text properties whose key
@li appears as the value of an element in @b property_list, and
@li has the symbol property #Mtext_prop_serializer
are serialized as a "property" element in the resulting XML
representation.
The DTD of the generated XML is as follows:
<!DOCTYPE mtext [
<!ELEMENT mtext (property*,body+)>
<!ELEMENT property EMPTY>
<!ELEMENT body (#PCDATA)>
<!ATTLIST property key CDATA #REQUIRED>
<!ATTLIST property value CDATA #REQUIRED>
<!ATTLIST property from CDATA #REQUIRED>
<!ATTLIST property to CDATA #REQUIRED>
<!ATTLIST property control CDATA #REQUIRED>
]>
This function depends on the libxml2 library. If the m17n library
is configured without libxml2, this function always fails.
@par Return value:
If the operation was successful, mtext_serialize() returns an
M-text in the form of XML. Otherwise it returns @c NULL and assigns an
error code to the external variable #merror_code.
@par See Also:
mtext_deserialize(), #Mtext_prop_serializer