.\" Copyright (C) 2001 Information-technology Promotion Agency (IPA)
.\" Copyright (C) 2001-2009
.\"   National Institute of Advanced Industrial Science and Technology (AIST)
.\" This file is part of the m17n library documentation.
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU Free Documentation License, Version 1.2 or
.\" any later version published by the Free Software Foundation; with no
.\" Invariant Section, no Front-Cover Texts,
.\" and no Back-Cover Texts.  A copy of the license is included in the
.\" appendix entitled "GNU Free Documentation License".
.TH "mtext_serialize" 3m17n "15 Oct 2009" "" "Version 1.5.5" "" "The m17n Library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
mtext_serialize \- Serialize text properties in an M\-text. 


.SH SYNOPSIS
\fBMText\fP*
\fBmtext_serialize\fP (\fBMText\fP *
\fImt\fP, int
\fIfrom\fP, int
\fIto\fP, \fBMPlist\fP *
\fIproperty_list\fP)


.SH DESCRIPTION
Serialize text properties in an M\-text. 
.PP
The
.ft B
mtext_serialize()
.ft R
function serializes the text between
.ft B
from
.ft R
and
.ft B
to
.ft R
in M\-text
.ft B
mt\fP.
.ft R
The serialized result is an M\-text in a form of XML.
.ft B
property_list
.ft R
limits the text properties to be serialized. Only those text properties whose key
.PP
.PD 0
.IP "\(bu" 2
appears as the value of an element in
.ft B
property_list\fP,
.ft R
and 
.IP "\(bu" 2
has the symbol property
.ft B
Mtext_prop_serializer
.ft R
.PP
are serialized as a 'property' element in the resulting XML representation.
.PP
The DTD of the generated XML is as follows:
.PP
.PP
.nf

<!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>
 ]>
.fi
.fi
.PP
This function depends on the libxml2 library. If the m17n library is configured without libxml2, this function always fails.
.PP
.SH RETURN VALUE
.PP
.RS 4
If the operation was successful,
.ft B
mtext_serialize()
.ft R
returns an M\-text in the form of XML. Otherwise it returns
.ft C
NULL
.ft R
and assigns an error code to the external variable
.ft B
merror_code\fP.
.ft R
.RE
.PP
.SH "SEE ALSO"
.PP
.RS 4
\fBmtext_deserialize()\fP,
.ft R
.ft B
Mtext_prop_serializer
.ft R
.RE
.PP

.SH COPYRIGHT
Copyright (C) 2001 Information\-technology Promotion Agency (IPA)
.br
Copyright (C) 2001\-2009 National Institute of Advanced Industrial Science and Technology (AIST)
.br
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>.
