<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head profile="http://internetalchemy.org/2003/02/profile"> <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" /> <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" /> <meta name="dc.title" content="Function: xml_validate_dtd - Virtuoso Functions Guide" /> <meta name="dc.subject" content="Function: xml_validate_dtd - Virtuoso Functions Guide" /> <meta name="dc.creator" content="OpenLink Software Documentation Team ; " /> <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" /> <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" /> <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" /> <link rel="parent" href="functions.html" title="Chapter Contents" /> <link rel="prev" href="appendixa.html" title="Appendix" /> <link rel="next" href="functions.html#.html" title="" /> <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" /> <link rel="stylesheet" type="text/css" href="doc.css" /> <link rel="stylesheet" type="text/css" href="/doc/translation.css" /> <title>Function: xml_validate_dtd - Virtuoso Functions Guide</title> <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" /> <meta name="author" content="OpenLink Software Documentation Team ; " /> <meta name="copyright" content="OpenLink Software, 1999 - 2009" /> <meta name="keywords" content="" /> <meta name="GENERATOR" content="OpenLink XSLT Team" /> </head> <body> <div id="header"> <a name="fn_xml_validate_dtd" /> <img src="../images/misc/logo.jpg" alt="" /> <h1>22. Virtuoso Functions Guide - xml_validate_dtd</h1> </div> <div id="navbartop"> <div> <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="fn_xml_uri_get.html" title="xml_uri_get">Prev</a> | <a class="link" href="fn_xml_validate_schema.html" title="xml_validate_schema">Next</a> </div> </div> <div id="currenttoc"> <form method="post" action="/doc/adv_search.vspx"> <div class="search">Keyword Search: <br /> <input type="text" name="q" /> <input type="submit" name="go" value="Go" /> </div> </form> <div> <a href="http://www.openlinksw.com/">www.openlinksw.com</a> </div> <div> <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a> </div> <br /> <div> <a href="index.html">Book Home</a> </div> <br /> <div> <a href="contents.html">Contents</a> </div> <div> <a href="preface.html">Preface</a> </div> <br /> <div> <a class="selected" href="functions.html">Virtuoso Functions Guide</a> </div> <br /> <div> <a href="functions.html#admin">Administration</a> </div> <div> <a href="functions.html#aggr">Aggregate Functions</a> </div> <div> <a href="functions.html#array">Array Manipulation</a> </div> <div> <a href="functions.html#bpel">BPEL APIs</a> </div> <div> <a href="functions.html#backup">Backup</a> </div> <div> <a href="functions.html#compression">Compression</a> </div> <div> <a href="functions.html#cursors">Cursor</a> </div> <div> <a href="functions.html#time">Date & Time Manipulation</a> </div> <div> <a href="functions.html#debug">Debug</a> </div> <div> <a href="functions.html#dict">Dictionary Manipulation</a> </div> <div> <a href="functions.html#encoding">Encoding & Decoding</a> </div> <div> <a href="functions.html#file">File Manipulation</a> </div> <div> <a href="functions.html#ft">Free Text</a> </div> <div> <a href="functions.html#hash">Hashing / Cryptographic</a> </div> <div> <a href="functions.html#ldap">LDAP</a> </div> <div> <a href="functions.html#localization">Locale</a> </div> <div> <a href="functions.html#mail">Mail</a> </div> <div> <a href="functions.html#misc">Miscellaneous</a> </div> <div> <a href="functions.html#number">Number</a> </div> <div> <a href="functions.html#phrz">Phrases</a> </div> <div> <a href="functions.html#rdf">RDF data</a> </div> <div> <a href="functions.html#rmt">Remote SQL Data Source</a> </div> <div> <a href="functions.html#repl">Replication</a> </div> <div> <a href="functions.html#soap">SOAP</a> </div> <div> <a href="functions.html#sql">SQL</a> </div> <div> <a href="functions.html#string">String</a> </div> <div> <a href="functions.html#txn">Transaction</a> </div> <div> <a href="functions.html#type">Type Mapping</a> </div> <div> <a href="functions.html#uddi">UDDI</a> </div> <div> <a href="functions.html#udt">User Defined Types & The CLR</a> </div> <div> <a href="functions.html#vad">VAD</a> </div> <div> <a href="functions.html#jvmpl">Virtuoso Java PL API</a> </div> <div> <a href="functions.html#bif">Virtuoso Server Extension Interface (VSEI)</a> </div> <div> <a href="functions.html#ws">Web & Internet</a> </div> <div> <a class="selected" href="functions.html#xml">XML</a> </div> <div class="selected"> <div> <a href="fn_XMLAGG.html">xmlagg</a> </div> <div> <a href="fn_XMLATTRIBUTES.html">xmlattributes</a> </div> <div> <a href="fn_XMLAddAttribute.html">xmladdattribute</a> </div> <div> <a href="fn_XMLAppendChildren.html">xmlappendchildren</a> </div> <div> <a href="fn_XMLCONCAT.html">xmlconcat</a> </div> <div> <a href="fn_XMLELEMENT.html">xmlelement</a> </div> <div> <a href="fn_XMLFOREST.html">xmlforest</a> </div> <div> <a href="fn_XMLInsertAfter.html">xmlinsertafter</a> </div> <div> <a href="fn_XMLInsertBefore.html">xmlinsertbefore</a> </div> <div> <a href="fn_XMLReplace.html">xmlreplace</a> </div> <div> <a href="fn_XMLType.XMLType.html">xmltype.xmltype</a> </div> <div> <a href="fn_XMLType.createNonSchemaBasedXML.html">xmltype.createnonsch...</a> </div> <div> <a href="fn_XMLType.createSchemaBasedXML.html">xmltype.createschema...</a> </div> <div> <a href="fn_XMLType.createXML.html">xmltype.createxml</a> </div> <div> <a href="fn_XMLType.existsNode.html">xmltype.existsnode</a> </div> <div> <a href="fn_XMLType.extract.html">xmltype.extract</a> </div> <div> <a href="fn_XMLType.getClobVal.html">xmltype.getclobval</a> </div> <div> <a href="fn_XMLType.getNamespace.html">xmltype.getnamespace</a> </div> <div> <a href="fn_XMLType.getNumVal.html">xmltype.getnumval</a> </div> <div> <a href="fn_XMLType.getRootElement.html">xmltype.getrooteleme...</a> </div> <div> <a href="fn_XMLType.getSchemaURL.html">xmltype.getschemaurl</a> </div> <div> <a href="fn_XMLType.getStringVal.html">xmltype.getstringval</a> </div> <div> <a href="fn_XMLType.isFragment.html">xmltype.isfragment</a> </div> <div> <a href="fn_XMLType.isSchemaBased.html">xmltype.isschemabase...</a> </div> <div> <a href="fn_XMLType.isSchemaValid.html">xmltype.isschemavali...</a> </div> <div> <a href="fn_XMLType.isSchemaValidated.html">xmltype.isschemavali...</a> </div> <div> <a href="fn_XMLType.schemaValidate.html">xmltype.schemavalida...</a> </div> <div> <a href="fn_XMLType.setSchemaValidated.html">xmltype.setschemaval...</a> </div> <div> <a href="fn_XMLType.toObject.html">xmltype.toobject</a> </div> <div> <a href="fn_XMLType.transform.html">xmltype.transform</a> </div> <div> <a href="fn_XMLUpdate.html">xmlupdate</a> </div> <div> <a href="fn_xper_right_sibling.html">xper navigation</a> </div> <div> <a href="fn_createXML.html">createxml</a> </div> <div> <a href="fn_isentity.html">isentity</a> </div> <div> <a href="fn_serialize_to_UTF8_xml.html">serialize_to_utf8_xm...</a> </div> <div> <a href="fn_tidy_html.html">tidy_html</a> </div> <div> <a href="fn_tidy_list_errors.html">tidy_list_errors</a> </div> <div> <a href="fn_updateXML.html">updatexml</a> </div> <div> <a href="fn_xml_add_system_path.html">xml_add_system_path</a> </div> <div> <a href="fn_xml_auto.html">xml_auto</a> </div> <div> <a href="fn_xml_auto_dtd.html">xml_auto_dtd</a> </div> <div> <a href="fn_xml_auto_schema.html">xml_auto_schema</a> </div> <div> <a href="fn_xml_create_tables_from_mapping_schema_decl.html">xml_create_tables_fr...</a> </div> <div> <a href="fn_xml_cut.html">xml_cut</a> </div> <div> <a href="fn_xml_doc_output_option.html">xml_doc_output_optio...</a> </div> <div> <a href="fn_xml_get_system_paths.html">xml_get_system_paths</a> </div> <div> <a href="fn_xml_load_mapping_schema_decl.html">xml_load_mapping_sch...</a> </div> <div> <a href="fn_xml_load_schema_decl.html">xml_load_schema_decl</a> </div> <div> <a href="fn_xml_namespace_scope.html">xml_namespace_scope</a> </div> <div> <a href="fn_xml_persistent.html">xml_persistent</a> </div> <div> <a href="fn_xml_set_ns_decl.html">xml_set_ns_decl</a> </div> <div> <a href="fn_xml_template.html">xml_template</a> </div> <div> <a href="fn_xml_tree.html">xml_tree</a> </div> <div> <a href="fn_xml_tree_doc.html">xml_tree_doc</a> </div> <div> <a href="fn_xml_tree_doc_media_type.html">xml_tree_doc_media_t...</a> </div> <div> <a href="fn_xml_uri_get.html">xml_uri_get</a> </div> <div> <a class="selected" href="fn_xml_validate_dtd.html">xml_validate_dtd</a> </div> <div> <a href="fn_xml_validate_schema.html">xml_validate_schema</a> </div> <div> <a href="fn_xml_view_dtd.html">xml_view_dtd</a> </div> <div> <a href="fn_xml_view_schema.html">xml_view_schema</a> </div> <div> <a href="fn_xmlsql_update.html">xmlsql_update</a> </div> <div> <a href="fn_xpath_eval.html">xpath_eval</a> </div> <div> <a href="fn_xper_cut.html">xper_cut</a> </div> <div> <a href="fn_xper_doc.html">xper_doc</a> </div> <div> <a href="fn_xper_locate_words.html">xper_locate_words</a> </div> <div> <a href="fn_xpf_extension.html">xpf_extension</a> </div> <div> <a href="fn_xpf_extension_remove.html">xpf_extension_remove</a> </div> <div> <a href="fn_xquery_eval.html">xquery_eval</a> </div> <div> <a href="fn_xslt.html">xslt</a> </div> <div> <a href="fn_xslt_format_number.html">xslt_format_number</a> </div> <div> <a href="fn_xslt_sheet.html">xslt_sheet</a> </div> <div> <a href="fn_xslt_stale.html">xslt_stale</a> </div> <div> <a href="fn_xte_head.html">xte_head</a> </div> <div> <a href="fn_xte_node.html">xte_node</a> </div> <div> <a href="fn_xte_node_from_nodebld.html">xte_node_from_nodebl...</a> </div> <div> <a href="fn_xte_nodebld_acc.html">xte_nodebld_acc</a> </div> <div> <a href="fn_xte_nodebld_final.html">xte_nodebld_final</a> </div> <div> <a href="fn_xte_nodebld_init.html">xte_nodebld_init</a> </div> <div> <a href="fn_xtree_doc.html">xtree_doc</a> </div> </div> <div> <a href="functions.html#XPATH">XPATH & XQUERY</a> </div> <br /> <div> <a href="functionidx.html">Functions Index</a> </div> <br /> </div> <div id="text"> <h2>xml_validate_dtd</h2> <div class="refpurpose">returns a string with list of errors detected by DTD validator on reading given XML document</div> <div class="funcsynopsis"> <span class="funcdef"> <span class="function">xml_validate_dtd</span> </span> (<span class="paramdef">in <span class="parameter">document</span> varchar</span>, <span class="paramdef">in <span class="parameter">parser_mode</span> integer</span>, <span class="paramdef">in <span class="parameter">base_uri</span> varchar</span>, <span class="paramdef">in <span class="parameter">content_encoding</span> varchar</span>, <span class="paramdef">in <span class="parameter">content_language</span> varchar</span>, <span class="paramdef">in <span class="parameter">dtd_validator_config</span> varchar</span>); </div> <div class="refsect1"> <div class="refsect1title">Description</div> <p> This parses the argument, which is expected to be an XML fragment (possibly with syntax errors, violations of validity conditions etc.) and returns a human-readable list of errors as a string. DTD validation may be performed during any reading of XML source in functions <span class="computeroutput">xml_tree()</span>, <span class="computeroutput">xml_persistent()</span> or <span class="computeroutput">xper_doc()</span>, so that an application may check XML source on the fly; severe constraint violations in source XML will be signalled as SQL runtime errors.</p> </div> <div class="refsect1"> <div class="refsect1title">Parameters</div> <div class="refsect2"> <span class="refsect2title">document – </span> XML or HTML document to check</div> <div class="refsect2"> <span class="refsect2title">parser_mode – </span> 0 or 1; 0 - XML parser mode 1 - HTML parser mode</div> <div class="refsect2"> <span class="refsect2title">base_uri – </span> in HTML parser mode change all absolute references to relative from given base_uri (http://<host>:<port>/<path>)</div> <div class="refsect2"> <span class="refsect2title">content_encoding – </span> string with content encoding type of <document>; valid are 'ASCII', 'ISO', 'UTF8', 'ISO8859-1', 'LATIN-1' etc., defaults are 'UTF-8' for XML mode and 'LATIN-1' for HTML mode</div> <div class="refsect2"> <span class="refsect2title">content_language – </span> string with language tag of content of <document>; valid names are listed in IETF RFC 1766, default is 'x-any' (it means 'mix of words from various human languages)</div> <div class="refsect2"> <span class="refsect2title">dtd_validator_config – </span> configuration string of the validator, default is empty string meaning that only critical errors should be reported. See <a href="xmlschema.html#dtd_config">Configuration Options of the DTD Validator</a> for details.</div> </div> <div class="refsect1"> <div class="refsect1title">Return Types</div> <p>Human readable list of errors if applicable as a varchar.</p> </div> <div class="refsect1"> <div class="refsect1title">Validating XML Against a DTD</div> <a name="ex_xml_validate_dtd" /> <div class="example"> <div class="exampletitle" /> <div> <pre class="programlisting"> declare _result varchar; _result := xml_validate_dtd ( _text, 0, 'http://localhost.localdomain/xmlrepository', 'UTF-8', 'x-any', 'Validation=SGML FsaBadWs=IGNORE BuildStandalone=ENABLE MaxErrors=100'); if (_res = '') _res := 'NO ERRORS DETECTED'; </pre> </div> </div> </div> <div class="refsect1"> <div class="refsect1title">See Also</div> <p> <a href="fn_xml_validate_schema.html">xml_validate_schema</a> </p> <p> <a href="fn_xml_view_dtd.html">xml_view_dtd</a> </p> <p> <a href="fn_xml_view_schema.html">xml_view_schema</a> </p> </div> </div> <div id="footer"> <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div> <div id="validation"> <a href="http://validator.w3.org/check/referer"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /> </a> <a href="http://jigsaw.w3.org/css-validator/"> <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" /> </a> </div> </div> </body> </html>