<!DOCTYPE html >
<html>
        <head>
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
          <title>Apache Daffodil 3.1.0 Scala API  - org.apache.daffodil.sapi.infoset.W3CDOMInfosetInputter</title>
          <meta name="description" content="Apache Daffodil 3.1.0 Scala API - org.apache.daffodil.sapi.infoset.W3CDOMInfosetInputter" />
          <meta name="keywords" content="Apache Daffodil 3.1.0 Scala API org.apache.daffodil.sapi.infoset.W3CDOMInfosetInputter" />
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
          
      
      <link href="../../../../../lib/index.css" media="screen" type="text/css" rel="stylesheet" />
      <link href="../../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet" />
      <link href="../../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />
      <script type="text/javascript" src="../../../../../lib/jquery.min.js"></script>
      <script type="text/javascript" src="../../../../../lib/jquery.panzoom.min.js"></script>
      <script type="text/javascript" src="../../../../../lib/jquery.mousewheel.min.js"></script>
      <script type="text/javascript" src="../../../../../lib/index.js"></script>
      <script type="text/javascript" src="../../../../../index.js"></script>
      <script type="text/javascript" src="../../../../../lib/scheduler.js"></script>
      <script type="text/javascript" src="../../../../../lib/template.js"></script>
      
      <script type="text/javascript">
        /* this variable can be used by the JS to determine the path to the root document */
        var toRoot = '../../../../../';
      </script>
    
        </head>
        <body>
      <div id="search">
        <span id="doc-title">Apache Daffodil 3.1.0 Scala API<span id="doc-version"></span></span>
        <span class="close-results"><span class="left">&lt;</span> Back</span>
        <div id="textfilter">
          <span class="input">
            <input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/" />
            <i class="clear material-icons"></i>
            <i id="search-icon" class="material-icons"></i>
          </span>
        </div>
    </div>
      <div id="search-results">
        <div id="search-progress">
          <div id="progress-fill"></div>
        </div>
        <div id="results-content">
          <div id="entity-results"></div>
          <div id="member-results"></div>
        </div>
      </div>
      <div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;">
        <div id="content-container" style="-webkit-overflow-scrolling: touch;">
          <div id="subpackage-spacer">
            <div id="packages">
              <h1>Packages</h1>
              <ul>
                <li name="_root_.root" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="_root_"></a><a id="root:_root_"></a>
      <span class="permalink">
      <a href="../../../../../index.html" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a title="This is the documentation for the Apache Daffodil Scala API." href="../../../../../index.html"><span class="name">root</span></a>
      </span>
      
      <p class="shortcomment cmt">This is the documentation for the Apache Daffodil Scala API.</p><div class="fullcomment"><div class="comment cmt"><p>This is the documentation for the Apache Daffodil Scala API.</p><h5> Package structure </h5><p><a href="../index.html" class="extype" name="org.apache.daffodil.sapi">org.apache.daffodil.sapi</a> - Provides the classes necessary to compile DFDL schemas, parse and unparse files using the compiled objects, and retrieve results and parsing diagnostics</p><p><a href="../../udf/index.html" class="extype" name="org.apache.daffodil.udf">org.apache.daffodil.udf</a> - Provides the classes necessary to create User Defined Functions to extend the DFDL expression language</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../../../../../index.html" class="extype" name="_root_">root</a></dd></dl></div>
    </li><li name="_root_.org" visbl="pub" class="indented1 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="org"></a><a id="org:org"></a>
      <span class="permalink">
      <a href="../../../../../org/index.html" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a title="" href="../../../../index.html"><span class="name">org</span></a>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../../../../../index.html" class="extype" name="_root_">root</a></dd></dl></div>
    </li><li name="org.apache" visbl="pub" class="indented2 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="apache"></a><a id="apache:apache"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/index.html" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a title="" href="../../../index.html"><span class="name">apache</span></a>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../../../../index.html" class="extype" name="org">org</a></dd></dl></div>
    </li><li name="org.apache.daffodil" visbl="pub" class="indented3 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="daffodil"></a><a id="daffodil:daffodil"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/index.html" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a title="" href="../../index.html"><span class="name">daffodil</span></a>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../../../index.html" class="extype" name="org.apache">apache</a></dd></dl></div>
    </li><li name="org.apache.daffodil.sapi" visbl="pub" class="indented4 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="sapi"></a><a id="sapi:sapi"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/index.html" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a title="Provides the classes necessary to compile DFDL schemas, parse and unparse files using the compiled objects, and retrieve results and parsing diagnostics" href="../index.html"><span class="name">sapi</span></a>
      </span>
      
      <p class="shortcomment cmt">Provides the classes necessary to compile DFDL schemas, parse and
unparse files using the compiled objects, and retrieve results and
parsing diagnostics</p><div class="fullcomment"><div class="comment cmt"><p>Provides the classes necessary to compile DFDL schemas, parse and
unparse files using the compiled objects, and retrieve results and
parsing diagnostics</p><h5> Overview </h5><p>The <a href="../Daffodil$.html" class="extype" name="org.apache.daffodil.sapi.Daffodil">Daffodil</a> object is a factory object to create a <a href="../Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a>. The
<a href="../Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> provides a method to compile a provided DFDL schema into a
<a href="../ProcessorFactory.html" class="extype" name="org.apache.daffodil.sapi.ProcessorFactory">ProcessorFactory</a>, which creates a <a href="../DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a>:</p><pre><span class="kw">val</span> c = Daffodil.compiler()
<span class="kw">val</span> pf = c.compileFile(file)
<span class="kw">val</span> dp = pf.onPath(<span class="lit">"/"</span>)</pre><p>The <a href="../DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> provides the necessary functions to parse and unparse
data, returning a <a href="../ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a> or <a href="../UnparseResult.html" class="extype" name="org.apache.daffodil.sapi.UnparseResult">UnparseResult</a>, respectively. These
contain information about the parse/unparse, such as whether or not the
processing succeeded with any diagnostic information.</p><p>The <a href="../DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> also provides two functions that can be used to perform parsing/unparsing
via the SAX API. The first creates a <a href="../DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a> which is used for parsing, and the
second creates a <a href="../DaffodilUnparseContentHandler.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler">DaffodilUnparseContentHandler</a> which is used for unparsing.</p><pre><span class="kw">val</span> xmlReader = dp.newXMLReaderInstance
<span class="kw">val</span> unparseContentHandler = dp.newContentHandlerInstance(output)</pre><p>The <a href="../DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a> has several methods that allow one to set properties and handlers
(such as ContentHandlers or ErrorHandlers) for the reader. One can use any
contentHandler/errorHandler as long as they extend the org.xml.sax.ContentHandler and
org.xml.sax.ErrorHandler interfaces respectively. One can also set properties for the
<a href="../DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a> using <a href="../DaffodilParseXMLReader.html#setProperty(name:String,value:AnyRef):Unit" class="extmbr" name="org.apache.daffodil.sapi.DaffodilParseXMLReader#setProperty">DaffodilParseXMLReader.setProperty</a>.</p><p>The following properties can be set as follows:</p><p><i>The constants below have literal values starting with
"urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:sax:" and ending with "BlobDirectory",
"BlobPrefix" and "BlobSuffix" respectively.</i></p><pre>xmlReader.setProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_BLOBDIRECTORY,
 Paths.get(System.getProperty(<span class="lit">"java.io.tmpdir"</span>))) <span class="cmt">// value type: java.nio.file.Paths</span>
xmlReader.setProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_BLOBPREFIX, <span class="lit">"daffodil-sax-"</span>) <span class="cmt">// value type String</span>
xmlReader.setProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_BLOBSUFFIX, <span class="lit">".bin"</span>) <span class="cmt">// value type String</span></pre><p>The properties can be retrieved using the same variables with
<a href="../DaffodilParseXMLReader.html#getProperty(name:String):AnyRef" class="extmbr" name="org.apache.daffodil.sapi.DaffodilParseXMLReader#getProperty">DaffodilParseXMLReader.getProperty</a> and casting
to the appropriate type as listed above.</p><p>The following handlers can be set as follows:</p><pre>xmlReader.setContentHandler(contentHandler)
xmlReader.setErrorHandler(errorHandler)</pre><p>The handlers above must implement the following interfaces respectively:</p><pre>org.xml.sax.ContentHandler
org.xml.sax.ErrorHandler</pre><p>The <a href="../ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a> can be found as a property within the <a href="../DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a> using this
uri: &quot;urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:sax:ParseResult&quot; or
<a href="../DaffodilParseXMLReader$.html#DAFFODIL_SAX_URN_PARSERESULT:String" class="extmbr" name="org.apache.daffodil.sapi.DaffodilParseXMLReader#DAFFODIL_SAX_URN_PARSERESULT">DaffodilParseXMLReader.DAFFODIL_SAX_URN_PARSERESULT</a></p><p>In order for a successful unparse to happen, the SAX API requires the
unparse to be kicked off by a parse call to any org.xml.sax.XMLReader implementation that has the
<a href="../DaffodilUnparseContentHandler.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler">DaffodilUnparseContentHandler</a> registered as its content handler. To retrieve the <a href="../UnparseResult.html" class="extype" name="org.apache.daffodil.sapi.UnparseResult">UnparseResult</a>,
one can use <a href="../DaffodilUnparseContentHandler.html#getUnparseResult:org.apache.daffodil.sapi.UnparseResult" class="extmbr" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler#getUnparseResult">DaffodilUnparseContentHandler.getUnparseResult</a> once the XMLReader.parse run is
complete.</p><h6> Parse </h6><h6> Dataprocessor Parse </h6><p>The <a href="../DataProcessor.html#parse(input:org.apache.daffodil.sapi.io.InputSourceDataInputStream,output:org.apache.daffodil.sapi.infoset.InfosetOutputter):org.apache.daffodil.sapi.ParseResult" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#parse">DataProcessor.parse</a> method accepts input data to parse in the form of a <a href="../io/InputSourceDataInputStream.html" class="extype" name="org.apache.daffodil.sapi.io.InputSourceDataInputStream">InputSourceDataInputStream</a> and an <a href="InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> to determine
the output representation of the infoset (e.g. Scala XML Nodes, JDOM2 Documents, etc.):</p><pre><span class="kw">val</span> scalaOutputter = <span class="kw">new</span> ScalaXMLInfosetOutputter()
<span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(data)
<span class="kw">val</span> pr = dp.parse(is, scalaOutputter)
<span class="kw">val</span> node = scalaOutputter.getResult</pre><p>The <a href="../DataProcessor.html#parse(input:org.apache.daffodil.sapi.io.InputSourceDataInputStream,output:org.apache.daffodil.sapi.infoset.InfosetOutputter):org.apache.daffodil.sapi.ParseResult" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#parse">DataProcessor.parse</a> method is thread-safe and may be called multiple times without the need to
create other data processors. However, <a href="InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a>'s are not
thread safe, requiring a unique instance per thread. An <a href="InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a>
should call <a href="InfosetOutputter.html#reset():Unit" class="extmbr" name="org.apache.daffodil.sapi.infoset.InfosetOutputter#reset">InfosetOutputter.reset</a> before reuse (or a new one
should be allocated). For example:</p><pre><span class="kw">val</span> scalaOutputter = <span class="kw">new</span> ScalaXMLInfosetOutputter()
files.foreach { f <span class="kw">=&gt;</span> {
  outputter.reset
  <span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(<span class="kw">new</span> FileInputStream(f))
  <span class="kw">val</span> pr = dp.parse(is, scalaOutputter)
  <span class="kw">val</span> node = scalaOutputter.getResult
}</pre><p>One can repeat calls to parse() using the same InputSourceDataInputStream to continue parsing
where the previous parse ended. For example:</p><pre><span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(dataStream)
<span class="kw">val</span> scalaOutputter = <span class="kw">new</span> ScalaXMLInfosetOutputter()
<span class="kw">val</span> keepParsing = <span class="kw">true</span>
<span class="kw">while</span> (keepParsing &amp;&amp; is.hasData()) {
  scalaOutputter.reset()
  <span class="kw">val</span> pr = dp.parse(is, jdomOutputter)
  ...
  keepParsing = !pr.isError()
}</pre><h6> SAX Parse </h6><p>The <a href="../DaffodilParseXMLReader.html#parse(isdis:org.apache.daffodil.sapi.io.InputSourceDataInputStream):Unit" class="extmbr" name="org.apache.daffodil.sapi.DaffodilParseXMLReader#parse">DaffodilParseXMLReader.parse</a> method accepts input data to parse in the form of a
<a href="../io/InputSourceDataInputStream.html" class="extype" name="org.apache.daffodil.sapi.io.InputSourceDataInputStream">InputSourceDataInputStream</a>. The output representation of the
infoset, as well as how parse errors are handled, are dependent on the content handler and the
error handler provided to the <a href="../DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a>. For example, the org.jdom2.input.sax.SAXHandler
provides a JDOM representation, whereas other ContentHandlers may output directly to a
java.io.OutputStream or java.io.Writer.</p><pre><span class="kw">val</span> contentHandler = <span class="kw">new</span> SAXHandler()
xmlReader.setContentHandler(contentHandler)
<span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(data)
xmlReader.parse(is)
<span class="kw">val</span> pr = xmlReader.getProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_PARSERESULT)
<span class="kw">val</span> doc = saxHandler.getDocument</pre><p>The <a href="../DaffodilParseXMLReader.html#parse(isdis:org.apache.daffodil.sapi.io.InputSourceDataInputStream):Unit" class="extmbr" name="org.apache.daffodil.sapi.DaffodilParseXMLReader#parse">DaffodilParseXMLReader.parse</a> method is not thread-safe and may only be called again/reused once
a parse operation is completed. This can be done multiple times without the need to create new
DaffodilParseXMLReaders, ContentHandlers or ErrorHandlers. It might be necessary to reset whatever
ContentHandler is used (or allocate a new one). A thread-safe implementation would require unique
instances of the DaffodilParseXMLReader and its components. For example:</p><pre><span class="kw">val</span> contentHandler = <span class="kw">new</span> SAXHandler()
xmlReader.setContentHandler(contentHandler)
files.foreach { f <span class="kw">=&gt;</span> {
  contentHandler.reset
  <span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(<span class="kw">new</span> FileInputStream(f))
  xmlReader.parse(is)
  <span class="kw">val</span> pr = xmlReader.getProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_PARSERESULT)
  <span class="kw">val</span> doc = saxHandler.getDocument
}</pre><p>The value of the supported features cannot be changed during a parse, and the parse will run
with the value of the features as they were when the parse was kicked off. To run a parse with
different feature values, one must wait until the running parse finishes, set the feature values
using the XMLReader's setFeature and run the parse again.</p><p>One can repeat calls to parse() using the same InputSourceDataInputStream to continue parsing
where the previous parse ended. For example:</p><pre><span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(dataStream)
<span class="kw">val</span> contentHandler = <span class="kw">new</span> SAXHandler()
xmlReader.setContentHandler(contentHandler)
<span class="kw">val</span> keepParsing = <span class="kw">true</span>
<span class="kw">while</span> (keepParsing &amp;&amp; is.hasData()) {
  contentHandler.reset()
  xmlReader.parse(is)
  <span class="kw">val</span> pr = xmlReader.getProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_PARSERESULT)
  ...
  keepParsing = !pr.isError()
}</pre><h6> Unparse </h6><h6> Dataprocessor Unparse </h6><p>The same <a href="../DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> used for parse can be used to unparse an infoset
via the <a href="../DataProcessor.html#unparse(input:org.apache.daffodil.sapi.infoset.InfosetInputter,output:java.nio.channels.WritableByteChannel):org.apache.daffodil.sapi.UnparseResult" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#unparse">DataProcessor.unparse</a> method. An
<a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> provides the infoset to unparse, with the unparsed
data written to the provided java.nio.channels.WritableByteChannel. For example:</p><pre><span class="kw">val</span> inputter = <span class="kw">new</span> ScalaXMLInfosetInputter(node)
<span class="kw">val</span> ur = dp.unparse(inputter, wbc)</pre><h6> SAX Unparse </h6><p>In order to kick off an unparse via the SAX API, one must register the <a href="../DaffodilUnparseContentHandler.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler">DaffodilUnparseContentHandler</a>
as the contentHandler for an XMLReader implementation. The call to the
<a href="../DataProcessor.html#newContentHandlerInstance(output:java.nio.channels.WritableByteChannel):org.apache.daffodil.sapi.DaffodilUnparseContentHandler" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#newContentHandlerInstance">DataProcessor.newContentHandlerInstance</a> method
must be provided with the java.nio.channels.WritableByteChannel, where the unparsed data ought to
be written to. Any XMLReader implementation is permissible, as long as they have XML
Namespace support.</p><pre><span class="kw">val</span> is = <span class="kw">new</span> ByteArrayInputStream(data)
<span class="kw">val</span> os = <span class="kw">new</span> ByteArrayOutputStream()
<span class="kw">val</span> wbc = java.nio.channels.Channels.newChannel(os)
<span class="kw">val</span> unparseContentHandler = dp.newContentHandlerInstance(wbc)
<span class="kw">val</span> xmlReader = SAXParserFactory.newInstance.newSAXParser.getXMLReader
xmlReader.setContentHandler(unparseContentHandler)
<span class="kw">try</span> {
 xmlReader.parse(is)
} <span class="kw">catch</span> {
 <span class="kw">case</span> _: DaffodilUnparseErrorSAXException <span class="kw">=&gt;</span> ...
 <span class="kw">case</span> _: DaffodilUnhandledSAXException <span class="kw">=&gt;</span> ...
}</pre><p>The call to the XMLReader.parse method must be wrapped in a try/catch, as <a href="../DaffodilUnparseContentHandler.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler">DaffodilUnparseContentHandler</a>
relies on throwing an exception to end processing in the case of anyerrors/failures.
There are two kinds of errors to expect: <a href="../DaffodilUnparseErrorSAXException.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseErrorSAXException">DaffodilUnparseErrorSAXException</a>, for the case when
the <a href="../UnparseResult.html#isError():Boolean" class="extmbr" name="org.apache.daffodil.sapi.UnparseResult#isError">UnparseResult.isError</a>, and <a href="../DaffodilUnhandledSAXException.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnhandledSAXException">DaffodilUnhandledSAXException</a>, for any other errors.</p><p>In the case of an <a href="../DaffodilUnhandledSAXException.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnhandledSAXException">DaffodilUnhandledSAXException</a>,<a href="../DaffodilUnparseContentHandler.html#getUnparseResult:org.apache.daffodil.sapi.UnparseResult" class="extmbr" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler#getUnparseResult">DaffodilUnparseContentHandler.getUnparseResult</a>
will return null.</p><pre><span class="kw">try</span> {
  xmlReader.parse(<span class="kw">new</span> InputSource(is))
} <span class="kw">catch</span> {
  <span class="kw">case</span> _: DaffodilUnhandledSAXException <span class="kw">=&gt;</span> ...
  <span class="kw">case</span> _: DaffodilUnparseErrorSAXException <span class="kw">=&gt;</span> ...
}
<span class="kw">val</span> ur = unparseContentHandler.getUnparseResult</pre><h5> Failures and Diagnostics </h5><p>It is possible that failures could occur during the creation of the
<a href="../ProcessorFactory.html" class="extype" name="org.apache.daffodil.sapi.ProcessorFactory">ProcessorFactory</a>, <a href="../DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a>, or <a href="../ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a>. However, rather than
throwing an exception on error (e.g. invalid DFDL schema, parse
error, etc), these classes extend <a href="../WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a>, which is used to
determine if an error occurred, and any diagnostic information (see
<a href="../Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a>) related to the step. Thus, before continuing, one must check
<a href="../WithDiagnostics.html#isError():Boolean" class="extmbr" name="org.apache.daffodil.sapi.WithDiagnostics#isError">WithDiagnostics.isError</a>. For example:</p><pre><span class="kw">val</span> pf = c.compile(file)
<span class="kw">if</span> (pf.isError()) {
  <span class="kw">val</span> diags = pf.getDiagnostics()
  diags.foreach { d <span class="kw">=&gt;</span>
    System.out.println(d.toString())
  }
  <span class="kw">return</span> -<span class="num">1</span>;
}</pre><h5> Saving and Reloading Parsers </h5><p>In some cases, it may be beneficial to save a parser and reload it.
For example, when starting up, it may be quicker to reload an
already compiled parser than to compile it from scratch. To save a
<a href="../DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a>:</p><pre><span class="kw">val</span> dp = pf.onPath(<span class="lit">"/"</span>)
dp.save(saveFile);</pre><p>And to restore a saved <a href="../DataProcessor.html" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a>:</p><pre><span class="kw">val</span> dp = Daffodil.reload(saveFile);</pre><p>And use like below:</p><pre><span class="kw">val</span> pr = dp.parse(data);</pre><p>or</p><pre><span class="kw">val</span> xmlReader = dp.newXMLReaderInstance
... <span class="cmt">// setting appropriate handlers</span>
xmlReader.parse(data)
<span class="kw">val</span> pr = xmlReader.getProperty(<span class="lit">"...ParseResult"</span>)</pre></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../../index.html" class="extype" name="org.apache.daffodil">daffodil</a></dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset" visbl="pub" class="indented5 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="infoset"></a><a id="infoset:infoset"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/index.html" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <a title="Defines various classes used control the representation of the infoset for parse and unparse." href="index.html"><span class="name">infoset</span></a>
      </span>
      
      <p class="shortcomment cmt">Defines various classes used control the representation of the infoset for parse and unparse.</p><div class="fullcomment"><div class="comment cmt"><p>Defines various classes used control the representation of the infoset for parse and unparse.
Classes that extend <a href="InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> are provided to the <a href="../DataProcessor.html#parse(input:org.apache.daffodil.sapi.io.InputSourceDataInputStream,output:org.apache.daffodil.sapi.infoset.InfosetOutputter):org.apache.daffodil.sapi.ParseResult" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#parse">DataProcessor.parse</a>
method to deteremine how to output an infoset. These classes are not
guaranteed to be thread-safe. Classes that extend <a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> are
provided to the <a href="../DataProcessor.html#unparse(input:org.apache.daffodil.sapi.infoset.InfosetInputter,output:java.nio.channels.WritableByteChannel):org.apache.daffodil.sapi.UnparseResult" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#unparse">DataProcessor.unparse</a> method to determine how to read in
an infoset. A new InfosetOutputter is required for each call to unparse().
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../index.html" class="extype" name="org.apache.daffodil.sapi">sapi</a></dd></dl></div>
    </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="InfosetInputter.html" title="Abstract class used to determine how the infoset representation should be input from a call to DataProcessor.unparse."></a>
                        <a href="InfosetInputter.html" title="Abstract class used to determine how the infoset representation should be input from a call to DataProcessor.unparse.">InfosetInputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="InfosetInputterProxy.html" title="A proxy for InfosetInputters that are internal to Daffodil"></a>
                        <a href="InfosetInputterProxy.html" title="A proxy for InfosetInputters that are internal to Daffodil">InfosetInputterProxy</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="InfosetOutputter.html" title="Abstract class used to determine how the infoset representation should be output from a call to DataProcessor.parse."></a>
                        <a href="InfosetOutputter.html" title="Abstract class used to determine how the infoset representation should be output from a call to DataProcessor.parse.">InfosetOutputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="InfosetOutputterProxy.html" title="A proxy for InfosetOutputters that are internal to Daffodil"></a>
                        <a href="InfosetOutputterProxy.html" title="A proxy for InfosetOutputters that are internal to Daffodil">InfosetOutputterProxy</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="JDOMInfosetInputter.html" title="InfosetInputter to read an infoset represented as an org.jdom2.Document"></a>
                        <a href="JDOMInfosetInputter.html" title="InfosetInputter to read an infoset represented as an org.jdom2.Document">JDOMInfosetInputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="JDOMInfosetOutputter.html" title="InfosetOutputter to build an infoset represented as an org.jdom2.Document"></a>
                        <a href="JDOMInfosetOutputter.html" title="InfosetOutputter to build an infoset represented as an org.jdom2.Document">JDOMInfosetOutputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="JsonInfosetInputter.html" title="InfosetInputter to read an infoset represented as JSON from a java.io.InputStream"></a>
                        <a href="JsonInfosetInputter.html" title="InfosetInputter to read an infoset represented as JSON from a java.io.InputStream">JsonInfosetInputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="JsonInfosetOutputter.html" title="InfosetOutputter to build an infoset represented as JSON written to a java.io.OutputStream"></a>
                        <a href="JsonInfosetOutputter.html" title="InfosetOutputter to build an infoset represented as JSON written to a java.io.OutputStream">JsonInfosetOutputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="NullInfosetOutputter.html" title="InfosetOutputter that does not build an infoset represention, ignoring all InfosetOutputter events"></a>
                        <a href="NullInfosetOutputter.html" title="InfosetOutputter that does not build an infoset represention, ignoring all InfosetOutputter events">NullInfosetOutputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="ScalaXMLInfosetInputter.html" title="InfosetInputter to read an infoset represented as a scala.xml.Node"></a>
                        <a href="ScalaXMLInfosetInputter.html" title="InfosetInputter to read an infoset represented as a scala.xml.Node">ScalaXMLInfosetInputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="ScalaXMLInfosetOutputter.html" title="InfosetOutputter to build an infoset represented as a scala.xml.Node"></a>
                        <a href="ScalaXMLInfosetOutputter.html" title="InfosetOutputter to build an infoset represented as a scala.xml.Node">ScalaXMLInfosetOutputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="" title="InfosetInputter to read an infoset represented as an org.w3c.dom.Document"></a>
                        <a href="" title="InfosetInputter to read an infoset represented as an org.w3c.dom.Document">W3CDOMInfosetInputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="W3CDOMInfosetOutputter.html" title="InfosetOutputter to build an infoset represented as an org.w3c.dom.Document"></a>
                        <a href="W3CDOMInfosetOutputter.html" title="InfosetOutputter to build an infoset represented as an org.w3c.dom.Document">W3CDOMInfosetOutputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="XMLTextInfosetInputter.html" title="InfosetInputter to read an infoset represented as XML from a java.io.InputStream"></a>
                        <a href="XMLTextInfosetInputter.html" title="InfosetInputter to read an infoset represented as XML from a java.io.InputStream">XMLTextInfosetInputter</a>
                      </li><li class="current-entities indented5">
                        <span class="separator"></span>
                        <a class="class" href="XMLTextInfosetOutputter.html" title="InfosetOutputter to build an infoset represented as XML written to a java.io.OutputStream"></a>
                        <a href="XMLTextInfosetOutputter.html" title="InfosetOutputter to build an infoset represented as XML written to a java.io.OutputStream">XMLTextInfosetOutputter</a>
                      </li>
              </ul>
            </div>
          </div>
          <div id="content">
            <body class="class type">
      <div id="definition">
        <div class="big-circle class">c</div>
        <p id="owner"><a href="../../../../index.html" class="extype" name="org">org</a>.<a href="../../../index.html" class="extype" name="org.apache">apache</a>.<a href="../../index.html" class="extype" name="org.apache.daffodil">daffodil</a>.<a href="../index.html" class="extype" name="org.apache.daffodil.sapi">sapi</a>.<a href="index.html" class="extype" name="org.apache.daffodil.sapi.infoset">infoset</a></p>
        <h1>W3CDOMInfosetInputter<span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span></h1>
        <h3><span class="morelinks"></span></h3>
      </div>

      <h4 id="signature" class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <span class="name">W3CDOMInfosetInputter</span><span class="result"> extends <a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a></span>
      </span>
      </h4>

      
          <div id="comment" class="fullcommenttop"><div class="comment cmt"><p><a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> to read an infoset represented as an org.w3c.dom.Document
</p></div><div class="toggleContainer block">
          <span class="toggle">
            Linear Supertypes
          </span>
          <div class="superTypes hiddenContent"><a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a>, <a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a>, <span class="extype" name="org.apache.daffodil.infoset.InfosetInputter">infoset.InfosetInputter</span>, <span class="extype" name="org.apache.daffodil.infoset.NextElementResolver">NextElementResolver</span>, <span class="extype" name="org.apache.daffodil.util.CursorImplMixin">CursorImplMixin</span>[<span class="extype" name="org.apache.daffodil.infoset.InfosetAccessor">InfosetAccessor</span>], <span class="extype" name="org.apache.daffodil.util.Cursor">Cursor</span>[<span class="extype" name="org.apache.daffodil.infoset.InfosetAccessor">InfosetAccessor</span>], <span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
        </div></div>
        

      <div id="mbrsel">
        <div class="toggle"></div>
        <div id="memberfilter">
          <i class="material-icons arrow"></i>
          <span class="input">
            <input id="mbrsel-input" placeholder="Filter all members" type="text" accesskey="/" />
          </span>
          <i class="clear material-icons"></i>
        </div>
        <div id="filterby">
          <div id="order">
            <span class="filtertype">Ordering</span>
            <ol>
              
              <li class="alpha in"><span>Alphabetic</span></li>
              <li class="inherit out"><span>By Inheritance</span></li>
            </ol>
          </div>
          <div class="ancestors">
                  <span class="filtertype">Inherited<br />
                  </span>
                  <ol id="linearization">
                    <li class="in" name="org.apache.daffodil.sapi.infoset.W3CDOMInfosetInputter"><span>W3CDOMInfosetInputter</span></li><li class="in" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy"><span>InfosetInputterProxy</span></li><li class="in" name="org.apache.daffodil.sapi.infoset.InfosetInputter"><span>InfosetInputter</span></li><li class="in" name="org.apache.daffodil.infoset.InfosetInputter"><span>InfosetInputter</span></li><li class="in" name="org.apache.daffodil.infoset.NextElementResolver"><span>NextElementResolver</span></li><li class="in" name="org.apache.daffodil.util.CursorImplMixin"><span>CursorImplMixin</span></li><li class="in" name="org.apache.daffodil.util.Cursor"><span>Cursor</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li>
                  </ol>
                </div><div class="ancestors">
              <span class="filtertype"></span>
              <ol>
                <li class="hideall out"><span>Hide All</span></li>
                <li class="showall in"><span>Show All</span></li>
              </ol>
            </div>
          <div id="visbl">
              <span class="filtertype">Visibility</span>
              <ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
            </div>
        </div>
      </div>

      <div id="template">
        <div id="allMembers">
        <div id="constructors" class="members">
              <h3>Instance Constructors</h3>
              <ol><li name="org.apache.daffodil.sapi.infoset.W3CDOMInfosetInputter#&lt;init&gt;" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="&lt;init&gt;(document:org.w3c.dom.Document):org.apache.daffodil.sapi.infoset.W3CDOMInfosetInputter"></a><a id="&lt;init&gt;:W3CDOMInfosetInputter"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#&lt;init&gt;(document:org.w3c.dom.Document):org.apache.daffodil.sapi.infoset.W3CDOMInfosetInputter" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">new</span>
      </span>
      <span class="symbol">
        <span class="name">W3CDOMInfosetInputter</span><span class="params">(<span name="document">document: <span class="extype" name="org.w3c.dom.Document">Document</span></span>)</span>
      </span>
      
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"></div><dl class="paramcmts block"><dt class="param">document</dt><dd class="cmt"><p>the org.w3c.dom.Document infoset. Note that w3c
                Documents are not guaranteed to be thread-safe, even if all
                users only read/traverse it. It is up to the user to ensure
                that the Document passed into the W3CDOMInfosetInputter is
                not read or written by other threads while the
                W3CDOMInfosetInputter has access to it.</p></dd></dl></div>
    </li></ol>
            </div>

        <div id="types" class="types members">
              <h3>Type Members</h3>
              <ol><li name="org.apache.daffodil.infoset.InfosetInputter.ERD" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="ERD=org.apache.daffodil.processors.ElementRuntimeData"></a><a id="ERD:ERD"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#ERD=org.apache.daffodil.processors.ElementRuntimeData" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">type</span>
      </span>
      <span class="symbol">
        <span class="name">ERD</span><span class="result alias"> = <span class="extype" name="org.apache.daffodil.processors.ElementRuntimeData">ElementRuntimeData</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>InfosetInputter</dd></dl></div>
    </li><li name="org.apache.daffodil.util.CursorImplMixin.OpKind" visbl="prt" class="indented0 " data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="OpKindextendsAnyRef"></a><a id="OpKind:OpKind"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#OpKindextendsAnyRef" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">trait</span>
      </span>
      <span class="symbol">
        <span class="name">OpKind</span><span class="result"> extends <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>CursorImplMixin</dd></dl></div>
    </li></ol>
            </div>

        

        <div class="values members">
              <h3>Value Members</h3>
              <ol>
                <li name="scala.AnyRef#!=" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="!=(x$1:Any):Boolean"></a><a id="!=(Any):Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#!=(x$1:Any):Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $bang$eq" class="name">!=</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef###" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="##():Int"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html###():Int" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $hash$hash" class="name">##</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#==" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="==(x$1:Any):Boolean"></a><a id="==(Any):Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#==(x$1:Any):Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $eq$eq" class="name">==</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="org.apache.daffodil.util.CursorImplMixin#accessor" visbl="prt" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="accessor:AccessorType"></a><a id="accessor:InfosetAccessor"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#accessor:AccessorType" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">val</span>
      </span>
      <span class="symbol">
        <span class="name">accessor</span><span class="result">: <span class="extype" name="org.apache.daffodil.infoset.InfosetAccessor">InfosetAccessor</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>CursorImplMixin</dd></dl></div>
    </li><li name="org.apache.daffodil.util.CursorImplMixin#advance" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="advance:Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#advance:Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">advance</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>CursorImplMixin → Cursor</dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.InfosetInputter#advanceAccessor" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="advanceAccessor:org.apache.daffodil.infoset.InfosetAccessor"></a><a id="advanceAccessor:InfosetAccessor"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#advanceAccessor:org.apache.daffodil.infoset.InfosetAccessor" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">lazy val</span>
      </span>
      <span class="symbol">
        <span class="name">advanceAccessor</span><span class="result">: <span class="extype" name="org.apache.daffodil.infoset.InfosetAccessor">InfosetAccessor</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>InfosetInputter → Cursor</dd></dl></div>
    </li><li name="org.apache.daffodil.util.Cursor#advanceMaybe" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="advanceMaybe:org.apache.daffodil.util.Maybe[AccessorType]"></a><a id="advanceMaybe:Maybe[InfosetAccessor]"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#advanceMaybe:org.apache.daffodil.util.Maybe[AccessorType]" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">advanceMaybe</span><span class="result">: <span class="extype" name="org.apache.daffodil.util.Maybe">Maybe</span>[<span class="extype" name="org.apache.daffodil.infoset.InfosetAccessor">InfosetAccessor</span>]</span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Cursor</dd></dl></div>
    </li><li name="scala.Any#asInstanceOf" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="asInstanceOf[T0]:T0"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#asInstanceOf[T0]:T0" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Any.asInstanceOf.T0">T0</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li name="scala.AnyRef#clone" visbl="prt" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="clone():Object"></a><a id="clone():AnyRef"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#clone():Object" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">clone</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<span class="extype" name="java.lang">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.CloneNotSupportedException]">...</span>
    </span>)</span>
              
                <span class="name">@native</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.InfosetInputter#documentElement" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="documentElement:org.apache.daffodil.infoset.DIDocument"></a><a id="documentElement:DIDocument"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#documentElement:org.apache.daffodil.infoset.DIDocument" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">documentElement</span><span class="result">: <span class="extype" name="org.apache.daffodil.infoset.DIDocument">DIDocument</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>InfosetInputter</dd></dl></div>
    </li><li name="scala.AnyRef#eq" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="eq(x$1:AnyRef):Boolean"></a><a id="eq(AnyRef):Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#eq(x$1:AnyRef):Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#equals" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="equals(x$1:Any):Boolean"></a><a id="equals(Any):Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#equals(x$1:Any):Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.InfosetInputter#fill" visbl="prt" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="fill(advanceInput:Boolean):Boolean"></a><a id="fill(Boolean):Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#fill(advanceInput:Boolean):Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">fill</span><span class="params">(<span name="advanceInput">advanceInput: <span class="extype" name="scala.Boolean">Boolean</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>InfosetInputter → CursorImplMixin</dd></dl></div>
    </li><li name="scala.AnyRef#finalize" visbl="prt" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="finalize():Unit"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#finalize():Unit" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">finalize</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<span class="extype" name="java.lang">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="symbol">classOf[java.lang.Throwable]</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy#fini" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="fini:Unit"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#fini:Unit" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">fini</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> → Cursor</dd></dl></div>
    </li><li name="scala.AnyRef#getClass" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getClass():Class[_]"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#getClass():Class[_]" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getClass</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Class">Class</span>[_]</span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd>
                <span class="name">@native</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy#getEventType" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getEventType():org.apache.daffodil.infoset.InfosetInputterEventType"></a><a id="getEventType():InfosetInputterEventType"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#getEventType():org.apache.daffodil.infoset.InfosetInputterEventType" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getEventType</span><span class="params">()</span><span class="result">: <span class="extype" name="org.apache.daffodil.infoset.InfosetInputterEventType">InfosetInputterEventType</span></span>
      </span>
      
      <p class="shortcomment cmt">Return the current infoset inputter event type
</p><div class="fullcomment"><div class="comment cmt"><p>Return the current infoset inputter event type
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> → <a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> → InfosetInputter</dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy#getLocalName" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getLocalName():String"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#getLocalName():String" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getLocalName</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Predef.String">String</span></span>
      </span>
      
      <p class="shortcomment cmt">Get the local name of the current event.</p><div class="fullcomment"><div class="comment cmt"><p>Get the local name of the current event. This will only be called when the
current event type is StartElement.
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> → <a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> → InfosetInputter</dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy#getNamespaceURI" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getNamespaceURI():String"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#getNamespaceURI():String" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getNamespaceURI</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Predef.String">String</span></span>
      </span>
      
      <p class="shortcomment cmt">Get the namespace of the current event.</p><div class="fullcomment"><div class="comment cmt"><p>Get the namespace of the current event. This will only be called when the
current event type is StartElement. If the InfosetInputter does not
support namespaces, this shoud return null. This may return null to
represent no namespaces.
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> → <a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> → InfosetInputter</dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy#getSimpleText" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getSimpleText(primType:org.apache.daffodil.dpath.NodeInfo.Kind):String"></a><a id="getSimpleText(Kind):String"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#getSimpleText(primType:org.apache.daffodil.dpath.NodeInfo.Kind):String" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getSimpleText</span><span class="params">(<span name="primType">primType: <span class="extype" name="org.apache.daffodil.dpath.NodeInfo.Kind">Kind</span></span>)</span><span class="result">: <span class="extype" name="scala.Predef.String">String</span></span>
      </span>
      
      <p class="shortcomment cmt">Get the content of a simple type.</p><div class="fullcomment"><div class="comment cmt"><p>Get the content of a simple type. This will only be called when the
current event type is StartElement and the element is a simple type. If
the event contains complex data, it is an error and should throw
NonTextFoundInSimpleContentException. If the element does not have any
simple content, this should return either null or the empty string.
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> → <a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> → InfosetInputter</dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy#hasNext" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="hasNext():Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#hasNext():Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">hasNext</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <p class="shortcomment cmt">Return true if there are remaining events.</p><div class="fullcomment"><div class="comment cmt"><p>Return true if there are remaining events. False otherwise.
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> → <a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> → InfosetInputter</dd></dl></div>
    </li><li name="scala.AnyRef#hashCode" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="hashCode():Int"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#hashCode():Int" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">hashCode</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd>
                <span class="name">@native</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset.W3CDOMInfosetInputter#infosetInputter" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="infosetInputter:org.apache.daffodil.infoset.W3CDOMInfosetInputter"></a><a id="infosetInputter:infoset.W3CDOMInfosetInputter"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#infosetInputter:org.apache.daffodil.infoset.W3CDOMInfosetInputter" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">val</span>
      </span>
      <span class="symbol">
        <span class="name">infosetInputter</span><span class="result">: <span class="extype" name="org.apache.daffodil.infoset.W3CDOMInfosetInputter">infoset.W3CDOMInfosetInputter</span></span>
      </span>
      
      <p class="shortcomment cmt">The InfosetInputter to proxy infoset events to
</p><div class="fullcomment"><div class="comment cmt"><p>The InfosetInputter to proxy infoset events to
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.daffodil.sapi.infoset.W3CDOMInfosetInputter">W3CDOMInfosetInputter</a> → <a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a></dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.InfosetInputter#initialize" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="initialize(rootElementInfo:org.apache.daffodil.processors.ElementRuntimeData,tunableArg:org.apache.daffodil.api.DaffodilTunables):Unit"></a><a id="initialize(ElementRuntimeData,DaffodilTunables):Unit"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#initialize(rootElementInfo:org.apache.daffodil.processors.ElementRuntimeData,tunableArg:org.apache.daffodil.api.DaffodilTunables):Unit" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">initialize</span><span class="params">(<span name="rootElementInfo">rootElementInfo: <span class="extype" name="org.apache.daffodil.processors.ElementRuntimeData">ElementRuntimeData</span></span>, <span name="tunableArg">tunableArg: <span class="extype" name="org.apache.daffodil.api.DaffodilTunables">DaffodilTunables</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>InfosetInputter</dd></dl></div>
    </li><li name="org.apache.daffodil.util.CursorImplMixin#inspect" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="inspect:Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#inspect:Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">inspect</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>CursorImplMixin → Cursor</dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.InfosetInputter#inspectAccessor" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="inspectAccessor:org.apache.daffodil.infoset.InfosetAccessor"></a><a id="inspectAccessor:InfosetAccessor"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#inspectAccessor:org.apache.daffodil.infoset.InfosetAccessor" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">lazy val</span>
      </span>
      <span class="symbol">
        <span class="name">inspectAccessor</span><span class="result">: <span class="extype" name="org.apache.daffodil.infoset.InfosetAccessor">InfosetAccessor</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>InfosetInputter → Cursor</dd></dl></div>
    </li><li name="org.apache.daffodil.util.Cursor#inspectMaybe" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="inspectMaybe:org.apache.daffodil.util.Maybe[AccessorType]"></a><a id="inspectMaybe:Maybe[InfosetAccessor]"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#inspectMaybe:org.apache.daffodil.util.Maybe[AccessorType]" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">inspectMaybe</span><span class="result">: <span class="extype" name="org.apache.daffodil.util.Maybe">Maybe</span>[<span class="extype" name="org.apache.daffodil.infoset.InfosetAccessor">InfosetAccessor</span>]</span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Cursor</dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.InfosetInputter#isInitialized" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="isInitialized:Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#isInitialized:Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">isInitialized</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>InfosetInputter</dd></dl></div>
    </li><li name="scala.Any#isInstanceOf" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="isInstanceOf[T0]:Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#isInstanceOf[T0]:Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy#isNilled" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="isNilled():org.apache.daffodil.util.MaybeBoolean"></a><a id="isNilled():MaybeBoolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#isNilled():org.apache.daffodil.util.MaybeBoolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">isNilled</span><span class="params">()</span><span class="result">: <span class="extype" name="org.apache.daffodil.util.MaybeBoolean">MaybeBoolean</span></span>
      </span>
      
      <p class="shortcomment cmt">Determine if the current event is nilled.</p><div class="fullcomment"><div class="comment cmt"><p>Determine if the current event is nilled. This will only be called when
the current event type is StartElement. Return MaybeBoolean.Nope if no
nil property is set, which implies the element is not nilled. Return
MaybeBoolean(false) if the nil property is set, but it is set to false.
Return MaybeBoolean(true) if the nil property is set to true.
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> → <a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> → InfosetInputter</dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.NextElementResolver#maybeTopTRD" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="maybeTopTRD():org.apache.daffodil.util.Maybe[org.apache.daffodil.processors.TermRuntimeData]"></a><a id="maybeTopTRD():Maybe[TermRuntimeData]"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#maybeTopTRD():org.apache.daffodil.util.Maybe[org.apache.daffodil.processors.TermRuntimeData]" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">maybeTopTRD</span><span class="params">()</span><span class="result">: <span class="extype" name="org.apache.daffodil.util.Maybe">Maybe</span>[<span class="extype" name="org.apache.daffodil.processors.TermRuntimeData">TermRuntimeData</span>]</span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>NextElementResolver</dd></dl></div>
    </li><li name="scala.AnyRef#ne" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="ne(x$1:AnyRef):Boolean"></a><a id="ne(AnyRef):Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#ne(x$1:AnyRef):Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy#next" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="next():Unit"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#next():Unit" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">next</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      
      <p class="shortcomment cmt">Move the internal state to the next event.</p><div class="fullcomment"><div class="comment cmt"><p>Move the internal state to the next event.
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> → <a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> → InfosetInputter</dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.NextElementResolver#nextElement" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="nextElement(name:String,nameSpace:String,hasNamespace:Boolean):org.apache.daffodil.processors.ElementRuntimeData"></a><a id="nextElement(String,String,Boolean):ElementRuntimeData"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#nextElement(name:String,nameSpace:String,hasNamespace:Boolean):org.apache.daffodil.processors.ElementRuntimeData" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">nextElement</span><span class="params">(<span name="name">name: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="nameSpace">nameSpace: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="hasNamespace">hasNamespace: <span class="extype" name="scala.Boolean">Boolean</span></span>)</span><span class="result">: <span class="extype" name="org.apache.daffodil.processors.ElementRuntimeData">ElementRuntimeData</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>NextElementResolver</dd></dl></div>
    </li><li name="scala.AnyRef#notify" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="notify():Unit"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#notify():Unit" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">notify</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@native</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#notifyAll" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="notifyAll():Unit"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#notifyAll():Unit" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">notifyAll</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@native</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.NextElementResolver#popTRD" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="popTRD():org.apache.daffodil.processors.TermRuntimeData"></a><a id="popTRD():TermRuntimeData"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#popTRD():org.apache.daffodil.processors.TermRuntimeData" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">popTRD</span><span class="params">()</span><span class="result">: <span class="extype" name="org.apache.daffodil.processors.TermRuntimeData">TermRuntimeData</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>NextElementResolver</dd></dl></div>
    </li><li name="org.apache.daffodil.util.CursorImplMixin#priorOpKind" visbl="prt" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="priorOpKind:CursorImplMixin.this.OpKind"></a><a id="priorOpKind:OpKind"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#priorOpKind:CursorImplMixin.this.OpKind" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">val</span>
      </span>
      <span class="symbol">
        <span class="name">priorOpKind</span><span class="result">: <a href="#OpKindextendsAnyRef" class="extmbr" name="org.apache.daffodil.sapi.infoset.W3CDOMInfosetInputter.OpKind">OpKind</a></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected </dd><dt>Definition Classes</dt><dd>CursorImplMixin</dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.NextElementResolver#pushTRD" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="pushTRD(trd:org.apache.daffodil.processors.TermRuntimeData):Unit"></a><a id="pushTRD(TermRuntimeData):Unit"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#pushTRD(trd:org.apache.daffodil.processors.TermRuntimeData):Unit" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pushTRD</span><span class="params">(<span name="trd">trd: <span class="extype" name="org.apache.daffodil.processors.TermRuntimeData">TermRuntimeData</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>NextElementResolver</dd></dl></div>
    </li><li name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy#supportsNamespaces" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="supportsNamespaces:Boolean"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#supportsNamespaces:Boolean" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">lazy val</span>
      </span>
      <span class="symbol">
        <span class="name">supportsNamespaces</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a> → InfosetInputter</dd></dl></div>
    </li><li name="scala.AnyRef#synchronized" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="synchronized[T0](x$1:=&gt;T0):T0"></a><a id="synchronized[T0](⇒T0):T0"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#synchronized[T0](x$1:=&gt;T0):T0" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: ⇒ <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>)</span><span class="result">: <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.InfosetInputter#toString" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="toString():String"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#toString():String" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">toString</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.String">String</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>InfosetInputter → AnyRef → Any</dd></dl></div>
    </li><li name="org.apache.daffodil.infoset.InfosetInputter#tunable" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="tunable:org.apache.daffodil.api.DaffodilTunables"></a><a id="tunable:DaffodilTunables"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#tunable:org.apache.daffodil.api.DaffodilTunables" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">var</span>
      </span>
      <span class="symbol">
        <span class="name">tunable</span><span class="result">: <span class="extype" name="org.apache.daffodil.api.DaffodilTunables">DaffodilTunables</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>InfosetInputter</dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait():Unit"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#wait():Unit" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait(x$1:Long,x$2:Int):Unit"></a><a id="wait(Long,Int):Unit"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#wait(x$1:Long,x$2:Int):Unit" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>, <span name="arg1">arg1: <span class="extype" name="scala.Int">Int</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait(x$1:Long):Unit"></a><a id="wait(Long):Unit"></a>
      <span class="permalink">
      <a href="../../../../../org/apache/daffodil/sapi/infoset/W3CDOMInfosetInputter.html#wait(x$1:Long):Unit" title="Permalink">
        <i class="material-icons"></i>
      </a>
    </span>
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
                <span class="name">@native</span><span class="args">()</span>
              
        </dd></dl></div>
    </li>
              </ol>
            </div>

        

        
        </div>

        <div id="inheritedMembers">
        <div class="parent" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">
              <h3>Inherited from <a href="InfosetInputterProxy.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputterProxy">InfosetInputterProxy</a></h3>
            </div><div class="parent" name="org.apache.daffodil.sapi.infoset.InfosetInputter">
              <h3>Inherited from <a href="InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a></h3>
            </div><div class="parent" name="org.apache.daffodil.infoset.InfosetInputter">
              <h3>Inherited from <span class="extype" name="org.apache.daffodil.infoset.InfosetInputter">infoset.InfosetInputter</span></h3>
            </div><div class="parent" name="org.apache.daffodil.infoset.NextElementResolver">
              <h3>Inherited from <span class="extype" name="org.apache.daffodil.infoset.NextElementResolver">NextElementResolver</span></h3>
            </div><div class="parent" name="org.apache.daffodil.util.CursorImplMixin">
              <h3>Inherited from <span class="extype" name="org.apache.daffodil.util.CursorImplMixin">CursorImplMixin</span>[<span class="extype" name="org.apache.daffodil.infoset.InfosetAccessor">InfosetAccessor</span>]</h3>
            </div><div class="parent" name="org.apache.daffodil.util.Cursor">
              <h3>Inherited from <span class="extype" name="org.apache.daffodil.util.Cursor">Cursor</span>[<span class="extype" name="org.apache.daffodil.infoset.InfosetAccessor">InfosetAccessor</span>]</h3>
            </div><div class="parent" name="scala.AnyRef">
              <h3>Inherited from <span class="extype" name="scala.AnyRef">AnyRef</span></h3>
            </div><div class="parent" name="scala.Any">
              <h3>Inherited from <span class="extype" name="scala.Any">Any</span></h3>
            </div>
        
        </div>

        <div id="groupedMembers">
        <div class="group" name="Ungrouped">
              <h3>Ungrouped</h3>
              
            </div>
        </div>

      </div>

      <div id="tooltip"></div>

      <div id="footer">  </div>
    </body>
          </div>
        </div>
      </div>
    </body>
      </html>
