<?xml version="1.0" encoding="ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>pyxb.binding.content.ParticleModel</title> <link rel="stylesheet" href="epydoc.css" type="text/css" /> <script type="text/javascript" src="epydoc.js"></script> </head> <body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080"> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Home link --> <th> <a href="pyxb-module.html">Home</a> </th> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <!-- Project homepage --> <th class="navbar" align="right" width="100%"> <table border="0" cellpadding="0" cellspacing="0"> <tr><th class="navbar" align="center" >PyXB hosted on <a href="http://sourceforge.net/projects/pyxb"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=263147&type=9" width="80" height="15" alt="Get PyXB: Python XML Schema Bindings at SourceForge.net. Fast, secure and Free Open Source software downloads"/></a></th> </tr></table></th> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="100%"> <span class="breadcrumbs"> <a href="pyxb-module.html">Package pyxb</a> :: <a href="pyxb.binding-module.html">Package binding</a> :: <a href="pyxb.binding.content-module.html">Module content</a> :: Class ParticleModel </span> </td> <td> <table cellpadding="0" cellspacing="0"> <!-- hide/show private --> <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" onclick="toggle_private();">hide private</a>]</span></td></tr> <tr><td align="right"><span class="options" >[<a href="frames.html" target="_top">frames</a >] | <a href="pyxb.binding.content.ParticleModel-class.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <!-- ==================== CLASS DESCRIPTION ==================== --> <h1 class="epydoc">Class ParticleModel</h1><p class="nomargin-top"><span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel">source code</a></span></p> <pre class="base-tree"> object --+ | <a href="pyxb.cscRoot-class.html">cscRoot</a> --+ | <a href="pyxb.binding.content.ContentModel_mixin-class.html">ContentModel_mixin</a> --+ | <strong class="uidshort">ParticleModel</strong> </pre> <hr /> <p>Content model dealing with particles: terms with occurrence restrictions</p> <!-- ==================== INSTANCE METHODS ==================== --> <a name="section-InstanceMethods"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Instance Methods</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-InstanceMethods" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="minOccurs"></a><span class="summary-sig-name">minOccurs</span>(<span class="summary-sig-arg">self</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.minOccurs">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="maxOccurs"></a><span class="summary-sig-name">maxOccurs</span>(<span class="summary-sig-arg">self</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.maxOccurs">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="term"></a><span class="summary-sig-name">term</span>(<span class="summary-sig-arg">self</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.term">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyxb.binding.content.ParticleModel-class.html#meetsMaximum" class="summary-sig-name">meetsMaximum</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">count</span>)</span><br /> Returns: <code>True</code> iff there is no maximum on term occurrence, or the provided count does not exceed that maximum</td> <td align="right" valign="top"> <span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.meetsMaximum">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyxb.binding.content.ParticleModel-class.html#meetsMinimum" class="summary-sig-name">meetsMinimum</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">count</span>)</span><br /> Returns: <code>True</code> iff the provided count meets the minimum number of occurrences</td> <td align="right" valign="top"> <span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.meetsMinimum">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyxb.binding.content.ParticleModel-class.html#satisfiesOccurrences" class="summary-sig-name">satisfiesOccurrences</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">count</span>)</span><br /> Returns: <code>True</code> iff the provided count satisfies the occurrence requirements</td> <td align="right" valign="top"> <span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.satisfiesOccurrences">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyxb.binding.content.ParticleModel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">term</span>, <span class="summary-sig-arg">min_occurs</span>=<span class="summary-sig-default">1</span>, <span class="summary-sig-arg">max_occurs</span>=<span class="summary-sig-default">1</span>)</span><br /> x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td> <td align="right" valign="top"> <span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.__init__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyxb.binding.content.ParticleModel-class.html#newState" class="summary-sig-name">newState</a>(<span class="summary-sig-arg">self</span>)</span><br /> Return a <a href="pyxb.binding.content.ContentState_mixin-class.html" class="link">ContentState_mixin</a> instance that will validate the state of this model component.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.newState">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyxb.binding.content.ParticleModel-class.html#validate" class="summary-sig-name">validate</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">symbol_set</span>)</span><br /> Determine whether the particle requirements are satisfiable by the given symbol set.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.validate">source code</a></span> </td> </tr> </table> </td> </tr> <tr class="private"> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="pyxb.binding.content.ParticleModel-class.html#_validate" class="summary-sig-name" onclick="show_private();">_validate</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">symbol_set</span>, <span class="summary-sig-arg">output_sequence</span>)</span><br /> Determine whether an output sequence created from the symbols can be made consistent with the model.</td> <td align="right" valign="top"> <span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel._validate">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td colspan="2" class="summary"> <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="pyxb.binding.content.ContentModel_mixin-class.html">ContentModel_mixin</a></code></b> (private): <code><a href="pyxb.binding.content.ContentModel_mixin-class.html#_validateCloneOutputSequence" onclick="show_private();">_validateCloneOutputSequence</a></code>, <code><a href="pyxb.binding.content.ContentModel_mixin-class.html#_validateCloneSymbolSet" onclick="show_private();">_validateCloneSymbolSet</a></code>, <code><a href="pyxb.binding.content.ContentModel_mixin-class.html#_validateReplaceResults" onclick="show_private();">_validateReplaceResults</a></code> </p></div> <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: <code>__delattr__</code>, <code>__format__</code>, <code>__getattribute__</code>, <code>__hash__</code>, <code>__new__</code>, <code>__reduce__</code>, <code>__reduce_ex__</code>, <code>__repr__</code>, <code>__setattr__</code>, <code>__sizeof__</code>, <code>__str__</code>, <code>__subclasshook__</code> </p> </td> </tr> </table> <!-- ==================== PROPERTIES ==================== --> <a name="section-Properties"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Properties</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-Properties" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> <tr> <td colspan="2" class="summary"> <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: <code>__class__</code> </p> </td> </tr> </table> <!-- ==================== METHOD DETAILS ==================== --> <a name="section-MethodDetails"></a> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td colspan="2" class="table-header"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr valign="top"> <td align="left"><span class="table-header">Method Details</span></td> <td align="right" valign="top" ><span class="options">[<a href="#section-MethodDetails" class="privatelink" onclick="toggle_private();" >hide private</a>]</span></td> </tr> </table> </td> </tr> </table> <a name="meetsMaximum"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">meetsMaximum</span>(<span class="sig-arg">self</span>, <span class="sig-arg">count</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.meetsMaximum">source code</a></span> </td> </tr></table> <dl class="fields"> <dt>Returns:</dt> <dd><code>True</code> iff there is no maximum on term occurrence, or the provided count does not exceed that maximum</dd> </dl> </td></tr></table> </div> <a name="meetsMinimum"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">meetsMinimum</span>(<span class="sig-arg">self</span>, <span class="sig-arg">count</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.meetsMinimum">source code</a></span> </td> </tr></table> <dl class="fields"> <dt>Returns:</dt> <dd><code>True</code> iff the provided count meets the minimum number of occurrences</dd> </dl> </td></tr></table> </div> <a name="satisfiesOccurrences"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">satisfiesOccurrences</span>(<span class="sig-arg">self</span>, <span class="sig-arg">count</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.satisfiesOccurrences">source code</a></span> </td> </tr></table> <dl class="fields"> <dt>Returns:</dt> <dd><code>True</code> iff the provided count satisfies the occurrence requirements</dd> </dl> </td></tr></table> </div> <a name="__init__"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>, <span class="sig-arg">term</span>, <span class="sig-arg">min_occurs</span>=<span class="sig-default">1</span>, <span class="sig-arg">max_occurs</span>=<span class="sig-default">1</span>)</span> <br /><em class="fname">(Constructor)</em> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.__init__">source code</a></span> </td> </tr></table> <p>x.__init__(...) initializes x; see x.__class__.__doc__ for signature</p> <dl class="fields"> <dt>Overrides: object.__init__ <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <a name="newState"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">newState</span>(<span class="sig-arg">self</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.newState">source code</a></span> </td> </tr></table> <p>Return a <a href="pyxb.binding.content.ContentState_mixin-class.html" class="link">ContentState_mixin</a> instance that will validate the state of this model component.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>parent_particle_state</code></strong> - The <a href="pyxb.binding.content.ParticleState-class.html" class="link">ParticleState</a> instance for which this instance is a term. <code>None</code> for the top content model of a complex data type.</li> </ul></dd> <dt>Overrides: <a href="pyxb.binding.content.ContentModel_mixin-class.html#newState">ContentModel_mixin.newState</a> <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <a name="validate"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">validate</span>(<span class="sig-arg">self</span>, <span class="sig-arg">symbol_set</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel.validate">source code</a></span> </td> </tr></table> <p>Determine whether the particle requirements are satisfiable by the given symbol set.</p> <p>The symbol set represents letters in an alphabet. If those letters can be combined in a way that satisfies the regular expression expressed in the model, a satisfying sequence is returned and the symbol set is reduced by the letters used to form the sequence. If the content model cannot be satisfied, <code>None</code> is returned and the symbol set remains unchanged.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>symbol_set</code></strong> - A map from <a href="pyxb.binding.content.ElementUse-class.html" class="link">ElementUse</a> instances to a list of values. The order of the values corresponds to the order in which they should appear. A key of <code>None</code> identifies values that are stored as wildcard elements. Values are removed from the lists as they are used; when the last value of a list is removed, its key is removed from the map. Thus an empty dictionary is the indicator that no more symbols are available.</li> </ul></dd> <dt>Returns:</dt> <dd>returns <code>None</code>, or a list of tuples <code>( eu, val )</code> where <code>eu</code> is an <a href="pyxb.binding.content.ElementUse-class.html" class="link">ElementUse</a> from the set of symbol keys, and <code>val</code> is a value from the corresponding list.</dd> </dl> </td></tr></table> </div> <a name="_validate"></a> <div class="private"> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">_validate</span>(<span class="sig-arg">self</span>, <span class="sig-arg">symbol_set</span>, <span class="sig-arg">output_sequence</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="pyxb.binding.content-pysrc.html#ParticleModel._validate">source code</a></span> </td> </tr></table> <p>Determine whether an output sequence created from the symbols can be made consistent with the model.</p> <p>The symbol set represents letters in an alphabet; the output sequence orders those letters in a way that satisfies the regular expression expressed in the model. Both are changed as a result of a successful validation; both remain unchanged if the validation failed. In recursing, implementers may assume that <code>output_sequence</code> is monotonic: its length remains unchanged after an invocation iff the symbol set also remains unchanged. The <a href="pyxb.binding.content.ContentModel_mixin-class.html#_validateCloneSymbolSet" class="link" onclick="show_private();">_validateCloneSymbolSet</a>, <a href="pyxb.binding.content.ContentModel_mixin-class.html#_validateCloneOutputSequence" class="link" onclick="show_private();">_validateCloneOutputSequence</a>, and <a href="pyxb.binding.content.ContentModel_mixin-class.html#_validateReplaceResults" class="link" onclick="show_private();">_validateReplaceResults</a> methods are available to help preserve this behavior.</p> <dl class="fields"> <dt>Parameters:</dt> <dd><ul class="nomargin-top"> <li><strong class="pname"><code>symbol_set</code></strong> - A map from <a href="pyxb.binding.content.ElementUse-class.html" class="link">ElementUse</a> instances to a list of values. The order of the values corresponds to the order in which they should appear. A key of <code>None</code> identifies values that are stored as wildcard elements. Values are removed from the lists as they are used; when the last value of a list is removed, its key is removed from the map. Thus an empty dictionary is the indicator that no more symbols are available.</li> <li><strong class="pname"><code>output_sequence</code></strong> - A mutable list to which should be appended tuples <code>( eu, val )</code> where <code>eu</code> is an <a href="pyxb.binding.content.ElementUse-class.html" class="link">ElementUse</a> from the set of symbol keys, and <code>val</code> is a value from the corresponding list. A document generated by producing the elements in the given order is expected to validate.</li> </ul></dd> <dt>Returns:</dt> <dd><code>True</code> iff the model validates. <code>symbol_set</code> and <code>output_path</code> must be unmodified if returns <code>False</code>.</dd> <dt>Overrides: <a href="pyxb.binding.content.ContentModel_mixin-class.html#_validate" onclick="show_private();">ContentModel_mixin._validate</a> <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <br /> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Home link --> <th> <a href="pyxb-module.html">Home</a> </th> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <!-- Project homepage --> <th class="navbar" align="right" width="100%"> <table border="0" cellpadding="0" cellspacing="0"> <tr><th class="navbar" align="center" >PyXB hosted on <a href="http://sourceforge.net/projects/pyxb"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=263147&type=9" width="80" height="15" alt="Get PyXB: Python XML Schema Bindings at SourceForge.net. Fast, secure and Free Open Source software downloads"/></a></th> </tr></table></th> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%%"> <tr> <td align="left" class="footer"> Generated by Epydoc 3.0.1 on Sun May 30 12:40:28 2010 </td> <td align="right" class="footer"> <a target="mainFrame" href="http://epydoc.sourceforge.net" >http://epydoc.sourceforge.net</a> </td> </tr> </table> <script type="text/javascript"> <!-- // Private objects are initially displayed (because if // javascript is turned off then we want them to be // visible); but by default, we want to hide them. So hide // them unless we have a cookie that says to show them. checkCookie(); // --> </script> </body> </html>