poi/xmlbeans/docs/guide/conValidationWithXmlBeans.html

1 line
13 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- Copyright 2004 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- InstanceBeginEditable name="doctitle" --> <title>XMLBeans Tools</title> <!-- InstanceEndEditable --> <!--(Meta)==========================================================--> <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"> <!-- InstanceBeginEditable name="metatags" --> <meta name="author" content="your name" /> <meta name="Description" content="A description of the topic contents." /> <meta name="Keywords" content="keywords to help in searches" /> <meta name="date last modified" content="10/25/02" /> <!-- InstanceEndEditable --> <!--(Links)=========================================================--> <!-- InstanceBeginEditable name="head" --> <link href="../xmlbeans.css" rel="stylesheet" type="text/css" /> <!-- InstanceEndEditable --> <link href="../xmlbeans.css" rel="stylesheet" type="text/css"> <script language="JavaScript" src="../../../core/topicInfo.js"></script> <script language="JavaScript" src="../../../core/CookieClass.js"></script> <script language="JavaScript" src="../../../core/displayContent.js"></script> </head> <!--(Body)==========================================================--> <body> <script language="JavaScript"> </script> <!-- InstanceBeginEditable name="body" --> <h1> Validation with XMLBeans </h1> <p>An essential part of schema-related work is validating instances based on the schema. XMLBeans provides a number of ways for you to ensure your instances are valid, both at the command line and programmatically at run time. </p> <h2>Validation, XMLBeans-Style</h2> <p>XMLBeans' schema-oriented approach to handling XML makes validation an important part of its work. However, XMLBeans has a specific approach to validation that's helpful to keep in mind when you're working.</p> <p>Validation features include the following: </p> <ul> <li>Generally, XMLBeans validates when you ask it to. It <a href="#no_parsing_validation">doesn't validate while parsing</a> -- nor, by default, while your code is updating the bound instance along the way through, say, set* methods (although you can change this behavior).</li> <li>You can <a href="#validation_apis">validate programmatically</a> or by using one of the <a href="#command_line_validation">command-line tools</a> provided by XMLBeans. </li> <li>The <code>validate</code> methods return <code>true</code> or <code>false</code> to indicate whether the instance is valid. You can also <a href="#retrieving_error_messages">capture error information</a> if you want to when validating programmatically. To do this, you specify an error listener.</li> <li>You can tell XMLBeans at parse time that it <a href="#validation_as_you_go">should validate during calls to set* methods</a>. Note that this means validation <em>after</em> parsing, not during, and that it can slow performance. Also note validation would not occur as changes are made by a cursor.</li> <li>XMLBeans does validate <em>schema</em> when compiling the schema through scomp or the xmlbean Ant task. (When you're compiling schema programmatically, you can disable validation with the <code>XmlOptions.setCompileNoValidation</code> method.)</li> </ul> <h2>XMLBeans Validates Only When You Ask It To &#8212; Generally</h2> <p>Given XMLBeans' focus on schema-oriented work, it's natural to assume t