I've been looking over the DTD version 2.0 Release Candidate 1, applying it to validation of a dataset.

To do this I've been using emacs nxml-mode, which requires pre-translation of the DTD to a RELAX-NG schema format. The translation is performed automatically, but the change in format made a quirk in the DTD mor obvious. DAVEfunc.dtd does not set a default namespace, but the included MathML2 DTD does. This can have the effect of competing namespaces, which will confuse some validating parsers. It has absolutely no effect on any application of the DTD to data handling.

However, to avoid the problem entirely, I'd like to suggest that DAVEfunc should be given a default, blank (or otherwise if you like) namespace, and that this should be allocated before the mathml2 entity is declared. I have attached a version of the DTD with this change included. Please consider it.

--
Regards,
Dan Newman

Quantitative Aeronautics Pty Ltd
Email:  [EMAIL PROTECTED]
Phone:  +61 2 9212 7861
Mobile: +61 4 1229 3035
Fax:    +61 2 8915 1531
<?xml version="1.0" encoding="UTF-8"?><!-- =================================================================

                   Dynamic Aerospace Vehicle Exchange DTD            
                        Function Data Representation                   
                                                                
                              Version: 2.0 Release Candidate 1                             
                                                                
    This DTD module is identified by these PUBLIC and SYSTEM       
    identifiers:                                                   
                                                                
    PUBLIC "-//NASA//DTD for Flight Dynamic Models - Functions 2.0//EN" 
    SYSTEM "http://daveml.larc.nasa.gov/DTDs/2p0RC1/DAVEfunc.dtd";
                                                                
    Developed by:

      American Institute of Aeronautics and Astronautics (AIAA)
      Modeling & Simulation Technical Committee
      Simulation Modeling Standards Subcommittee

    Contact information:

      E. Bruce Jackson <mailto:[EMAIL PROTECTED]>
      Bruce L. Hildreth <mailto:[EMAIL PROTECTED]>                         
      <http://daveml.nasa.gov>

    Purpose: 

      Proposed standard for exchanging dynamic models of aerospace
      vehicles, including aero, engine, gear, inertia, and control
      models.
                                                                
      This preliminary version defines static models typically
      associated with aerodynamic subsystem models, but can be used to
      describe any non-linear multi-dimensional function.
                                                                
    Status:                                                         
      In development. Direct comments to above contacts.

  
     ================================================================= -->

<!-- =================================================================


    Acknowledgements:                                                

      Assistance and encouragement by Jon S. Berndt whose JSBsim aero
      & control law XML format was original work.  Extensive
      testing, collaboration, and encouragement from Geoff Brian of
      the Australian DSTO, Bill Cleveland at NASA Ames and Brent York,
      formerly of NAVAIR, who were the real beta testers. Statistical
      encoding was made possible by contributions and suggestions from
      J. Dana McMinn of NASA Langley Research Center.

  
     ================================================================= -->


<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--                         Level 0 Elements                         -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<!-- =================================================================

      Root element is DAVEfunc, composed of a file header element
      followed by 1 or more variable definitions and 0 or more break
      point definitions, gridded or ungridded table definitions, and
      function elements.
    
     ================================================================= -->

<!ELEMENT DAVEfunc 
     (fileHeader, variableDef+, breakpointDef*, griddedTableDef*, ungriddedTableDef*, function*, checkData*)
>
<!ATTLIST DAVEfunc
     xmlns CDATA #FIXED ""
>

<!-- =================================================================

    Include the MathML2 DTD for any math markup
  
     ================================================================= -->

<!ENTITY % mathml2 PUBLIC "-//W3C//DTD MathML 2.0//EN"
        "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd";>
%mathml2;

<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--                         Level 1 Elements                         -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<!-- =================================================================

      The header element requires at least one author, a creation date
      and a version indicator; optional content are description,
      references and mod records.
    
     ================================================================= -->

<!ELEMENT fileHeader 
     (author+, fileCreationDate, fileVersion?, description?, reference*, modificationRecord*, provenance*)
>
<!ATTLIST fileHeader
     name	CDATA	#IMPLIED
>

<!-- =================================================================

      variableDef elements provide wiring information - that is, they
      identify the input and output signals used by these function
      blocks. They also provide MathML content markup to indicate any
      calculation required to arrive at the value of the variable,
      using other variables as inputs.  The variable definition can
      include statistical information regarding the uncertainty of the
      values which it might take on, when measured after any
      calculation is performed. Information about the reason for
      inclusion or change to this element can be included in an
      optional provenance subelement.
    
     ================================================================= -->

<!ELEMENT variableDef 
     (description?, 
     (provenance? | provenanceRef?)
, calculation?, isOutput?, isState?, isStateDeriv?, isStdAIAA?, uncertainty?)
>
<!ATTLIST variableDef
     name	CDATA	#REQUIRED
     varID	ID	#REQUIRED
     units	CDATA	#REQUIRED
     axisSystem	CDATA	#IMPLIED
     sign	CDATA	#IMPLIED
     alias	CDATA	#IMPLIED
     symbol	CDATA	#IMPLIED
     initialValue	CDATA	#IMPLIED
>

<!ELEMENT variableRef EMPTY>
<!ATTLIST variableRef
     varID	IDREF	#REQUIRED
>

<!-- =================================================================

      A breakpointDef is where gridded table breakpoints are given.
      Since these are separate from function data, may be reused.
    
     ================================================================= -->

<!ELEMENT breakpointDef 
     (description?, bpVals)
>
<!ATTLIST breakpointDef
     name	CDATA	#IMPLIED
     bpID	ID	#REQUIRED
     units	CDATA	#IMPLIED
>

<!-- =================================================================

      bpVals is a set of breakpoints; that is, a set of independent
      variable values associated with one dimension of a gridded table
      of data. An example would be the Mach or angle-of-attack values
      that define the coordinates of each data point in a
      two-dimensional coefficient value table.
    
     ================================================================= -->

<!ELEMENT bpVals (#PCDATA)>


<!-- =================================================================

      A griddedTableDef contains points arranged in an orthogonal (but
      multi-dimensional) array, where the independent variables are
      defined by separate breakpoint vectors.  This table definition
      is specified separately from the actual function declaration and
      requires an XML identifier attribute so that it may be used by
      multiple functions.  The table data point values are specified
      as comma-separated values in floating-point notation
      (0.93638E-06) in a single long sequence as if the table had been
      unraveled with the last-specified dimension changing most
      rapidly.  Line breaks are to be ignored. Comments may be
      embedded in the table to promote [human] readability.
    
     ================================================================= -->

<!ELEMENT griddedTableDef 
     (description?, 
     (provenance? | provenanceRef?)
, breakpointRefs, uncertainty?, dataTable)
>
<!ATTLIST griddedTableDef
     name	CDATA	#IMPLIED
     gtID	ID	#IMPLIED
     units	CDATA	#IMPLIED
>

<!-- =================================================================

      An ungriddedTableDef contains points that are not in an
      orthogonal grid pattern; thus, the independent variable
      coordinates are specified for each dependent variable value.
      This table definition is specified separately from the actual
      function declaration and requires an XML identifier attribute so
      that it may be used by multiple functions.
    
     ================================================================= -->

<!ELEMENT ungriddedTableDef 
     (description?, 
     (provenance? | provenanceRef?)
, uncertainty?, dataPoint+)
>
<!ATTLIST ungriddedTableDef
     name	CDATA	#IMPLIED
     utID	ID	#IMPLIED
     units	CDATA	#IMPLIED
>

<!-- =================================================================

      Each function has optional description, optional provenance, and
      either a simple input/output values or references to more
      complete (possible multiple) input, output, and function data
      elements.
    
     ================================================================= -->

<!ELEMENT function 
     (description?, 
     (provenance? | provenanceRef?)
, 
     (
     (independentVarPts+, dependentVarPts)
 | 
     (independentVarRef+, dependentVarRef, functionDefn)
)
)
>
<!ATTLIST function
     name	CDATA	#REQUIRED
>

<!-- =================================================================

      This top-level element is the placeholder for verification data of various forms. It will
      include static check cases, trim shots, and dynamic check case
      information. The checkData element may contain information about
      the history of the checkData information.
    
     ================================================================= -->

<!ELEMENT checkData 
     (
     (provenance? | provenanceRef?)
, staticShot*)
>



<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--                         Level 2 Elements                         -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<!-- =================================================================

      author includes alternate means of identifying author using    
      XNS or normal e-mail/address. The address subelement is to be replaced
      with the more complete contactInfo subelement.
    
     ================================================================= -->

<!ELEMENT author 
     (address* | contactInfo*)
>
<!ATTLIST author
     name	CDATA	#REQUIRED
     org	CDATA	#REQUIRED
     xns	CDATA	#IMPLIED
     email	CDATA	#IMPLIED
>

<!-- =================================================================

      fileCreationDate is simply a string with a date in it.  We
      follow ISO 8601 and use dates like "2004-01-02" to refer to
      January 2, 2004.
    
     ================================================================= -->

<!ELEMENT fileCreationDate EMPTY>
<!ATTLIST fileCreationDate
     date	CDATA	#REQUIRED
>

<!-- =================================================================

      This is a string describing, in some arbitrary text, the version
      identifier for this function description.
    
     ================================================================= -->

<!ELEMENT fileVersion (#PCDATA)>


<!-- =================================================================

      optional description is free-form text describing something.
    
     ================================================================= -->

<!ELEMENT description (#PCDATA)>


<!-- =================================================================

      Optional isOutput element signals a variable that should be
      forced to be an output, even if it is used as an input
      elsewhere. Otherwise, using program should assume a signal
      defined with no calculation is an input; a signal defined with a
      calculation but not used elsewhere is an output; and a signal
      defined as a calculation and used subsequently in the model is
      an internal signal.
    
     ================================================================= -->

<!ELEMENT isOutput EMPTY>


<!-- =================================================================

      Option isState element identifies this variable as a state
      variable in a dynamic model; this tells the implementation that
      this is the output of an integrator (for continous models) or a
      discretely updated state (for discrete models).
    
     ================================================================= -->

<!ELEMENT isState EMPTY>


<!-- =================================================================

      Option isStateDeriv element identifies this variable as a state
      derivative variable in a dynamic model; this tells the
      implementation that this is the output of an integrator (for
      continous models only).
    
     ================================================================= -->

<!ELEMENT isStateDeriv EMPTY>


<!-- =================================================================

      Optional isStdAIAA element identifies this variable is one of
      the [draft] standard AIAA variable names which should be
      recognizable exterior to this module,
      e.g. AngleOfAttack_deg. This flag should assist importing tools
      determine when an input or output should match a
      facility-provided signal name without requiring further
      information.
    
     ================================================================= -->

<!ELEMENT isStdAIAA EMPTY>


<!-- =================================================================

      Optional calculation element is MathML 2 content markup
      describing how the signal is calculated.
    
     ================================================================= -->

<!ELEMENT calculation (math)>
<!ATTLIST calculation
     xmlns:mathml2	CDATA	#FIXED	'http://www.w3.org/TR/MathML2'
>

<!-- =================================================================

      A reference element associates an external document with an ID
      making use of XLink semantics.
    
     ================================================================= -->

<!ELEMENT reference (description?)>
<!ATTLIST reference
     xmlns:xlink	CDATA	#FIXED	'http://www.w3.org/1999/xlink'
     xlink:type	(simple)	#FIXED	'simple'
     refID	ID	#REQUIRED
     author	CDATA	#REQUIRED
     title	CDATA	#REQUIRED
     classification	CDATA	#IMPLIED
     accession	CDATA	#IMPLIED
     date	CDATA	#REQUIRED
     xlink:href	CDATA	#IMPLIED
>

<!-- =================================================================

      A modificationRecord associates a single letter (such as
      modification "A") with modification author(s), address, and any
      optional external reference documents, in keeping with the AIAA
      draft standard.
    
     ================================================================= -->

<!ELEMENT modificationRecord 
     (author+, description?, extraDocRef*)
>
<!ATTLIST modificationRecord
     modID	ID	#REQUIRED
     date	CDATA	#REQUIRED
     refID	IDREF	#IMPLIED
>

<!-- =================================================================

      A single modification event may have more than one documented
      reference. This element can be used in place of the refID
      attribute in a modificationRecord to record more than one
      refIDs, pointing to the referenced document.
    
     ================================================================= -->

<!ELEMENT extraDocRef EMPTY>
<!ATTLIST extraDocRef
     refID	IDREF	#REQUIRED
>

<!-- =================================================================

      optional provenance describes history or source of data and
      includes author, date, and zero or more references to documents
      and modification records.
    
     ================================================================= -->

<!ELEMENT provenance 
     (author+, functionCreationDate, documentRef*, modificationRef*, description?)
>
<!ATTLIST provenance
     provID	ID	#IMPLIED
>

<!-- =================================================================
 
      When the provenance of a set of several data is identical, the
      first provenance element may be given a provID and referenced by
      later data elements as a space-saving measure.
    
     ================================================================= -->

<!ELEMENT provenanceRef EMPTY>
<!ATTLIST provenanceRef
     provID	IDREF	#REQUIRED
>

<!-- =================================================================

      An independentVarPts element is a simple list of breakpoints and contains a mandatory varID
      identifier as well as optional name, units, and sign convention attributes. 

      An optional extrapolate attribute describes how to extrapolate the output value when the input
      value exceeds specified values (default is 'neither,' meaning the value of the table is held
      constant at the nearest defined value). An optional interpolate attribute indicates how to
      perform the interpolation within the table (supporting discrete, linear, cubic or quadratic
      splines). There are three different discrete options: 'discrete' means nearest-neighbor, with
      an exact mid-point value being rounded in the positive direction; 'floor' means the function
      takes on the value associated with the next (numerically) higher independent breakpoint as
      soon as original value is exceeded, and 'ceiling' means the function holds the value
      associated with each breakpoint until the next (numerically) higher breakpoint value is
      reached by the independent argument. The default interpolation attribute value is 'linear.'

      This element is used for simple functions that don't share breakpoint or table values with
      other functions.
    
     ================================================================= -->

<!ELEMENT independentVarPts (#PCDATA)>
<!ATTLIST independentVarPts
     varID	IDREF	#REQUIRED
     name	CDATA	#IMPLIED
     units	CDATA	#IMPLIED
     sign	CDATA	#IMPLIED
     extrapolate	(neither | min | max | both) #IMPLIED
     interpolate	(discrete | floor | ceiling | linear | quadraticSpline | cubicSpline) #IMPLIED
>

<!-- =================================================================

      A dependentVarPts element is a simple of function values and
      contains a mandatory varID as well as optional name, units, and
      sign convention attributes.  Data points are arranged as single
      vector with last-specified breakpoint values changing most
      frequently. Note that the number of dependent values must equal
      the product of the number of independent values for this simple,
      gridded, realization.  This element is used for simple functions
      that don't share breakpoint or table values with other
      functions.
    
     ================================================================= -->

<!ELEMENT dependentVarPts (#PCDATA)>
<!ATTLIST dependentVarPts
     varID	IDREF	#REQUIRED
     name	CDATA	#IMPLIED
     units	CDATA	#IMPLIED
     sign	CDATA	#IMPLIED
>

<!-- =================================================================

      An independentVarRef more fully describes the input mapping of the function by pointing to a
      separate breakpoint definition element. 

      An optional extrapolate attribute describes how to extrapolate the output value when the input
      value exceeds specified values (default is 'neither,' meaning the value of the table is held
      constant at the nearest defined value). An optional interpolate attribute indicates how to
      perform the interpolation within the table (supporting discrete, linear, cubic or quadratic
      splines). There are three different discrete options: 'discrete' means nearest-neighbor, with
      an exact mid-point value being rounded in the positive direction; 'floor' means the
      function takes on the value associated with the next (numerically) higher independent
      breakpoint as soon as original value is exceeded, and 'ceiling' means the function
      holds the value associated with each breakpoint until the next (numerically) higher breakpoint
      value is reached by the independent argument. The default interpolation attribute value is
      'linear.'

      This element allows reuse of common breakpoint values for many tables, but with possible
      differences in interpolation or extrapolation for each use.
    
     ================================================================= -->

<!ELEMENT independentVarRef EMPTY>
<!ATTLIST independentVarRef
     varID	IDREF	#REQUIRED
     min	CDATA	#IMPLIED
     max	CDATA	#IMPLIED
     extrapolate	(neither | min | max | both) #IMPLIED
     interpolate	(discrete | floor | ceiling | linear | quadraticSpline | cubicSpline) #IMPLIED
>

<!-- =================================================================

      A dependentVarRef ties the output of a function to a signal name
      defined previously in a variable definition.
    
     ================================================================= -->

<!ELEMENT dependentVarRef EMPTY>
<!ATTLIST dependentVarRef
     varID	IDREF	#REQUIRED
>

<!-- =================================================================

      A functionDefn defines how function is represented in one of two
      possible ways: gridded (implies breakpoints), or ungridded (with
      explicit independent values for each point).
    
     ================================================================= -->

<!ELEMENT functionDefn 
     (griddedTableRef | griddedTableDef | griddedTable | ungriddedTableRef | ungriddedTableDef | ungriddedTable)
>
<!ATTLIST functionDefn
     name	CDATA	#IMPLIED
>


<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--                         Level 3 Elements                         -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<!ELEMENT address (#PCDATA)>


<!-- =================================================================

      Used to provide contact information about an author. Use
      contactInfoType to differentiate what information is being
      conveyed, and contactLocation to denote location of the address.
    
     ================================================================= -->

<!ELEMENT contactInfo (#PCDATA)>
<!ATTLIST contactInfo
     contactInfoType	(address | phone | fax | email | iname | web) #IMPLIED
     contactLocation	(professional | personal | mobile) #IMPLIED
>

<!ELEMENT functionCreationDate EMPTY>
<!ATTLIST functionCreationDate
     date	CDATA	#REQUIRED
>

<!ELEMENT documentRef EMPTY>
<!ATTLIST documentRef
     docID	IDREF	#IMPLIED
     refID	IDREF	#REQUIRED
>

<!ELEMENT modificationRef EMPTY>
<!ATTLIST modificationRef
     modID	IDREF	#REQUIRED
>

<!ELEMENT griddedTableRef EMPTY>
<!ATTLIST griddedTableRef
     gtID	IDREF	#REQUIRED
>

<!ELEMENT griddedTable 
     (breakpointRefs, confidenceBound?, dataTable)
>
<!ATTLIST griddedTable
     name	CDATA	#IMPLIED
>

<!ELEMENT ungriddedTableRef EMPTY>
<!ATTLIST ungriddedTableRef
     utID	IDREF	#REQUIRED
>

<!ELEMENT ungriddedTable 
     (confidenceBound?, dataPoint+)
>
<!ATTLIST ungriddedTable
     name	CDATA	#IMPLIED
>

<!-- =================================================================

      Contains a description of the inputs and outputs, and possibly internal values, of a DAVE-ML
      model in a particular instant of time.
    
     ================================================================= -->

<!ELEMENT staticShot 
     (checkInputs, internalValues?, checkOutputs)
>
<!ATTLIST staticShot
     name	CDATA	#REQUIRED
     refID	IDREF	#IMPLIED
>


<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--                         Level 4 Elements                         -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<!-- =================================================================

      The breakpointRefs elements tie the independent variable names
      for the function to specific breakpoint values defined earlier.
    
     ================================================================= -->

<!ELEMENT breakpointRefs (bpRef+)>


<!-- =================================================================

      The confidenceBound element is used to declare the confidence
      interval associated with the data table. This is a placeholder
      and will be removed in a future version of DAVE-ML.
    
     ================================================================= -->

<!ELEMENT confidenceBound EMPTY>
<!ATTLIST confidenceBound
     value	CDATA	#REQUIRED
>

<!-- =================================================================

      This optional element is used in function and parameter
      definitions to describe statistical variance in the possible
      value of that function or parameter value. Only Gaussian
      (normal) or uniform distributions of continuous random variable
      distribution functions are supported.
    
     ================================================================= -->

<!ELEMENT uncertainty 
     (normalPDF | uniformPDF)
>
<!ATTLIST uncertainty
     effect	(additive | multiplicative | percentage | absolute) #REQUIRED
>

<!-- =================================================================

      The dataTable element is used by gridded tables where the indep.
      variable values are implied by breakpoint sets. Thus, the data
      embedded between the dataTable element tags is expected to be
      sorted ASCII values of the gridded table, wherein the last
      independent variable listed in the function header varies most
      rapidly. Values are comma or whitespace separated values.

      A dataTable element can also be used in an uncertainty element
      to provide duplicate uncertainty bound values.
    
     ================================================================= -->

<!ELEMENT dataTable (#PCDATA)>


<!-- =================================================================

      The dataPoint element is used by ungridded tables to list the
      values of independent variables that are associated with each
      value of dependent variable. For example:
                                                                 
 <dataPoint>                                                     
   0.1, -4.0, 0.2      <!- Mach, alpha, CL ->                    
 </dataPoint>                                                    
 <dataPoint>                                                     
   0.1,  0.0, 0.6      <!- Mach, alpha  CL ->                    
 </dataPoint>                                                    
                                                                 
      Each data point may have associated with it a modification tag
      to document the genesis of that particular point.  No
      requirement on ordering of independent variables is implied.
      Since this is a ungridded table, the intepreting application is
      required to handle what may be unsorted data.
    
     ================================================================= -->

<!ELEMENT dataPoint (#PCDATA)>
<!ATTLIST dataPoint
     modID	IDREF	#IMPLIED
>

<!-- =================================================================
Specifies the contents of the input vector for the given check case.
     ================================================================= -->

<!ELEMENT checkInputs (signal+)>


<!-- =================================================================

      Provides a set of all internal variable values to assist in debugging recalcitrant
      implementations of DAVE-ML import tools.
    
     ================================================================= -->

<!ELEMENT internalValues (signal+)>


<!-- =================================================================
Specifies the contents of the output vector for the given check case.
     ================================================================= -->

<!ELEMENT checkOutputs (signal+)>



<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--                         Level 5 Elements                         -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<!-- =================================================================

      The bpRef element provides references to breakpoint lists so
      breakpoints can be defined separately from, and reused by,
      several data tables.
    
     ================================================================= -->

<!ELEMENT bpRef EMPTY>
<!ATTLIST bpRef
     bpID	IDREF	#REQUIRED
>

<!-- =================================================================

      In a normally distributed random variable, a symmetrical
      distribution of given standard deviation is assumed about the
      nominal value (which is given elsewhere in the parent element).

      The correlatesWith subelement references other functions or
      variables that have a linear correlation to the current
      parameter or function. The correlation subelement specifies the
      correlation coefficient and references the other function or
      variable whose random value helps determine the value of this
      parameter.
    
     ================================================================= -->

<!ELEMENT normalPDF 
     (bounds, correlatesWith*, correlation*)
>
<!ATTLIST normalPDF
     numSigmas	CDATA	#REQUIRED
>

<!-- =================================================================

      In a uniformly distributed random variable, the value of the
      parameter has equal likelihood of assuming any value within the
      (possibly asymmetric) bounds, which must bracket the nominal
      value (which is given elsewhere in the parent element).
    
     ================================================================= -->

<!ELEMENT uniformPDF (bounds+)>
<!ATTLIST uniformPDF
     symmetric	(yes | no) #REQUIRED
>

<!-- =================================================================

      This element contains some description of the statistical limits
      to the values the citing parameter element might take on. This
      can be in the form of a scalar value, a[n] [un]griddedTableRef
      reference to an existing table definition, or a private
      [un]griddedTableDef, or a private table. In the case of formal
      table references or definitions, these tables define their own
      dependency, independent of the underlying random variable (whose
      nominal value is probably specified in a parent table
      definition). In the more common instance, this element will
      either be a scalar constant value or a simple table, whose
      dimensions must match the parent nominal function table and
      whose independent variables are identical to the nominal
      table. It is also possible that this limit be determined by an
      independent variable.
    
     ================================================================= -->

<!ELEMENT bounds 
     (#PCDATA | dataTable | variableDef | variableRef)*
>


<!-- =================================================================

      When present, this element indicates the parent function or
      variable is correlated with the referenced other function or
      variable in a linear sense.  This alerts the application that
      the random number used to calculate this function or variable's
      immediate value will be used to calculate another function of
      variable's value.
    
     ================================================================= -->

<!ELEMENT correlatesWith EMPTY>
<!ATTLIST correlatesWith
     varID	IDREF	#REQUIRED
>

<!-- =================================================================

      When present, this element indicates the parent function or
      variable is correlated with the referenced other function or
      variable in a linear sense, and gives the correlation
      coefficient for determining this function's random value based
      upon the correlating function(s) random value.
    
     ================================================================= -->

<!ELEMENT correlation EMPTY>
<!ATTLIST correlation
     varID	IDREF	#REQUIRED
     corrCoef	CDATA	#REQUIRED
>

<!-- =================================================================

      This element is used to document the name, ID, value, tolerance, and units of measure for
      checkcases. When used with checkInputs or checkOutputs, the signalName subelement must be
      present (since check cases are viewed from "outside" the model); when used in an
      internalValues element, the signalID subelement should be used to identify the signal by ID
      (which is the model-unique internal reference for each signal). When used in a checkOutputs
      vector, the tol element must be present.
    
     ================================================================= -->

<!ELEMENT signal 
     (
     (
     (signalName, signalUnits?)
 | 
     (signalID)
)
, signalValue, tol?)
>



<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!--                         Level 6 Elements                         -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<!-- =================================================================

      Used inside a checkCase element to specify the input or output variable name
    
     ================================================================= -->

<!ELEMENT signalName (#PCDATA)>


<!-- =================================================================

      Used inside a checkCase element to specify the input or output varID
    
     ================================================================= -->

<!ELEMENT signalID (#PCDATA)>


<!-- =================================================================

      Used inside a checkCase element to specify the units-of-measure for an input or output
      variable, for verification of proper implementation of a model.
    
     ================================================================= -->

<!ELEMENT signalUnits (#PCDATA)>


<!-- =================================================================

      Used inside a checkCase element to give the current value of an internal signal or
      input/output variable, for verification of proper implementation of a model.
    
     ================================================================= -->

<!ELEMENT signalValue (#PCDATA)>


<!-- =================================================================

      This element specifies the allowable tolerance of error in an output value such that the model
      can be considered verified. It is assumed all uncertainty is removed in performing the model
      calculations.
    
     ================================================================= -->

<!ELEMENT tol (#PCDATA)>


Reply via email to