<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">

  <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
       Remove this if you use the .htaccess -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>redbackRestError</title>

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- CSS: implied media="all" -->
  <link rel="stylesheet" href="css/style.css?v=2">
  <link rel="stylesheet" href="css/prettify.css">

  <!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
  <script src="js/libs/modernizr-1.7.min.js"></script>

</head>

<body class="home">

  <div class="container">
    <header>
      <div id="header" class="column first last span-20">
        <div id="site-name" class="column span-18 append-1 prepend-1 first last"><a href="index.html">redbackRestError</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="rest.html">REST</a></li>
            <li id="nav-data"><a href="model.html">Data Model</a></li>
          </ul>
        </div>
        <div>
          <ul class="xbreadcrumbs" id="breadcrumbs">
            <li>
              <a href="index.html" class="home">Home</a> &gt;
            </li>
            <li>
              <a href="model.html">Data Model</a> &gt;
              <ul>
                <li><a href="model.html">Data Model</a></li>
                <li><a href="rest.html">REST</a></li>
              </ul>
            </li>
            <li>
              <a href="ns0.html">ns0</a> &gt;
              <ul>
                <li><a href="ns0.html">ns0</a></li>
              </ul>
            </li>
            <li class="current">
              <a href="el_ns0_redbackRestError.html">redbackRestError element</a>
              <ul>
                <li><a href="el_ns0_userRegistrationRequest.html">userRegistrationRequest element</a></li>
                <li><a href="el_ns0_roleTemplate.html">roleTemplate element</a></li>
                <li><a href="el_ns0_resource.html">resource element</a></li>
                <li><a href="el_ns0_stringList.html">stringList element</a></li>
                <li><a href="el_ns0_ldapGroupMappingUpdateRequest.html">ldapGroupMappingUpdateRequest element</a></li>
                <li><a href="el_ns0_role.html">role element</a></li>
                <li><a href="el_ns0_applicationRole.html">applicationRole element</a></li>
                <li><a href="el_ns0_application.html">application element</a></li>
                <li><a href="el_ns0_operation.html">operation element</a></li>
                <li><a href="el_ns0_errorMessage.html">errorMessage element</a></li>
                <li><a href="el_ns0_registrationKey.html">registrationKey element</a></li>
                <li><a href="el_ns0_ldapGroupMapping.html">ldapGroupMapping element</a></li>
                <li><a href="el_ns0_user.html">user element</a></li>
                <li><a href="el_ns0_permission.html">permission element</a></li>
                <li><a href="el_ns0_loginRequest.html">loginRequest element</a></li>
                <li><a href="el_ns0_redbackRestError.html">redbackRestError element</a></li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </header>
    <div id="main" class="column first last span-20">
      <h1>redbackRestError element</h1>
      <table>
        <tr>
          <td align="right">Type:</td>
          <td><a href="ns0_redbackRestError.html">redbackRestError</a></td>
        </tr>
        <tr>
          <td align="right">Namespace:</td>
          <td>(default namespace)</td>
        </tr>
        <tr>
          <td align="right">XML Schema:</td>
          <td><a href="ns0.xsd">ns0.xsd</a></td>
        </tr>
        <tr>
          <td align="right">Available Since:</td>
          <td>1.4</td>
        </tr>
      </table>
      <h2>Example XML</h2>
      <code class="prettyprint lang-xml">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;redbackRestError&gt;
  &lt;errorMessages&gt;
    &lt;errorKey&gt;...&lt;/errorKey&gt;
    &lt;args&gt;...&lt;/args&gt;
    &lt;args&gt;...&lt;/args&gt;
    &lt;!--...more &quot;args&quot; elements...--&gt;
    &lt;message&gt;...&lt;/message&gt;
  &lt;/errorMessages&gt;
  &lt;errorMessages&gt;
    &lt;!--...--&gt;
  &lt;/errorMessages&gt;
  &lt;!--...more &quot;errorMessages&quot; elements...--&gt;
&lt;/redbackRestError&gt;</code>
      <h2>Example JSON</h2>
      <code class="prettyprint lang-js">{
  &quot;errorMessages&quot; : [ {
    &quot;errorKey&quot; : &quot;...&quot;,
    &quot;args&quot; : [ &quot;...&quot;, ... ],
    &quot;message&quot; : &quot;...&quot;
  }, ... ]
}</code>

      <div class="clear" />
    </div>
    <footer>
      <div id="footer">
        Generated by <a href="http://enunciate.codehaus.org">Enunciate</a>.
      </div>
    </footer>
  </div> <!--! end of #container -->

  <!-- JavaScript at the bottom for fast page loading -->

  <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
  <script>window.jQuery || document.write("<script src='js/libs/jquery-1.5.1.min.js'>\x3C/script>")</script>

  <!--manage the navigation menu-->
  <script src="js/libs/xbreadcrumbs.js"></script>
  <script>
    $(function() {
      $('#breadcrumbs').xBreadcrumbs();
    });
  </script>


  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="js/libs/prettify/prettify.js"></script>
  <script>
    $(function() {
      prettyPrint();
    });
  </script>

  <!--[if lt IE 7 ]>
    <script src="js/libs/dd_belatedpng.js"></script>
    <script>DD_belatedPNG.fix("img, .png_bg"); // Fix any <img> or .png_bg bg-images. Also, please read goo.gl/mZiyb </script>
  <![endif]-->

</body>
</html>