---
name: "mtext_serialize"
section: "3m17n"
platform: "linux"
package: "m17n-docs"
version: "1.8.4-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mtext_serialize"
---

# mtext\_serialize(3m17n)

## NAME

mtext\_serialize -

## SYNOPSIS

**MText**\* **mtext\_serialize** (**MText** \* *mt*, int *from*, int *to*, **MPlist** \* *property\_list*)

## DESCRIPTION

```
@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
```

## COPYRIGHT

Copyright (C) 2001 Information-technology Promotion Agency (IPA)\
 Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST)\
 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License  \<http://www.gnu.org/licenses/fdl.html\>.
