1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css"> 4TD {font-family: Verdana,Arial,Helvetica} 5BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em} 6H1 {font-family: Verdana,Arial,Helvetica} 7H2 {font-family: Verdana,Arial,Helvetica} 8H3 {font-family: Verdana,Arial,Helvetica} 9A:link, A:visited, A:active { text-decoration: underline } 10</style><style type="text/css"> 11 div.deprecated pre.programlisting {border-style: double;border-color:red} 12 pre.programlisting {border-style: double;background: #EECFA1} 13 </style><title>Module xmlschemastypes from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlschemastypes from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemas.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemas.html">xmlschemas</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-xmlstring.html">xmlstring</a></th><td><a accesskey="n" href="libxml-xmlstring.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>module providing the XML Schema Datatypes implementation both definition and validity checking </p><h2>Table of Contents</h2><pre class="programlisting">Enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 14</pre><pre class="programlisting">int <a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a> (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br /> <a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre> 15<pre class="programlisting">void <a href="#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a> (void)</pre> 16<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlSchemaCollapseString">xmlSchemaCollapseString</a> (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre> 17<pre class="programlisting">int <a href="#xmlSchemaCompareValues">xmlSchemaCompareValues</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)</pre> 18<pre class="programlisting">int <a href="#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws)</pre> 19<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> <a href="#xmlSchemaCopyValue">xmlSchemaCopyValue</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</pre> 20<pre class="programlisting">void <a href="#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a> (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)</pre> 21<pre class="programlisting">void <a href="#xmlSchemaFreeValue">xmlSchemaFreeValue</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value)</pre> 22<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> <a href="#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a> (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)</pre> 23<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> <a href="#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a> (<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type)</pre> 24<pre class="programlisting">int <a href="#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** retValue)</pre> 25<pre class="programlisting">int <a href="#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)</pre> 26<pre class="programlisting">unsigned long <a href="#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a> (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)</pre> 27<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> <a href="#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a> (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)</pre> 28<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> <a href="#xmlSchemaGetValType">xmlSchemaGetValType</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</pre> 29<pre class="programlisting">void <a href="#xmlSchemaInitTypes">xmlSchemaInitTypes</a> (void)</pre> 30<pre class="programlisting">int <a href="#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a> (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br /> int facetType)</pre> 31<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> <a href="#xmlSchemaNewFacet">xmlSchemaNewFacet</a> (void)</pre> 32<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> <a href="#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a> (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)</pre> 33<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> <a href="#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a> (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localName)</pre> 34<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> <a href="#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a> (<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre> 35<pre class="programlisting">int <a href="#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a> (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre> 36<pre class="programlisting">int <a href="#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a> (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre> 37<pre class="programlisting">int <a href="#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a> (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br /> <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</pre> 38<pre class="programlisting">int <a href="#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a> (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)</pre> 39<pre class="programlisting">int <a href="#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a> (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br /> <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br /> unsigned long * length)</pre> 40<pre class="programlisting">int <a href="#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a> (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br /> unsigned long * length, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)</pre> 41<pre class="programlisting">int <a href="#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a> (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> unsigned long actualLen, <br /> unsigned long * expectedLen)</pre> 42<pre class="programlisting">int <a href="#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a> (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)</pre> 43<pre class="programlisting">int <a href="#xmlSchemaValueAppend">xmlSchemaValueAppend</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)</pre> 44<pre class="programlisting">int <a href="#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</pre> 45<pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</pre> 46<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> <a href="#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a> (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)</pre> 47<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a> (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre> 48<h2>Description</h2> 49<h3>Enum <a name="xmlSchemaWhitespaceValueType" id="xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a></h3><pre class="programlisting">Enum xmlSchemaWhitespaceValueType { 50 <a name="XML_SCHEMA_WHITESPACE_UNKNOWN" id="XML_SCHEMA_WHITESPACE_UNKNOWN">XML_SCHEMA_WHITESPACE_UNKNOWN</a> = 0 51 <a name="XML_SCHEMA_WHITESPACE_PRESERVE" id="XML_SCHEMA_WHITESPACE_PRESERVE">XML_SCHEMA_WHITESPACE_PRESERVE</a> = 1 52 <a name="XML_SCHEMA_WHITESPACE_REPLACE" id="XML_SCHEMA_WHITESPACE_REPLACE">XML_SCHEMA_WHITESPACE_REPLACE</a> = 2 53 <a name="XML_SCHEMA_WHITESPACE_COLLAPSE" id="XML_SCHEMA_WHITESPACE_COLLAPSE">XML_SCHEMA_WHITESPACE_COLLAPSE</a> = 3 54} 55</pre><h3><a name="xmlSchemaCheckFacet" id="xmlSchemaCheckFacet"></a>Function: xmlSchemaCheckFacet</h3><pre class="programlisting">int xmlSchemaCheckFacet (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br /> <a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br /> 56</pre><p>Checks and computes the values of facets.</p> 57<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet</td></tr><tr><td><span class="term"><i><tt>typeDecl</tt></i>:</span></td><td>the schema type definition</td></tr><tr><td><span class="term"><i><tt>pctxt</tt></i>:</span></td><td>the schema parser context or NULL</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the optional name of the type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if valid, a positive error code if not valid and -1 in case of an internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaCleanupTypes" id="xmlSchemaCleanupTypes"></a>Function: xmlSchemaCleanupTypes</h3><pre class="programlisting">void xmlSchemaCleanupTypes (void)<br /> 58</pre><p>Cleanup the default XML Schemas type library</p> 59<h3><a name="xmlSchemaCollapseString" id="xmlSchemaCollapseString"></a>Function: xmlSchemaCollapseString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlSchemaCollapseString (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br /> 60</pre><p>Removes and normalize white spaces in the string</p> 61<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string or NULL if no change was required.</td></tr></tbody></table></div><h3><a name="xmlSchemaCompareValues" id="xmlSchemaCompareValues"></a>Function: xmlSchemaCompareValues</h3><pre class="programlisting">int xmlSchemaCompareValues (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)<br /> 62</pre><p>Compare 2 values</p> 63<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>x</tt></i>:</span></td><td>a first value</td></tr><tr><td><span class="term"><i><tt>y</tt></i>:</span></td><td>a second value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if x < y, 0 if x == y, 1 if x > y, 2 if x <> y, and -2 in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaCompareValuesWhtsp" id="xmlSchemaCompareValuesWhtsp"></a>Function: xmlSchemaCompareValuesWhtsp</h3><pre class="programlisting">int xmlSchemaCompareValuesWhtsp (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws)<br /> 64</pre><p>Compare 2 values</p> 65<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>x</tt></i>:</span></td><td>a first value</td></tr><tr><td><span class="term"><i><tt>xws</tt></i>:</span></td><td>the whitespace value of x</td></tr><tr><td><span class="term"><i><tt>y</tt></i>:</span></td><td>a second value</td></tr><tr><td><span class="term"><i><tt>yws</tt></i>:</span></td><td>the whitespace value of y</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if x < y, 0 if x == y, 1 if x > y, 2 if x <> y, and -2 in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaCopyValue" id="xmlSchemaCopyValue"></a>Function: xmlSchemaCopyValue</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> xmlSchemaCopyValue (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br /> 66</pre><p>Copies the precomputed value. This duplicates any string within.</p> 67<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value to be copied</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the copy or NULL if a copy for a data-type is not implemented.</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeFacet" id="xmlSchemaFreeFacet"></a>Function: xmlSchemaFreeFacet</h3><pre class="programlisting">void xmlSchemaFreeFacet (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br /> 68</pre><p>Deallocate a Schema Facet structure.</p> 69<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>a schema facet structure</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeValue" id="xmlSchemaFreeValue"></a>Function: xmlSchemaFreeValue</h3><pre class="programlisting">void xmlSchemaFreeValue (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value)<br /> 70</pre><p>Cleanup the default XML Schemas type library</p> 71<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to free</td></tr></tbody></table></div><h3><a name="xmlSchemaGetBuiltInListSimpleTypeItemType" id="xmlSchemaGetBuiltInListSimpleTypeItemType"></a>Function: xmlSchemaGetBuiltInListSimpleTypeItemType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> xmlSchemaGetBuiltInListSimpleTypeItemType (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br /> 72</pre><p>Lookup function</p> 73<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in simple type.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetBuiltInType" id="xmlSchemaGetBuiltInType"></a>Function: xmlSchemaGetBuiltInType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> xmlSchemaGetBuiltInType (<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type)<br /> 74</pre><p>Gives you the type struct for a built-in type by its type id.</p> 75<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of the built in type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetCanonValue" id="xmlSchemaGetCanonValue"></a>Function: xmlSchemaGetCanonValue</h3><pre class="programlisting">int xmlSchemaGetCanonValue (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** retValue)<br /> 76</pre><p>Get the canonical lexical representation of the value. The caller has to FREE the returned retValue. WARNING: Some value types are not supported yet, resulting in a @retValue of "???". TODO: XML Schema 1.0 does not define canonical representations for: duration, gYearMonth, gYear, gMonthDay, gMonth, gDay, anyURI, QName, NOTATION. This will be fixed in XML Schema 1.1.</p> 77<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>retValue</tt></i>:</span></td><td>the returned value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetCanonValueWhtsp" id="xmlSchemaGetCanonValueWhtsp"></a>Function: xmlSchemaGetCanonValueWhtsp</h3><pre class="programlisting">int xmlSchemaGetCanonValueWhtsp (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br /> 78</pre><p>Get the canonical representation of the value. The caller has to free the returned @retValue.</p> 79<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>retValue</tt></i>:</span></td><td>the returned value</td></tr><tr><td><span class="term"><i><tt>ws</tt></i>:</span></td><td>the whitespace type of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetFacetValueAsULong" id="xmlSchemaGetFacetValueAsULong"></a>Function: xmlSchemaGetFacetValueAsULong</h3><pre class="programlisting">unsigned long xmlSchemaGetFacetValueAsULong (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br /> 80</pre><p>Extract the value of a facet</p> 81<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>an schemas type facet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value as a long</td></tr></tbody></table></div><h3><a name="xmlSchemaGetPredefinedType" id="xmlSchemaGetPredefinedType"></a>Function: xmlSchemaGetPredefinedType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> xmlSchemaGetPredefinedType (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)<br /> 82</pre><p>Lookup a type in the default XML Schemas type library</p> 83<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the type name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the URI of the namespace usually "http://www.w3.org/2001/XMLSchema"</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaGetValType" id="xmlSchemaGetValType"></a>Function: xmlSchemaGetValType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> xmlSchemaGetValType (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br /> 84</pre><p>Accessor for the type of a value</p> 85<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a schemas value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> of the value</td></tr></tbody></table></div><h3><a name="xmlSchemaInitTypes" id="xmlSchemaInitTypes"></a>Function: xmlSchemaInitTypes</h3><pre class="programlisting">void xmlSchemaInitTypes (void)<br /> 86</pre><p>Initialize the default XML Schemas type library</p> 87<h3><a name="xmlSchemaIsBuiltInTypeFacet" id="xmlSchemaIsBuiltInTypeFacet"></a>Function: xmlSchemaIsBuiltInTypeFacet</h3><pre class="programlisting">int xmlSchemaIsBuiltInTypeFacet (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br /> int facetType)<br /> 88</pre><p>Evaluates if a specific facet can be used in conjunction with a type.</p> 89<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>facetType</tt></i>:</span></td><td>the facet type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a built-in type.</td></tr></tbody></table></div><h3><a name="xmlSchemaNewFacet" id="xmlSchemaNewFacet"></a>Function: xmlSchemaNewFacet</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> xmlSchemaNewFacet (void)<br /> 90</pre><p>Allocate a new Facet structure.</p> 91<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly allocated structure or NULL in case or error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewNOTATIONValue" id="xmlSchemaNewNOTATIONValue"></a>Function: xmlSchemaNewNOTATIONValue</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> xmlSchemaNewNOTATIONValue (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)<br /> 92</pre><p>Allocate a new NOTATION value. The given values are consumed and freed with the struct.</p> 93<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the notation name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the notation namespace name or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaNewQNameValue" id="xmlSchemaNewQNameValue"></a>Function: xmlSchemaNewQNameValue</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> xmlSchemaNewQNameValue (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localName)<br /> 94</pre><p>Allocate a new QName value. The given values are consumed and freed with the struct.</p> 95<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>namespaceName</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span class="term"><i><tt>localName</tt></i>:</span></td><td>the local name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of an error.</td></tr></tbody></table></div><h3><a name="xmlSchemaNewStringValue" id="xmlSchemaNewStringValue"></a>Function: xmlSchemaNewStringValue</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> xmlSchemaNewStringValue (<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br /> 96</pre><p>Allocate a new simple type value. The type can be of XML_SCHEMAS_STRING. WARNING: This one is intended to be expanded for other string based types. We need this for anySimpleType as well. The given value is consumed and freed with the struct.</p> 97<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the value type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaValPredefTypeNode" id="xmlSchemaValPredefTypeNode"></a>Function: xmlSchemaValPredefTypeNode</h3><pre class="programlisting">int xmlSchemaValPredefTypeNode (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br /> 98</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p> 99<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node containing the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValPredefTypeNodeNoNorm" id="xmlSchemaValPredefTypeNodeNoNorm"></a>Function: xmlSchemaValPredefTypeNodeNoNorm</h3><pre class="programlisting">int xmlSchemaValPredefTypeNodeNoNorm (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br /> <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br /> 100</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.</p> 101<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node containing the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateFacet" id="xmlSchemaValidateFacet"></a>Function: xmlSchemaValidateFacet</h3><pre class="programlisting">int xmlSchemaValidateFacet (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br /> <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br /> 102</pre><p>Check a value against a facet condition</p> 103<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base type</td></tr><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateFacetWhtsp" id="xmlSchemaValidateFacetWhtsp"></a>Function: xmlSchemaValidateFacetWhtsp</h3><pre class="programlisting">int xmlSchemaValidateFacetWhtsp (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br /> 104</pre><p>Check a value against a facet condition. This takes value normalization according to the specified whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type "pattern".</p> 105<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>fws</tt></i>:</span></td><td>the whitespace type of the facet's value</td></tr><tr><td><span class="term"><i><tt>valType</tt></i>:</span></td><td>the built-in type of the value</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical (or normalized for pattern) repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>ws</tt></i>:</span></td><td>the whitespace type of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateLengthFacet" id="xmlSchemaValidateLengthFacet"></a>Function: xmlSchemaValidateLengthFacet</h3><pre class="programlisting">int xmlSchemaValidateLengthFacet (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br /> <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br /> unsigned long * length)<br /> 106</pre><p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p> 107<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr. of the value to be validated</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>length</tt></i>:</span></td><td>the actual length of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateLengthFacetWhtsp" id="xmlSchemaValidateLengthFacetWhtsp"></a>Function: xmlSchemaValidateLengthFacetWhtsp</h3><pre class="programlisting">int xmlSchemaValidateLengthFacetWhtsp (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br /> unsigned long * length, <br /> <a href="libxml-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br /> 108</pre><p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p> 109<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>valType</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr. of the value to be validated</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>length</tt></i>:</span></td><td>the actual length of the value</td></tr><tr><td><span class="term"><i><tt>ws</tt></i>:</span></td><td>the whitespace type of the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateListSimpleTypeFacet" id="xmlSchemaValidateListSimpleTypeFacet"></a>Function: xmlSchemaValidateListSimpleTypeFacet</h3><pre class="programlisting">int xmlSchemaValidateListSimpleTypeFacet (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> unsigned long actualLen, <br /> unsigned long * expectedLen)<br /> 110</pre><p>Checks the value of a list simple type against a facet.</p> 111<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>actualLen</tt></i>:</span></td><td>the number of list items</td></tr><tr><td><span class="term"><i><tt>expectedLen</tt></i>:</span></td><td>the resulting expected number of list items</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidatePredefinedType" id="xmlSchemaValidatePredefinedType"></a>Function: xmlSchemaValidatePredefinedType</h3><pre class="programlisting">int xmlSchemaValidatePredefinedType (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br /> const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)<br /> 112</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p> 113<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValueAppend" id="xmlSchemaValueAppend"></a>Function: xmlSchemaValueAppend</h3><pre class="programlisting">int xmlSchemaValueAppend (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br /> <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br /> 114</pre><p>Appends a next sibling to a list of computed values.</p> 115<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>prev</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the value to be appended</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if succeeded and -1 on API errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaValueGetAsBoolean" id="xmlSchemaValueGetAsBoolean"></a>Function: xmlSchemaValueGetAsBoolean</h3><pre class="programlisting">int xmlSchemaValueGetAsBoolean (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br /> 116</pre><p>Accessor for the boolean value of a computed value.</p> 117<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true and 0 if false, or in case of an error. Hmm.</td></tr></tbody></table></div><h3><a name="xmlSchemaValueGetAsString" id="xmlSchemaValueGetAsString"></a>Function: xmlSchemaValueGetAsString</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlSchemaValueGetAsString (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br /> 118</pre><p>Accessor for the string value of a computed value.</p> 119<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string value or NULL if there was none, or on API errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaValueGetNext" id="xmlSchemaValueGetNext"></a>Function: xmlSchemaValueGetNext</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> xmlSchemaValueGetNext (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br /> 120</pre><p>Accessor for the next sibling of a list of computed values.</p> 121<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next value or NULL if there was none, or on API errors.</td></tr></tbody></table></div><h3><a name="xmlSchemaWhiteSpaceReplace" id="xmlSchemaWhiteSpaceReplace"></a>Function: xmlSchemaWhiteSpaceReplace</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * xmlSchemaWhiteSpaceReplace (const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br /> 122</pre><p>Replaces 0xd, 0x9 and 0xa with a space.</p> 123<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string or NULL if no change was required.</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html> 124