﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class Attributes2
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class Attributes2
   | Apache Lucene.NET 4.8.0-beta00013 Documentation ">
    <meta name="generator" content="docfx 2.56.2.0">
    
    <link rel="shortcut icon" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/favicon.ico">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.css">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.css">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.css">
    <meta property="docfx:navrel" content="toc.html">
    <meta property="docfx:tocrel" content="benchmark/toc.html">
    
    <meta property="docfx:rel" content="https://lucenenet.apache.org/docs/4.8.0-beta00009/">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <span id="forkongithub"><a href="https://github.com/apache/lucenenet" target="_blank">Fork me on GitHub</a></span>
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="/">
                <img id="logo" class="svg" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/lucene-net-color.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search">
            <ul class="level0 breadcrumb">
                <li>
                    <a href="https://lucenenet.apache.org/docs/4.8.0-beta00009/">API</a>
                     <span id="breadcrumb">
                        <ul class="breadcrumb">
                          <li></li>
                        </ul>
                    </span>   
                </li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Sax.Ext.Attributes2">
  
  
  <h1 id="Sax_Ext_Attributes2" data-uid="Sax.Ext.Attributes2" class="text-break">Class Attributes2
  </h1>
  <div class="markdown level0 summary"><p>SAX2 extension helper for additional Attributes information,
implementing the <a class="xref" href="Sax.Ext.Attributes2.html">Attributes2</a> interface.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="Sax.Helpers.Attributes.html">Attributes</a></div>
    <div class="level2"><span class="xref">Attributes2</span></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="Sax.Ext.IAttributes2.html">IAttributes2</a></div>
    <div><a class="xref" href="Sax.IAttributes.html">IAttributes</a></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_Length">Attributes.Length</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetURI_System_Int32_">Attributes.GetURI(Int32)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetLocalName_System_Int32_">Attributes.GetLocalName(Int32)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetQName_System_Int32_">Attributes.GetQName(Int32)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetType_System_Int32_">Attributes.GetType(Int32)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetValue_System_Int32_">Attributes.GetValue(Int32)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetIndex_System_String_System_String_">Attributes.GetIndex(String, String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetIndex_System_String_">Attributes.GetIndex(String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetType_System_String_System_String_">Attributes.GetType(String, String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetType_System_String_">Attributes.GetType(String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetValue_System_String_System_String_">Attributes.GetValue(String, String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_GetValue_System_String_">Attributes.GetValue(String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_Clear">Attributes.Clear()</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_SetAttribute_System_Int32_System_String_System_String_System_String_System_String_System_String_">Attributes.SetAttribute(Int32, String, String, String, String, String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_SetURI_System_Int32_System_String_">Attributes.SetURI(Int32, String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_SetLocalName_System_Int32_System_String_">Attributes.SetLocalName(Int32, String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_SetQName_System_Int32_System_String_">Attributes.SetQName(Int32, String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_SetType_System_Int32_System_String_">Attributes.SetType(Int32, String)</a>
    </div>
    <div>
      <a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_SetValue_System_Int32_System_String_">Attributes.SetValue(Int32, String)</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Sax.Ext.html">Sax.Ext</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.Benchmark.dll</h6>
  <h5 id="Sax_Ext_Attributes2_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class Attributes2 : Attributes, IAttributes2, IAttributes</code></pre>
  </div>
  <h5 id="Sax_Ext_Attributes2_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p><em>This module, both source code and documentation, is in the
Public Domain, and comes with<strong> NO WARRANTY</strong>.</em>
<p>
This is not part of core-only SAX2 distributions.
<p>
The <em>specified</em> flag for each attribute will always
be true, unless it has been set to false in the copy constructor
or using <a class="xref" href="Sax.Ext.Attributes2.html#Sax_Ext_Attributes2_SetSpecified_System_Int32_System_Boolean_">SetSpecified(Int32, Boolean)</a>.
Similarly, the <em>declared</em> flag for each attribute will
always be false, except for defaulted attributes (<em>specified</em>
is false), non-CDATA attributes, or when it is set to true using
<a class="xref" href="Sax.Ext.Attributes2.html#Sax_Ext_Attributes2_SetDeclared_System_Int32_System_Boolean_">SetDeclared(Int32, Boolean)</a>.
If you change an attribute&apos;s type by hand, you may need to modify
its <em>declared</em> flag to match.</p>
</div>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2__ctor.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L43">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2__ctor_" data-uid="Sax.Ext.Attributes2.#ctor*"></a>
  <h4 id="Sax_Ext_Attributes2__ctor" data-uid="Sax.Ext.Attributes2.#ctor">Attributes2()</h4>
  <div class="markdown level1 summary"><p>Construct a new, empty <a class="xref" href="Sax.Ext.Attributes2.html">Attributes2</a> object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Attributes2()</code></pre>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2__ctor_Sax_IAttributes_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.%23ctor(Sax.IAttributes)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L58">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2__ctor_" data-uid="Sax.Ext.Attributes2.#ctor*"></a>
  <h4 id="Sax_Ext_Attributes2__ctor_Sax_IAttributes_" data-uid="Sax.Ext.Attributes2.#ctor(Sax.IAttributes)">Attributes2(IAttributes)</h4>
  <div class="markdown level1 summary"><p>Copy an existing Attributes or Attributes2 object.
If the object implements Attributes2, values of the
<em>specified</em> and <em>declared</em> flags for each
attribute are copied.
Otherwise the flag values are defaulted to assume no DTD was used,
unless there is evidence to the contrary (such as attributes with
type other than CDATA, which must have been <em>declared</em>).
<p>This constructor is especially useful inside a
<a class="xref" href="Sax.IContentHandler.html#Sax_IContentHandler_StartElement_System_String_System_String_System_String_Sax_IAttributes_">StartElement(String, String, String, IAttributes)</a> event.</p></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Attributes2(IAttributes atts)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Sax.IAttributes.html">IAttributes</a></td>
        <td><span class="parametername">atts</span></td>
        <td><p>The existing <a class="xref" href="Sax.IAttributes.html">IAttributes</a> object.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_AddAttribute_System_String_System_String_System_String_System_String_System_String_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.AddAttribute(System.String%2CSystem.String%2CSystem.String%2CSystem.String%2CSystem.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L209">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_AddAttribute_" data-uid="Sax.Ext.Attributes2.AddAttribute*"></a>
  <h4 id="Sax_Ext_Attributes2_AddAttribute_System_String_System_String_System_String_System_String_System_String_" data-uid="Sax.Ext.Attributes2.AddAttribute(System.String,System.String,System.String,System.String,System.String)">AddAttribute(String, String, String, String, String)</h4>
  <div class="markdown level1 summary"><p>Add an attribute to the end of the list, setting its
&quot;specified&quot; flag to true.  To set that flag&apos;s value
to false, use <a class="xref" href="Sax.Ext.Attributes2.html#Sax_Ext_Attributes2_SetSpecified_System_Int32_System_Boolean_">SetSpecified(Int32, Boolean)</a>.
<p>
Unless the attribute <em>type</em> is CDATA, this attribute
is marked as being declared in the DTD.  To set that flag&apos;s value
to true for CDATA attributes, use <a class="xref" href="Sax.Ext.Attributes2.html#Sax_Ext_Attributes2_SetDeclared_System_Int32_System_Boolean_">SetDeclared(Int32, Boolean)</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override void AddAttribute(string uri, string localName, string qName, string type, string value)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">uri</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">localName</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">qName</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">type</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">value</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_AddAttribute_System_String_System_String_System_String_System_String_System_String_">Attributes.AddAttribute(String, String, String, String, String)</a></div>
  <h5 id="Sax_Ext_Attributes2_AddAttribute_System_String_System_String_System_String_System_String_System_String__seealso">See Also</h5>
  <div class="seealso">
      <div><a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_AddAttribute_System_String_System_String_System_String_System_String_System_String_">AddAttribute</a>(<span class="xref">System.String</span>, <span class="xref">System.String</span>, <span class="xref">System.String</span>, <span class="xref">System.String</span>, <span class="xref">System.String</span>)</div>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_IsDeclared_System_Int32_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.IsDeclared(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L73">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_IsDeclared_" data-uid="Sax.Ext.Attributes2.IsDeclared*"></a>
  <h4 id="Sax_Ext_Attributes2_IsDeclared_System_Int32_" data-uid="Sax.Ext.Attributes2.IsDeclared(System.Int32)">IsDeclared(Int32)</h4>
  <div class="markdown level1 summary"><p>Returns the current value of the attribute&apos;s &quot;declared&quot; flag.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsDeclared(int index)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">index</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_IsDeclared_System_String_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.IsDeclared(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L101">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_IsDeclared_" data-uid="Sax.Ext.Attributes2.IsDeclared*"></a>
  <h4 id="Sax_Ext_Attributes2_IsDeclared_System_String_" data-uid="Sax.Ext.Attributes2.IsDeclared(System.String)">IsDeclared(String)</h4>
  <div class="markdown level1 summary"><p>Returns the current value of the attribute&apos;s &quot;declared&quot; flag.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsDeclared(string qName)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">qName</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_IsDeclared_System_String_System_String_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.IsDeclared(System.String%2CSystem.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L86">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_IsDeclared_" data-uid="Sax.Ext.Attributes2.IsDeclared*"></a>
  <h4 id="Sax_Ext_Attributes2_IsDeclared_System_String_System_String_" data-uid="Sax.Ext.Attributes2.IsDeclared(System.String,System.String)">IsDeclared(String, String)</h4>
  <div class="markdown level1 summary"><p>Returns the current value of the attribute&apos;s &quot;declared&quot; flag.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsDeclared(string uri, string localName)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">uri</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">localName</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_IsSpecified_System_Int32_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.IsSpecified(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L117">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_IsSpecified_" data-uid="Sax.Ext.Attributes2.IsSpecified*"></a>
  <h4 id="Sax_Ext_Attributes2_IsSpecified_System_Int32_" data-uid="Sax.Ext.Attributes2.IsSpecified(System.Int32)">IsSpecified(Int32)</h4>
  <div class="markdown level1 summary"><p>Returns the current value of an attribute&apos;s &quot;specified&quot; flag.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsSpecified(int index)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">index</span></td>
        <td><p>The attribute index (zero-based).</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>current flag value</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.IndexOutOfRangeException</span></td>
        <td><p>When the supplied index does not identify an attribute.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_IsSpecified_System_String_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.IsSpecified(System.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L149">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_IsSpecified_" data-uid="Sax.Ext.Attributes2.IsSpecified*"></a>
  <h4 id="Sax_Ext_Attributes2_IsSpecified_System_String_" data-uid="Sax.Ext.Attributes2.IsSpecified(System.String)">IsSpecified(String)</h4>
  <div class="markdown level1 summary"><p>Returns the current value of an attribute&apos;s &quot;specified&quot; flag.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsSpecified(string qName)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">qName</span></td>
        <td><p>The XML qualified (prefixed) name.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>current flag value</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.ArgumentException</span></td>
        <td><p>When the supplied name does not identify an attribute.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_IsSpecified_System_String_System_String_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.IsSpecified(System.String%2CSystem.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L132">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_IsSpecified_" data-uid="Sax.Ext.Attributes2.IsSpecified*"></a>
  <h4 id="Sax_Ext_Attributes2_IsSpecified_System_String_System_String_" data-uid="Sax.Ext.Attributes2.IsSpecified(System.String,System.String)">IsSpecified(String, String)</h4>
  <div class="markdown level1 summary"><p>Returns the current value of an attribute&apos;s &quot;specified&quot; flag.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsSpecified(string uri, string localName)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">uri</span></td>
        <td><p>The Namespace URI, or the empty string if the name has no Namespace URI.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">localName</span></td>
        <td><p>The attribute&apos;s local name.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>current flag value</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.ArgumentException</span></td>
        <td><p>When the supplied names do not identify an attribute.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_RemoveAttribute_System_Int32_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.RemoveAttribute(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L234">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_RemoveAttribute_" data-uid="Sax.Ext.Attributes2.RemoveAttribute*"></a>
  <h4 id="Sax_Ext_Attributes2_RemoveAttribute_System_Int32_" data-uid="Sax.Ext.Attributes2.RemoveAttribute(System.Int32)">RemoveAttribute(Int32)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override void RemoveAttribute(int index)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">index</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_RemoveAttribute_System_Int32_">Attributes.RemoveAttribute(Int32)</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_SetAttributes_Sax_IAttributes_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.SetAttributes(Sax.IAttributes)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L173">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_SetAttributes_" data-uid="Sax.Ext.Attributes2.SetAttributes*"></a>
  <h4 id="Sax_Ext_Attributes2_SetAttributes_Sax_IAttributes_" data-uid="Sax.Ext.Attributes2.SetAttributes(Sax.IAttributes)">SetAttributes(IAttributes)</h4>
  <div class="markdown level1 summary"><p>Copy an entire Attributes object.  The &quot;specified&quot; flags are
assigned as true, and &quot;declared&quot; flags as false (except when
an attribute&apos;s type is not CDATA),
unless the object is an Attributes2 object.
In that case those flag values are all copied.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override void SetAttributes(IAttributes atts)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Sax.IAttributes.html">IAttributes</a></td>
        <td><span class="parametername">atts</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_SetAttributes_Sax_IAttributes_">Attributes.SetAttributes(IAttributes)</a></div>
  <h5 id="Sax_Ext_Attributes2_SetAttributes_Sax_IAttributes__seealso">See Also</h5>
  <div class="seealso">
      <div><a class="xref" href="Sax.Helpers.Attributes.html#Sax_Helpers_Attributes_SetAttributes_Sax_IAttributes_">SetAttributes</a>(<a class="xref" href="Sax.IAttributes.html">IAttributes</a>)</div>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_SetDeclared_System_Int32_System_Boolean_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.SetDeclared(System.Int32%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L256">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_SetDeclared_" data-uid="Sax.Ext.Attributes2.SetDeclared*"></a>
  <h4 id="Sax_Ext_Attributes2_SetDeclared_System_Int32_System_Boolean_" data-uid="Sax.Ext.Attributes2.SetDeclared(System.Int32,System.Boolean)">SetDeclared(Int32, Boolean)</h4>
  <div class="markdown level1 summary"><p>Assign a value to the &quot;declared&quot; flag of a specific attribute.
This is normally needed only for attributes of type CDATA,
including attributes whose type is changed to or from CDATA.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void SetDeclared(int index, bool value)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">index</span></td>
        <td><p>The index of the attribute (zero-based).</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">value</span></td>
        <td><p>The desired flag value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.IndexOutOfRangeException</span></td>
        <td><p>When the supplied index does not identify an attribute.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2_SetSpecified_System_Int32_System_Boolean_.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2.SetSpecified(System.Int32%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L272">View Source</a>
  </span>
  <a id="Sax_Ext_Attributes2_SetSpecified_" data-uid="Sax.Ext.Attributes2.SetSpecified*"></a>
  <h4 id="Sax_Ext_Attributes2_SetSpecified_System_Int32_System_Boolean_" data-uid="Sax.Ext.Attributes2.SetSpecified(System.Int32,System.Boolean)">SetSpecified(Int32, Boolean)</h4>
  <div class="markdown level1 summary"><p>Assign a value to the &quot;specified&quot; flag of a specific attribute.
This is the only way this flag can be cleared, except clearing
by initialization with the copy constructor.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual void SetSpecified(int index, bool value)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">index</span></td>
        <td><p>The index of the attribute (zero-based).</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">value</span></td>
        <td><p>The desired flag value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.IndexOutOfRangeException</span></td>
        <td><p>When the supplied index does not identify an attribute.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="implements">Implements</h3>
  <div>
      <a class="xref" href="Sax.Ext.IAttributes2.html">IAttributes2</a>
  </div>
  <div>
      <a class="xref" href="Sax.IAttributes.html">IAttributes</a>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Sax_Ext_Attributes2.md&amp;value=---%0Auid%3A%20Sax.Ext.Attributes2%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/apache/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Benchmark/Support/Sax/Ext/Attributes2Impl.cs/#L34" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            Copyright © 2020 The Apache Software Foundation, Licensed under the <a href='http://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache License, Version 2.0</a><br> <small>Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation. <br>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</small>
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.js"></script>
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.js"></script>
  </body>
</html>
