<!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>errorMessage</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">errorMessage</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_errorMessage.html">errorMessage 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>errorMessage element</h1>
      <table>
        <tr>
          <td align="right">Type:</td>
          <td><a href="ns0_errorMessage.html">errorMessage</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;errorMessage&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;/errorMessage&gt;</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>