http://swpat.ffii.org/
Action against software patents
http://www.gnome.org/
Gnome2 Logo
http://www.w3.org/Status
W3C Logo
http://www.redhat.com/
Red Hat Logo
http://xmlsoft.org/
Made with Libxml2 Logo
Module xmlstring from libxml2
API Menu
../index.html
Main Menu
../docs.html
Developer Menu
../examples/index.html
Code Examples
index.html
API Menu
libxml-parser.html
Parser API
libxml-tree.html
Tree API
libxml-xmlreader.html
Reader API
../guidelines.html
XML Guidelines
../ChangeLog.html
ChangeLog
API Indexes
../APIchunk0.html
Alphabetic
../APIconstructors.html
Constructors
../APIfunctions.html
Functions/Types
../APIfiles.html
Modules
../APIsymbols.html
Symbols
Related links
http://mail.gnome.org/archives/xml/
Mail archive
http://xmlsoft.org/XSLT/
XSLT libxslt
http://phd.cs.unibo.it/gdome2/
DOM gdome2
http://www.aleksey.com/xmlsec/
XML-DSig xmlsec
ftp://xmlsoft.org/
FTP
http://www.zlatkovic.com/projects/libxml/
Windows binaries
http://www.blastwave.org/packages.php/libxml2
Solaris binaries
http://www.explain.com.au/oss/libxml2xslt.html
MacOsX binaries
http://libxmlplusplus.sourceforge.net/
C++ bindings
http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4
PHP bindings
http://sourceforge.net/projects/libxml2-pas/
Pascal bindings
http://rubyforge.org/projects/xml-tools/
Ruby bindings
http://tclxml.sourceforge.net/
Tcl bindings
http://bugzilla.gnome.org/buglist.cgi?product=libxml2
Bug Tracker
libxml-xmlschemastypes.html
Prev
libxml-xmlschemastypes.html
xmlschemastypes
index.html
Up
index.html
API documentation
../index.html
Home
../index.html
The XML C parser and toolkit of Gnome
libxml-xmlunicode.html
xmlunicode
libxml-xmlunicode.html
Next
type and interfaces needed for the internal string handling of the library, especially UTF8 processing.
Table of Contents
#define
#BAD_CAST
BAD_CAST
Typedef unsigned char
xmlChar
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlCharStrdup
xmlCharStrdup
(const char * cur)
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlCharStrndup
xmlCharStrndup
(const char * cur,
int len)
int
#xmlCheckUTF8
xmlCheckUTF8
(const unsigned char * utf)
int
#xmlGetUTF8Char
xmlGetUTF8Char
(const unsigned char * utf,
int * len)
int
#xmlStrEqual
xmlStrEqual
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2)
int
#xmlStrPrintf
xmlStrPrintf
(
libxml-xmlstring.html#xmlChar
xmlChar
* buf,
int len,
const
libxml-xmlstring.html#xmlChar
xmlChar
* msg,
... ...)
int
#xmlStrQEqual
xmlStrQEqual
(const
libxml-xmlstring.html#xmlChar
xmlChar
* pref,
const
libxml-xmlstring.html#xmlChar
xmlChar
* name,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str)
int
#xmlStrVPrintf
xmlStrVPrintf
(
libxml-xmlstring.html#xmlChar
xmlChar
* buf,
int len,
const
libxml-xmlstring.html#xmlChar
xmlChar
* msg,
va_list ap)
int
#xmlStrcasecmp
xmlStrcasecmp
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2)
const
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlStrcasestr
xmlStrcasestr
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str,
libxml-xmlstring.html#xmlChar
xmlChar
* val)
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlStrcat
xmlStrcat
(
libxml-xmlstring.html#xmlChar
xmlChar
* cur,
const
libxml-xmlstring.html#xmlChar
xmlChar
* add)
const
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlStrchr
xmlStrchr
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str,
libxml-xmlstring.html#xmlChar
xmlChar
val)
int
#xmlStrcmp
xmlStrcmp
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2)
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlStrdup
xmlStrdup
(const
libxml-xmlstring.html#xmlChar
xmlChar
* cur)
int
#xmlStrlen
xmlStrlen
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str)
int
#xmlStrncasecmp
xmlStrncasecmp
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2,
int len)
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlStrncat
xmlStrncat
(
libxml-xmlstring.html#xmlChar
xmlChar
* cur,
const
libxml-xmlstring.html#xmlChar
xmlChar
* add,
int len)
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlStrncatNew
xmlStrncatNew
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2,
int len)
int
#xmlStrncmp
xmlStrncmp
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2,
int len)
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlStrndup
xmlStrndup
(const
libxml-xmlstring.html#xmlChar
xmlChar
* cur,
int len)
const
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlStrstr
xmlStrstr
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str,
const
libxml-xmlstring.html#xmlChar
xmlChar
* val)
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlStrsub
xmlStrsub
(const
libxml-xmlstring.html#xmlChar
xmlChar
* str,
int start,
int len)
int
#xmlUTF8Charcmp
xmlUTF8Charcmp
(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* utf2)
int
#xmlUTF8Size
xmlUTF8Size
(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf)
int
#xmlUTF8Strlen
xmlUTF8Strlen
(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf)
int
#xmlUTF8Strloc
xmlUTF8Strloc
(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf,
const
libxml-xmlstring.html#xmlChar
xmlChar
* utfchar)
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlUTF8Strndup
xmlUTF8Strndup
(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf,
int len)
const
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlUTF8Strpos
xmlUTF8Strpos
(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf,
int pos)
int
#xmlUTF8Strsize
xmlUTF8Strsize
(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf,
int len)
libxml-xmlstring.html#xmlChar
xmlChar
*
#xmlUTF8Strsub
xmlUTF8Strsub
(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf,
int start,
int len)
Description
Macro: BAD_CAST
#define BAD_CAST
Macro to cast a string to an
libxml-xmlstring.html#xmlChar
xmlChar
* when one know its safe.
Function: xmlCharStrdup
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlCharStrdup		(const char * cur)
a strdup for char's to xmlChar's
cur
:
the input char *
Returns
:
a new
libxml-xmlstring.html#xmlChar
xmlChar
* or NULL
Function: xmlCharStrndup
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlCharStrndup		(const char * cur,
int len)
a strndup for char's to xmlChar's
cur
:
the input char *
len
:
the len of @cur
Returns
:
a new
libxml-xmlstring.html#xmlChar
xmlChar
* or NULL
Function: xmlCheckUTF8
int	xmlCheckUTF8			(const unsigned char * utf)
Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.
utf
:
Pointer to putative UTF-8 encoded string.
Returns
:
value: true if @utf is valid.
Function: xmlGetUTF8Char
int	xmlGetUTF8Char			(const unsigned char * utf,
int * len)
Read the first UTF8 character from @utf
utf
:
a sequence of UTF-8 encoded bytes
len
:
a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence.
Returns
:
the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)
Function: xmlStrEqual
int	xmlStrEqual			(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2)
Check if both string are equal of have same content Should be a bit more readable and faster than xmlStrEqual()
str1
:
the first
libxml-xmlstring.html#xmlChar
xmlChar
*
str2
:
the second
libxml-xmlstring.html#xmlChar
xmlChar
*
Returns
:
1 if they are equal, 0 if they are different
Function: xmlStrPrintf
int	xmlStrPrintf			(
libxml-xmlstring.html#xmlChar
xmlChar
* buf,
int len,
const
libxml-xmlstring.html#xmlChar
xmlChar
* msg,
... ...)
Formats @msg and places result into @buf.
buf
:
the result buffer.
len
:
the result buffer length.
msg
:
the message with printf formatting.
...
:
extra parameters for the message.
Returns
:
the number of
libxml-SAX.html#characters
characters
written to @buf or -1 if an error occurs.
Function: xmlStrQEqual
int	xmlStrQEqual			(const
libxml-xmlstring.html#xmlChar
xmlChar
* pref,
const
libxml-xmlstring.html#xmlChar
xmlChar
* name,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str)
Check if a QName is Equal to a given string
pref
:
the prefix of the QName
name
:
the localname of the QName
str
:
the second
libxml-xmlstring.html#xmlChar
xmlChar
*
Returns
:
1 if they are equal, 0 if they are different
Function: xmlStrVPrintf
int	xmlStrVPrintf			(
libxml-xmlstring.html#xmlChar
xmlChar
* buf,
int len,
const
libxml-xmlstring.html#xmlChar
xmlChar
* msg,
va_list ap)
Formats @msg and places result into @buf.
buf
:
the result buffer.
len
:
the result buffer length.
msg
:
the message with printf formatting.
ap
:
extra parameters for the message.
Returns
:
the number of
libxml-SAX.html#characters
characters
written to @buf or -1 if an error occurs.
Function: xmlStrcasecmp
int	xmlStrcasecmp			(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2)
a strcasecmp for xmlChar's
str1
:
the first
libxml-xmlstring.html#xmlChar
xmlChar
*
str2
:
the second
libxml-xmlstring.html#xmlChar
xmlChar
*
Returns
:
the integer result of the comparison
Function: xmlStrcasestr
const
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlStrcasestr		(const
libxml-xmlstring.html#xmlChar
xmlChar
* str,
libxml-xmlstring.html#xmlChar
xmlChar
* val)
a case-ignoring strstr for xmlChar's
str
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* array (haystack)
val
:
the
libxml-xmlstring.html#xmlChar
xmlChar
to search (needle)
Returns
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* for the first occurrence or NULL.
Function: xmlStrcat
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlStrcat		(
libxml-xmlstring.html#xmlChar
xmlChar
* cur,
const
libxml-xmlstring.html#xmlChar
xmlChar
* add)
a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.
cur
:
the original
libxml-xmlstring.html#xmlChar
xmlChar
* array
add
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* array added
Returns
:
a new
libxml-xmlstring.html#xmlChar
xmlChar
* containing the concatenated string.
Function: xmlStrchr
const
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlStrchr		(const
libxml-xmlstring.html#xmlChar
xmlChar
* str,
libxml-xmlstring.html#xmlChar
xmlChar
val)
a strchr for xmlChar's
str
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* array
val
:
the
libxml-xmlstring.html#xmlChar
xmlChar
to search
Returns
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* for the first occurrence or NULL.
Function: xmlStrcmp
int	xmlStrcmp			(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2)
a strcmp for xmlChar's
str1
:
the first
libxml-xmlstring.html#xmlChar
xmlChar
*
str2
:
the second
libxml-xmlstring.html#xmlChar
xmlChar
*
Returns
:
the integer result of the comparison
Function: xmlStrdup
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlStrdup		(const
libxml-xmlstring.html#xmlChar
xmlChar
* cur)
a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.
cur
:
the input
libxml-xmlstring.html#xmlChar
xmlChar
*
Returns
:
a new
libxml-xmlstring.html#xmlChar
xmlChar
* or NULL
Function: xmlStrlen
int	xmlStrlen			(const
libxml-xmlstring.html#xmlChar
xmlChar
* str)
length of a xmlChar's string
str
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* array
Returns
:
the number of
libxml-xmlstring.html#xmlChar
xmlChar
contained in the ARRAY.
Function: xmlStrncasecmp
int	xmlStrncasecmp			(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2,
int len)
a strncasecmp for xmlChar's
str1
:
the first
libxml-xmlstring.html#xmlChar
xmlChar
*
str2
:
the second
libxml-xmlstring.html#xmlChar
xmlChar
*
len
:
the max comparison length
Returns
:
the integer result of the comparison
Function: xmlStrncat
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlStrncat		(
libxml-xmlstring.html#xmlChar
xmlChar
* cur,
const
libxml-xmlstring.html#xmlChar
xmlChar
* add,
int len)
a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add.
cur
:
the original
libxml-xmlstring.html#xmlChar
xmlChar
* array
add
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* array added
len
:
the length of @add
Returns
:
a new
libxml-xmlstring.html#xmlChar
xmlChar
*, the original @cur is reallocated if needed and should not be freed
Function: xmlStrncatNew
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlStrncatNew		(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2,
int len)
same as xmlStrncat, but creates a new string. The original two strings are not freed.
str1
:
first
libxml-xmlstring.html#xmlChar
xmlChar
string
str2
:
second
libxml-xmlstring.html#xmlChar
xmlChar
string
len
:
the len of @str2
Returns
:
a new
libxml-xmlstring.html#xmlChar
xmlChar
* or NULL
Function: xmlStrncmp
int	xmlStrncmp			(const
libxml-xmlstring.html#xmlChar
xmlChar
* str1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* str2,
int len)
a strncmp for xmlChar's
str1
:
the first
libxml-xmlstring.html#xmlChar
xmlChar
*
str2
:
the second
libxml-xmlstring.html#xmlChar
xmlChar
*
len
:
the max comparison length
Returns
:
the integer result of the comparison
Function: xmlStrndup
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlStrndup		(const
libxml-xmlstring.html#xmlChar
xmlChar
* cur,
int len)
a strndup for array of xmlChar's
cur
:
the input
libxml-xmlstring.html#xmlChar
xmlChar
*
len
:
the len of @cur
Returns
:
a new
libxml-xmlstring.html#xmlChar
xmlChar
* or NULL
Function: xmlStrstr
const
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlStrstr		(const
libxml-xmlstring.html#xmlChar
xmlChar
* str,
const
libxml-xmlstring.html#xmlChar
xmlChar
* val)
a strstr for xmlChar's
str
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* array (haystack)
val
:
the
libxml-xmlstring.html#xmlChar
xmlChar
to search (needle)
Returns
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* for the first occurrence or NULL.
Function: xmlStrsub
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlStrsub		(const
libxml-xmlstring.html#xmlChar
xmlChar
* str,
int start,
int len)
Extract a substring of a given string
str
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* array (haystack)
start
:
the index of the first char (zero based)
len
:
the length of the substring
Returns
:
the
libxml-xmlstring.html#xmlChar
xmlChar
* for the first occurrence or NULL.
Function: xmlUTF8Charcmp
int	xmlUTF8Charcmp			(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf1,
const
libxml-xmlstring.html#xmlChar
xmlChar
* utf2)
compares the two UCS4 values
utf1
:
pointer to first UTF8 char
utf2
:
pointer to second UTF8 char
Returns
:
result of the compare as with
libxml-xmlstring.html#xmlStrncmp
xmlStrncmp
Function: xmlUTF8Size
int	xmlUTF8Size			(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf)
calculates the internal size of a UTF8 character
utf
:
pointer to the UTF8 character
Returns
:
the numbers of bytes in the character, -1 on format error
Function: xmlUTF8Strlen
int	xmlUTF8Strlen			(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf)
compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string.
utf
:
a sequence of UTF-8 encoded bytes
Returns
:
the number of
libxml-SAX.html#characters
characters
in the string or -1 in case of error
Function: xmlUTF8Strloc
int	xmlUTF8Strloc			(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf,
const
libxml-xmlstring.html#xmlChar
xmlChar
* utfchar)
a function to provide the relative location of a UTF8 char
utf
:
the input UTF8 *
utfchar
:
the UTF8 character to be found
Returns
:
the relative character position of the desired char or -1 if not found
Function: xmlUTF8Strndup
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlUTF8Strndup		(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf,
int len)
a strndup for array of UTF8's
utf
:
the input UTF8 *
len
:
the len of @utf (in chars)
Returns
:
a new UTF8 * or NULL
Function: xmlUTF8Strpos
const
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlUTF8Strpos		(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf,
int pos)
a function to provide the equivalent of fetching a character from a string array
utf
:
the input UTF8 *
pos
:
the position of the desired UTF8 char (in chars)
Returns
:
a pointer to the UTF8 character or NULL
Function: xmlUTF8Strsize
int	xmlUTF8Strsize			(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf,
int len)
storage size of an UTF8 string the behaviour is not garanteed if the input string is not UTF-8
utf
:
a sequence of UTF-8 encoded bytes
len
:
the number of
libxml-SAX.html#characters
characters
in the array
Returns
:
the storage size of the first 'len'
libxml-SAX.html#characters
characters
of ARRAY
Function: xmlUTF8Strsub
libxml-xmlstring.html#xmlChar
xmlChar
*	xmlUTF8Strsub		(const
libxml-xmlstring.html#xmlChar
xmlChar
* utf,
int start,
int len)
Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars
utf
:
a sequence of UTF-8 encoded bytes
start
:
relative pos of first char
len
:
total number to copy
Returns
:
a pointer to a newly created string or NULL if any problem
../bugs.html
Daniel Veillard
