You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2016/06/30 19:47:59 UTC

[10/11] qpid-site git commit: DISPATCH-399: Generate raw HTML body version of dispatch doc.

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/18828d3b/content/releases/qpid-dispatch-master/book.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-dispatch-master/book.html b/content/releases/qpid-dispatch-master/book.html
index a27fac9..b12e5b2 100644
--- a/content/releases/qpid-dispatch-master/book.html
+++ b/content/releases/qpid-dispatch-master/book.html
@@ -21,7 +21,7 @@
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
   <head>
-    <title>Qpid Dispatch Router Book - Apache Qpid&#8482;</title>
+    <title>1. Introduction - Apache Qpid&#8482;</title>
     <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
     <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
     <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
@@ -111,765 +111,23 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
       </div>
 
       <div id="-middle" class="panel">
-        <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-dispatch-master/index.html">Qpid Dispatch Master</a></li><li>Qpid Dispatch Router Book</li></ul>
+        <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-dispatch-master/index.html">Qpid Dispatch Master</a></li><li>1. Introduction</li></ul>
 
         <div id="-middle-content">
-          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
-    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
-<meta name="generator" content="AsciiDoc 8.6.8" />
-<title>Qpid Dispatch Router Book</title>
-<style type="text/css">
-/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
-
-/* Default font. */
-body {
-  font-family: Georgia,serif;
-}
-
-/* Title font. */
-h1, h2, h3, h4, h5, h6,
-div.title, caption.title,
-thead, p.table.header,
-#toctitle,
-#author, #revnumber, #revdate, #revremark,
-#footer {
-  font-family: Arial,Helvetica,sans-serif;
-}
-
-body {
-  margin: 1em 5% 1em 5%;
-}
-
-a {
-  color: blue;
-  text-decoration: underline;
-}
-a:visited {
-  color: fuchsia;
-}
-
-em {
-  font-style: italic;
-  color: navy;
-}
-
-strong {
-  font-weight: bold;
-  color: #083194;
-}
-
-h1, h2, h3, h4, h5, h6 {
-  color: #527bbd;
-  margin-top: 1.2em;
-  margin-bottom: 0.5em;
-  line-height: 1.3;
-}
-
-h1, h2, h3 {
-  border-bottom: 2px solid silver;
-}
-h2 {
-  padding-top: 0.5em;
-}
-h3 {
-  float: left;
-}
-h3 + * {
-  clear: left;
-}
-h5 {
-  font-size: 1.0em;
-}
-
-div.sectionbody {
-  margin-left: 0;
-}
-
-hr {
-  border: 1px solid silver;
-}
-
-p {
-  margin-top: 0.5em;
-  margin-bottom: 0.5em;
-}
-
-ul, ol, li > p {
-  margin-top: 0;
-}
-ul > li     { color: #aaa; }
-ul > li > * { color: black; }
-
-.monospaced, code, pre {
-  font-family: "Courier New", Courier, monospace;
-  font-size: inherit;
-  color: navy;
-  padding: 0;
-  margin: 0;
-}
-
-
-#author {
-  color: #527bbd;
-  font-weight: bold;
-  font-size: 1.1em;
-}
-#email {
-}
-#revnumber, #revdate, #revremark {
-}
-
-#footer {
-  font-size: small;
-  border-top: 2px solid silver;
-  padding-top: 0.5em;
-  margin-top: 4.0em;
-}
-#footer-text {
-  float: left;
-  padding-bottom: 0.5em;
-}
-#footer-badges {
-  float: right;
-  padding-bottom: 0.5em;
-}
-
-#preamble {
-  margin-top: 1.5em;
-  margin-bottom: 1.5em;
-}
-div.imageblock, div.exampleblock, div.verseblock,
-div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
-div.admonitionblock {
-  margin-top: 1.0em;
-  margin-bottom: 1.5em;
-}
-div.admonitionblock {
-  margin-top: 2.0em;
-  margin-bottom: 2.0em;
-  margin-right: 10%;
-  color: #606060;
-}
-
-div.content { /* Block element content. */
-  padding: 0;
-}
-
-/* Block element titles. */
-div.title, caption.title {
-  color: #527bbd;
-  font-weight: bold;
-  text-align: left;
-  margin-top: 1.0em;
-  margin-bottom: 0.5em;
-}
-div.title + * {
-  margin-top: 0;
-}
-
-td div.title:first-child {
-  margin-top: 0.0em;
-}
-div.content div.title:first-child {
-  margin-top: 0.0em;
-}
-div.content + div.title {
-  margin-top: 0.0em;
-}
-
-div.sidebarblock > div.content {
-  background: #ffffee;
-  border: 1px solid #dddddd;
-  border-left: 4px solid #f0f0f0;
-  padding: 0.5em;
-}
-
-div.listingblock > div.content {
-  border: 1px solid #dddddd;
-  border-left: 5px solid #f0f0f0;
-  background: #f8f8f8;
-  padding: 0.5em;
-}
-
-div.quoteblock, div.verseblock {
-  padding-left: 1.0em;
-  margin-left: 1.0em;
-  margin-right: 10%;
-  border-left: 5px solid #f0f0f0;
-  color: #888;
-}
-
-div.quoteblock > div.attribution {
-  padding-top: 0.5em;
-  text-align: right;
-}
-
-div.verseblock > pre.content {
-  font-family: inherit;
-  font-size: inherit;
-}
-div.verseblock > div.attribution {
-  padding-top: 0.75em;
-  text-align: left;
-}
-/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
-div.verseblock + div.attribution {
-  text-align: left;
-}
-
-div.admonitionblock .icon {
-  vertical-align: top;
-  font-size: 1.1em;
-  font-weight: bold;
-  text-decoration: underline;
-  color: #527bbd;
-  padding-right: 0.5em;
-}
-div.admonitionblock td.content {
-  padding-left: 0.5em;
-  border-left: 3px solid #dddddd;
-}
-
-div.exampleblock > div.content {
-  border-left: 3px solid #dddddd;
-  padding-left: 0.5em;
-}
-
-div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
-a.image:visited { color: white; }
-
-dl {
-  margin-top: 0.8em;
-  margin-bottom: 0.8em;
-}
-dt {
-  margin-top: 0.5em;
-  margin-bottom: 0;
-  font-style: normal;
-  color: navy;
-}
-dd > *:first-child {
-  margin-top: 0.1em;
-}
-
-ul, ol {
-    list-style-position: outside;
-}
-ol.arabic {
-  list-style-type: decimal;
-}
-ol.loweralpha {
-  list-style-type: lower-alpha;
-}
-ol.upperalpha {
-  list-style-type: upper-alpha;
-}
-ol.lowerroman {
-  list-style-type: lower-roman;
-}
-ol.upperroman {
-  list-style-type: upper-roman;
-}
-
-div.compact ul, div.compact ol,
-div.compact p, div.compact p,
-div.compact div, div.compact div {
-  margin-top: 0.1em;
-  margin-bottom: 0.1em;
-}
-
-tfoot {
-  font-weight: bold;
-}
-td > div.verse {
-  white-space: pre;
-}
-
-div.hdlist {
-  margin-top: 0.8em;
-  margin-bottom: 0.8em;
-}
-div.hdlist tr {
-  padding-bottom: 15px;
-}
-dt.hdlist1.strong, td.hdlist1.strong {
-  font-weight: bold;
-}
-td.hdlist1 {
-  vertical-align: top;
-  font-style: normal;
-  padding-right: 0.8em;
-  color: navy;
-}
-td.hdlist2 {
-  vertical-align: top;
-}
-div.hdlist.compact tr {
-  margin: 0;
-  padding-bottom: 0;
-}
-
-.comment {
-  background: yellow;
-}
-
-.footnote, .footnoteref {
-  font-size: 0.8em;
-}
-
-span.footnote, span.footnoteref {
-  vertical-align: super;
-}
-
-#footnotes {
-  margin: 20px 0 20px 0;
-  padding: 7px 0 0 0;
-}
-
-#footnotes div.footnote {
-  margin: 0 0 5px 0;
-}
-
-#footnotes hr {
-  border: none;
-  border-top: 1px solid silver;
-  height: 1px;
-  text-align: left;
-  margin-left: 0;
-  width: 20%;
-  min-width: 100px;
-}
-
-div.colist td {
-  padding-right: 0.5em;
-  padding-bottom: 0.3em;
-  vertical-align: top;
-}
-div.colist td img {
-  margin-top: 0.3em;
-}
-
-@media print {
-  #footer-badges { display: none; }
-}
-
-#toc {
-  margin-bottom: 2.5em;
-}
-
-#toctitle {
-  color: #527bbd;
-  font-size: 1.1em;
-  font-weight: bold;
-  margin-top: 1.0em;
-  margin-bottom: 0.1em;
-}
-
-div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-div.toclevel2 {
-  margin-left: 2em;
-  font-size: 0.9em;
-}
-div.toclevel3 {
-  margin-left: 4em;
-  font-size: 0.9em;
-}
-div.toclevel4 {
-  margin-left: 6em;
-  font-size: 0.9em;
-}
-
-span.aqua { color: aqua; }
-span.black { color: black; }
-span.blue { color: blue; }
-span.fuchsia { color: fuchsia; }
-span.gray { color: gray; }
-span.green { color: green; }
-span.lime { color: lime; }
-span.maroon { color: maroon; }
-span.navy { color: navy; }
-span.olive { color: olive; }
-span.purple { color: purple; }
-span.red { color: red; }
-span.silver { color: silver; }
-span.teal { color: teal; }
-span.white { color: white; }
-span.yellow { color: yellow; }
-
-span.aqua-background { background: aqua; }
-span.black-background { background: black; }
-span.blue-background { background: blue; }
-span.fuchsia-background { background: fuchsia; }
-span.gray-background { background: gray; }
-span.green-background { background: green; }
-span.lime-background { background: lime; }
-span.maroon-background { background: maroon; }
-span.navy-background { background: navy; }
-span.olive-background { background: olive; }
-span.purple-background { background: purple; }
-span.red-background { background: red; }
-span.silver-background { background: silver; }
-span.teal-background { background: teal; }
-span.white-background { background: white; }
-span.yellow-background { background: yellow; }
-
-span.big { font-size: 2em; }
-span.small { font-size: 0.6em; }
-
-span.underline { text-decoration: underline; }
-span.overline { text-decoration: overline; }
-span.line-through { text-decoration: line-through; }
-
-div.unbreakable { page-break-inside: avoid; }
-
-
-/*
- * xhtml11 specific
- *
- * */
-
-div.tableblock {
-  margin-top: 1.0em;
-  margin-bottom: 1.5em;
-}
-div.tableblock > table {
-  border: 3px solid #527bbd;
-}
-thead, p.table.header {
-  font-weight: bold;
-  color: #527bbd;
-}
-p.table {
-  margin-top: 0;
-}
-/* Because the table frame attribute is overriden by CSS in most browsers. */
-div.tableblock > table[frame="void"] {
-  border-style: none;
-}
-div.tableblock > table[frame="hsides"] {
-  border-left-style: none;
-  border-right-style: none;
-}
-div.tableblock > table[frame="vsides"] {
-  border-top-style: none;
-  border-bottom-style: none;
-}
-
-
-/*
- * html5 specific
- *
- * */
-
-table.tableblock {
-  margin-top: 1.0em;
-  margin-bottom: 1.5em;
-}
-thead, p.tableblock.header {
-  font-weight: bold;
-  color: #527bbd;
-}
-p.tableblock {
-  margin-top: 0;
-}
-table.tableblock {
-  border-width: 3px;
-  border-spacing: 0px;
-  border-style: solid;
-  border-color: #527bbd;
-  border-collapse: collapse;
-}
-th.tableblock, td.tableblock {
-  border-width: 1px;
-  padding: 4px;
-  border-style: solid;
-  border-color: #527bbd;
-}
-
-table.tableblock.frame-topbot {
-  border-left-style: hidden;
-  border-right-style: hidden;
-}
-table.tableblock.frame-sides {
-  border-top-style: hidden;
-  border-bottom-style: hidden;
-}
-table.tableblock.frame-none {
-  border-style: hidden;
-}
-
-th.tableblock.halign-left, td.tableblock.halign-left {
-  text-align: left;
-}
-th.tableblock.halign-center, td.tableblock.halign-center {
-  text-align: center;
-}
-th.tableblock.halign-right, td.tableblock.halign-right {
-  text-align: right;
-}
-
-th.tableblock.valign-top, td.tableblock.valign-top {
-  vertical-align: top;
-}
-th.tableblock.valign-middle, td.tableblock.valign-middle {
-  vertical-align: middle;
-}
-th.tableblock.valign-bottom, td.tableblock.valign-bottom {
-  vertical-align: bottom;
-}
-
-
-/*
- * manpage specific
- *
- * */
-
-body.manpage h1 {
-  padding-top: 0.5em;
-  padding-bottom: 0.5em;
-  border-top: 2px solid silver;
-  border-bottom: 2px solid silver;
-}
-body.manpage h2 {
-  border-style: none;
-}
-body.manpage div.sectionbody {
-  margin-left: 3em;
-}
-
-@media print {
-  body.manpage div#toc { display: none; }
-}
-
-
-</style>
-<script type="text/javascript">
-/*<![CDATA[*/
-var asciidoc = {  // Namespace.
-
-/////////////////////////////////////////////////////////////////////
-// Table Of Contents generator
-/////////////////////////////////////////////////////////////////////
-
-/* Author: Mihai Bazon, September 2002
- * http://students.infoiasi.ro/~mishoo
- *
- * Table Of Content generator
- * Version: 0.4
- *
- * Feel free to use this script under the terms of the GNU General Public
- * License, as long as you do not remove or alter this notice.
- */
-
- /* modified by Troy D. Hanson, September 2006. License: GPL */
- /* modified by Stuart Rackham, 2006, 2009. License: GPL */
-
-// toclevels = 1..4.
-toc: function (toclevels) {
-
-  function getText(el) {
-    var text = "";
-    for (var i = el.firstChild; i != null; i = i.nextSibling) {
-      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
-        text += i.data;
-      else if (i.firstChild != null)
-        text += getText(i);
-    }
-    return text;
-  }
-
-  function TocEntry(el, text, toclevel) {
-    this.element = el;
-    this.text = text;
-    this.toclevel = toclevel;
-  }
-
-  function tocEntries(el, toclevels) {
-    var result = new Array;
-    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
-    // Function that scans the DOM tree for header elements (the DOM2
-    // nodeIterator API would be a better technique but not supported by all
-    // browsers).
-    var iterate = function (el) {
-      for (var i = el.firstChild; i != null; i = i.nextSibling) {
-        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
-          var mo = re.exec(i.tagName);
-          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
-            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
-          }
-          iterate(i);
-        }
-      }
-    }
-    iterate(el);
-    return result;
-  }
-
-  var toc = document.getElementById("toc");
-  if (!toc) {
-    return;
-  }
-
-  // Delete existing TOC entries in case we're reloading the TOC.
-  var tocEntriesToRemove = [];
-  var i;
-  for (i = 0; i < toc.childNodes.length; i++) {
-    var entry = toc.childNodes[i];
-    if (entry.nodeName.toLowerCase() == 'div'
-     && entry.getAttribute("class")
-     && entry.getAttribute("class").match(/^toclevel/))
-      tocEntriesToRemove.push(entry);
-  }
-  for (i = 0; i < tocEntriesToRemove.length; i++) {
-    toc.removeChild(tocEntriesToRemove[i]);
-  }
-
-  // Rebuild TOC entries.
-  var entries = tocEntries(document.getElementById("content"), toclevels);
-  for (var i = 0; i < entries.length; ++i) {
-    var entry = entries[i];
-    if (entry.element.id == "")
-      entry.element.id = "_toc_" + i;
-    var a = document.createElement("a");
-    a.href = "#" + entry.element.id;
-    a.appendChild(document.createTextNode(entry.text));
-    var div = document.createElement("div");
-    div.appendChild(a);
-    div.className = "toclevel" + entry.toclevel;
-    toc.appendChild(div);
-  }
-  if (entries.length == 0)
-    toc.parentNode.removeChild(toc);
-},
-
-
-/////////////////////////////////////////////////////////////////////
-// Footnotes generator
-/////////////////////////////////////////////////////////////////////
-
-/* Based on footnote generation code from:
- * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
- */
-
-footnotes: function () {
-  // Delete existing footnote entries in case we're reloading the footnodes.
-  var i;
-  var noteholder = document.getElementById("footnotes");
-  if (!noteholder) {
-    return;
-  }
-  var entriesToRemove = [];
-  for (i = 0; i < noteholder.childNodes.length; i++) {
-    var entry = noteholder.childNodes[i];
-    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
-      entriesToRemove.push(entry);
-  }
-  for (i = 0; i < entriesToRemove.length; i++) {
-    noteholder.removeChild(entriesToRemove[i]);
-  }
-
-  // Rebuild footnote entries.
-  var cont = document.getElementById("content");
-  var spans = cont.getElementsByTagName("span");
-  var refs = {};
-  var n = 0;
-  for (i=0; i<spans.length; i++) {
-    if (spans[i].className == "footnote") {
-      n++;
-      var note = spans[i].getAttribute("data-note");
-      if (!note) {
-        // Use [\s\S] in place of . so multi-line matches work.
-        // Because JavaScript has no s (dotall) regex flag.
-        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
-        spans[i].innerHTML =
-          "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
-          "' title='View footnote' class='footnote'>" + n + "</a>]";
-        spans[i].setAttribute("data-note", note);
-      }
-      noteholder.innerHTML +=
-        "<div class='footnote' id='_footnote_" + n + "'>" +
-        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
-        n + "</a>. " + note + "</div>";
-      var id =spans[i].getAttribute("id");
-      if (id != null) refs["#"+id] = n;
-    }
-  }
-  if (n == 0)
-    noteholder.parentNode.removeChild(noteholder);
-  else {
-    // Process footnoterefs.
-    for (i=0; i<spans.length; i++) {
-      if (spans[i].className == "footnoteref") {
-        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
-        href = href.match(/#.*/)[0];  // Because IE return full URL.
-        n = refs[href];
-        spans[i].innerHTML =
-          "[<a href='#_footnote_" + n +
-          "' title='View footnote' class='footnote'>" + n + "</a>]";
-      }
-    }
-  }
-},
-
-install: function(toclevels) {
-  var timerId;
-
-  function reinstall() {
-    asciidoc.footnotes();
-    if (toclevels) {
-      asciidoc.toc(toclevels);
-    }
-  }
-
-  function reinstallAndRemoveTimer() {
-    clearInterval(timerId);
-    reinstall();
-  }
-
-  timerId = setInterval(reinstall, 500);
-  if (document.addEventListener)
-    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
-  else
-    window.onload = reinstallAndRemoveTimer;
-}
-
-}
-asciidoc.install(2);
-/*]]>*/
-</script>
-</head>
-<body class="book">
-<div id="header">
-<h1>Qpid Dispatch Router Book</h1>
-<div id="toc">
-  <div id="toctitle">Table of Contents</div>
-  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
-</div>
-</div>
-<div id="content">
-<div class="sect1">
-<h2 id="introduction">1. Introduction</h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="overview">1.1. Overview</h3>
-<div class="paragraph"><p>The Dispatch router is an AMQP message router that provides
+          <hr>
+<h2><a name="introduction"></a>1. Introduction</h2>
+<h3><a name="overview"></a>1.1. Overview</h3>
+<p>The Dispatch router is an AMQP message router that provides
 advanced interconnect capabilities. It allows flexible routing of
 messages between any AMQP-enabled endpoints, whether they be clients,
 servers, brokers or any other entity that can send or receive standard
-AMQP messages.</p></div>
-<div class="paragraph"><p>A messaging client can make a single AMQP connection into a messaging
+AMQP messages.</p>
+<p>A messaging client can make a single AMQP connection into a messaging
 bus built of Dispatch routers and, over that connection, exchange
 messages with one or more message brokers, and at the same time exchange
 messages directly with other endpoints without involving a broker at
-all.</p></div>
-<div class="paragraph"><p>The router is an intermediary for messages but it is <em>not</em> a broker. It
+all.</p>
+<p>The router is an intermediary for messages but it is <em>not</em> a broker. It
 does not <em>take responsibility for</em> messages. It will, however, propagate
 settlement and disposition across a network such that delivery
 guarantees are met. In other words: the router network will deliver the
@@ -879,14 +137,14 @@ the same path. This means that <em>responsibility</em> for the message is
 transfered from the original sender to the ultimate receiver <em>as if
 they were directly connected</em>. However this is done via a flexible
 network that allows highly configurable routing of the message
-transparent to both sender and receiver.</p></div>
-<div class="paragraph"><p>There are some patterns where this enables "brokerless messaging"
+transparent to both sender and receiver.</p>
+<p>There are some patterns where this enables "brokerless messaging"
 approaches that are preferable to brokered approaches. In other cases a
 broker is essential (in particular where you need the separation of
 responsibility and/or the buffering provided by store-and-forward) but a
 dispatch network can still be useful to tie brokers and clients together
-into patterns that are difficult with a single broker.</p></div>
-<div class="paragraph"><p>For a "brokerless" example, consider the common brokered implementation
+into patterns that are difficult with a single broker.</p>
+<p>For a "brokerless" example, consider the common brokered implementation
 of the request-response pattern, a client puts a request on a queue and
 then waits for a reply on another queue. In this case the broker can be
 a hindrance - the client may want to know immediatly if there is nobody
@@ -895,8 +153,8 @@ discover this. With a dispatch network, the client can be informed
 immediately if its message cannot be delivered because nobody is
 listening. When the client receives acknowledgement of the request it
 knows not just that it is sitting on a queue, but that it has actually
-been received by the server.</p></div>
-<div class="paragraph"><p>For an exampe of using dispatch to enhance the use of brokers, consider
+been received by the server.</p>
+<p>For an exampe of using dispatch to enhance the use of brokers, consider
 using an array of brokers to implement a scalable distributed work
 queue. A dispatch network can make this appear as a single queue, with
 senders publishing to a single address and receivers subscribing to a
@@ -908,8 +166,8 @@ pattern with brokers alone. If a receiver is connected to a broker that
 has no messages, but there are messages on another broker, you have to
 somehow transfer them or leave them "stuck". With a dispatch network,
 <em>all</em> the receivers are connected to <em>all</em> the brokers. If there is a
-message anywhere it can be delivered to any receiver.</p></div>
-<div class="paragraph"><p>The router is meant to be deployed in topologies of multiple routers,
+message anywhere it can be delivered to any receiver.</p>
+<p>The router is meant to be deployed in topologies of multiple routers,
 preferably with redundant paths. It uses link-state routing protocols
 and algorithms (similar to OSPF or IS-IS from the networking world) to
 calculate the best path from every point to every other point and to
@@ -919,12 +177,10 @@ continued connectivity in the face of system or network failure. Because
 it never takes responsibility for messages it is effectively stateless.
 Messages not delivered to their final destination will not be
 acknowledged to the sender and therefore the sender can re-send such
-messages if it is disconnected from the network.</p></div>
-</div>
-<div class="sect2">
-<h3 id="benefits">1.2. Benefits</h3>
-<div class="paragraph"><p>Simplifies connectivity</p></div>
-<div class="ulist"><ul>
+messages if it is disconnected from the network.</p>
+<h3><a name="benefits"></a>1.2. Benefits</h3>
+<p>Simplifies connectivity</p>
+<ul>
 <li>
 <p>
 An endpoint can do all of its messaging through a single transport
@@ -936,9 +192,9 @@ connection
 Avoid opening holes in firewalls for incoming connections
 </p>
 </li>
-</ul></div>
-<div class="paragraph"><p>Provides messaging connectivity where there is no TCP/IP connectivity</p></div>
-<div class="ulist"><ul>
+</ul>
+<p>Provides messaging connectivity where there is no TCP/IP connectivity</p>
+<ul>
 <li>
 <p>
 A server or broker can be in a private IP network (behind a NAT
@@ -946,9 +202,9 @@ firewall) and be accessible by messaging endpoints in other networks
 (learn more).
 </p>
 </li>
-</ul></div>
-<div class="paragraph"><p>Simplifies reliability</p></div>
-<div class="ulist"><ul>
+</ul>
+<p>Simplifies reliability</p>
+<ul>
 <li>
 <p>
 Reliability and availability are provided using redundant topology,
@@ -965,29 +221,27 @@ Reliable end-to-end messaging without persistent stores
 Use a message broker only when you need store-and-forward semantics
 </p>
 </li>
-</ul></div>
-</div>
-<div class="sect2">
-<h3 id="features">1.3. Features</h3>
-<div class="ulist"><ul>
+</ul>
+<h3><a name="features"></a>1.3. Features</h3>
+<ul>
 <li>
 <p>
 Can be deployed stand-alone or in a network of routers
 </p>
-<div class="ulist"><ul>
+<ul>
 <li>
 <p>
 Supports arbitrary network topology - no restrictions on redundancy
 </p>
-<div class="ulist"><ul>
+<ul>
 <li>
 <p>
 Automatic route computation - adjusts quickly to changes in topology
 </p>
 </li>
-</ul></div>
+</ul>
 </li>
-</ul></div>
+</ul>
 </li>
 <li>
 <p>
@@ -999,50 +253,40 @@ Provides remote access to brokers or other AMQP servers
 Security
 </p>
 </li>
-</ul></div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="using-qpid-dispatch">2. Using Qpid Dispatch</h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="configuration">2.1. Configuration</h3>
-<div class="paragraph"><p>The default configuration file is installed in
-<em>install-prefix/etc/qpid-dispatch/qdrouterd.conf</em>. This configuration file will
+</ul>
+<hr>
+<h2><a name="using-qpid-dispatch"></a>2. Using Qpid Dispatch</h2>
+<h3><a name="configuration"></a>2.1. Configuration</h3>
+<p>The default configuration file is installed in
+<em>/usr/local/etc/qpid-dispatch/qdrouterd.conf</em>. This configuration file will
 cause the router to run in standalone mode, listening on the standard
 AMQP port (5672). Dispatch Router looks for the configuration file in
 the installed location by default. If you wish to use a different path,
 the "-c" command line option will instruct Dispatch Router as to which
-configuration to load.</p></div>
-<div class="paragraph"><p>To run the router, invoke the executable: qdrouterd [-c my-config-file]</p></div>
-<div class="paragraph"><p>For more details of the configuration file see the <em>qdrouterd.conf(5)</em> man
-page.</p></div>
-</div>
-<div class="sect2">
-<h3 id="tools">2.2. Tools</h3>
-<div class="sect3">
-<h4 id="qdstat">2.2.1. qdstat</h4>
-<div class="paragraph"><p><em>qdstat</em> is a command line tool that lets you view the status of a
+configuration to load.</p>
+<p>To run the router, invoke the executable: <code>qdrouterd [-c my-config-file]</code></p>
+<p>For more details of the configuration file see the <em>qdrouterd.conf(5)</em> man
+page.</p>
+<h3><a name="tools"></a>2.2. Tools</h3>
+<h4><a name="qdstat"></a>2.2.1. qdstat</h4>
+<p><em>qdstat</em> is a command line tool that lets you view the status of a
 Dispatch Router. The following options are useful for seeing what the
-router is doing:</p></div>
-<div class="tableblock">
+router is doing:</p>
+<div>
 <table rules="all"
 width="100%"
 frame="border"
 cellspacing="0" cellpadding="4">
-<col width="17%" />
-<col width="83%" />
 <thead>
 <tr>
-<th align="left" valign="top"><em>Option</em> </th>
-<th align="left" valign="top"><em>Description</em></th>
+<th align="left" width="17%" valign="top"><em>Option</em> </th>
+<th align="left" width="83%" valign="top"><em>Description</em></th>
 </tr>
 </thead>
 <tbody>
 <tr>
-<td align="left" valign="top"><p class="table">-l</p></td>
-<td align="left" valign="top"><p class="table">Print a list of AMQP links attached to the router. Links are
+<td align="left" width="17%" valign="top"><p>-l</p></td>
+<td align="left" width="83%" valign="top"><p>Print a list of AMQP links attached to the router. Links are
 unidirectional. Outgoing links are usually associated with a
 subscription address. The tool distinguishes between <em>endpoint</em> links
 and <em>router</em> links. Endpoint links are attached to clients using the
@@ -1050,76 +294,65 @@ router. Router links are attached to other routers in a network of
 routbers.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">-a</p></td>
-<td align="left" valign="top"><p class="table">Print a list of addresses known to the router.</p></td>
+<td align="left" width="17%" valign="top"><p>-a</p></td>
+<td align="left" width="83%" valign="top"><p>Print a list of addresses known to the router.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">-n</p></td>
-<td align="left" valign="top"><p class="table">Print a list of known routers in the network.</p></td>
+<td align="left" width="17%" valign="top"><p>-n</p></td>
+<td align="left" width="83%" valign="top"><p>Print a list of known routers in the network.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">-c</p></td>
-<td align="left" valign="top"><p class="table">Print a list of connections to the router.</p></td>
+<td align="left" width="17%" valign="top"><p>-c</p></td>
+<td align="left" width="83%" valign="top"><p>Print a list of connections to the router.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">--autolinks</p></td>
-<td align="left" valign="top"><p class="table">Print a list of configured auto-links.</p></td>
+<td align="left" width="17%" valign="top"><p>--autolinks</p></td>
+<td align="left" width="83%" valign="top"><p>Print a list of configured auto-links.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">--linkroutes</p></td>
-<td align="left" valign="top"><p class="table">Print a list of configures link-routes.</p></td>
+<td align="left" width="17%" valign="top"><p>--linkroutes</p></td>
+<td align="left" width="83%" valign="top"><p>Print a list of configures link-routes.</p></td>
 </tr>
 </tbody>
 </table>
 </div>
-<div class="paragraph"><p>For complete details see the <em>qdstat(8)</em> man page and the output of
-<code>qdstat --help</code>.</p></div>
-</div>
-<div class="sect3">
-<h4 id="qdmanage">2.2.2. qdmanage</h4>
-<div class="paragraph"><p><em>qdmanage</em> is a general-purpose AMQP management client that allows you
+<p>For complete details see the <em>qdstat(8)</em> man page and the output of
+<code>qdstat --help</code>.</p>
+<h4><a name="qdmanage"></a>2.2.2. qdmanage</h4>
+<p><em>qdmanage</em> is a general-purpose AMQP management client that allows you
 to not only view but modify the configuration of a running dispatch
-router.</p></div>
-<div class="paragraph"><p>For example you can query all the connection entities in the router:</p></div>
-<div class="listingblock">
-<div class="content">
+router.</p>
+<p>For example you can query all the connection entities in the router:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdmanage query --type connection</code></pre>
-</div></div>
-<div class="paragraph"><p>To enable logging debug and higher level messages by default:</p></div>
-<div class="listingblock">
-<div class="content">
+</td></tr></table>
+<p>To enable logging debug and higher level messages by default:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdmanage update log/DEFAULT enable=debug+</code></pre>
-</div></div>
-<div class="paragraph"><p>In fact, everything that can be configured in the configuration file can
+</td></tr></table>
+<p>In fact, everything that can be configured in the configuration file can
 also be created in a running router via management. For example to
-create a new listener in a running router:</p></div>
-<div class="listingblock">
-<div class="content">
+create a new listener in a running router:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdmanage create type=listener port=5555</code></pre>
-</div></div>
-<div class="paragraph"><p>Now you can connect to port 5555, for exampple:</p></div>
-<div class="listingblock">
-<div class="content">
+</td></tr></table>
+<p>Now you can connect to port 5555, for exampple:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdmanage query -b localhost:5555 --type listener</code></pre>
-</div></div>
-<div class="paragraph"><p>For complete details see the <em>qdmanage(8)</em> man page and the output of
+</td></tr></table>
+<p>For complete details see the <em>qdmanage(8)</em> man page and the output of
 <code>qdmanage --help</code>. Also for details of what can be configured see the
-<em>qdrouterd.conf(5)</em> man page.</p></div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="basic-usage-and-examples">2.3. Basic Usage and Examples</h3>
-<div class="sect3">
-<h4 id="standalone-and-interior-modes">2.3.1. Standalone and Interior Modes</h4>
-<div class="paragraph"><p>The router can operate stand-alone or as a node in a network of routers.
+<em>qdrouterd.conf(5)</em> man page.</p>
+<h3><a name="basic-usage-and-examples"></a>2.3. Basic Usage and Examples</h3>
+<h4><a name="standalone-and-interior-modes"></a>2.3.1. Standalone and Interior Modes</h4>
+<p>The router can operate stand-alone or as a node in a network of routers.
 The mode is configured in the <em>router</em> section of the configuration
 file. In stand-alone mode, the router does not attempt to collaborate
 with any other routers and only routes messages among directly connected
-endpoints.</p></div>
-<div class="paragraph"><p>If your router is running in stand-alone mode, <em>qdstat -a</em> will look
-like the following:</p></div>
-<div class="listingblock">
-<div class="content">
+endpoints.</p>
+<p>If your router is running in stand-alone mode, <em>qdstat -a</em> will look
+like the following:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdstat -a
 Router Addresses
   class   addr                   phs  distrib  in-proc  local  remote  cntnr  in  out  thru  to-proc  from-proc
@@ -1129,16 +362,15 @@ Router Addresses
   mobile  $management            0    closest  1        0      0       0      1   0    0     1        0
   local   $management                 closest  1        0      0       0      0   0    0     0        0
   local   temp.1GThUllfR7N+BDP        closest  0        1      0       0      0   0    0     0        0</code></pre>
-</div></div>
-<div class="paragraph"><p>Note that there are a number of known addresses. <em>$management</em> is the
+</td></tr></table>
+<p>Note that there are a number of known addresses. <em>$management</em> is the
 address of the router&#8217;s embedded management agent.
 <em>temp.1GThUllfR7N+BDP</em> is the temporary reply-to address of the <em>qdstat</em>
-client making requests to the agent.</p></div>
-<div class="paragraph"><p>If you change the mode to interior and restart the processs, the same
+client making requests to the agent.</p>
+<p>If you change the mode to interior and restart the processs, the same
 command will yield additional addresses which are used for inter-router
-communication:</p></div>
-<div class="listingblock">
-<div class="content">
+communication:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdstat -a
 Router Addresses
   class   addr                   phs  distrib    in-proc  local  remote  cntnr  in  out  thru  to-proc  from-proc
@@ -1153,25 +385,21 @@ Router Addresses
   local   qdrouter.ma                 multicast  1        0      0       0      0   0    0     0        0
   topo    qdrouter.ma                 multicast  1        0      0       0      0   0    0     0        0
   local   temp.wfx54+zf+YWQF3T        closest    0        1      0       0      0   0    0     0        0</code></pre>
-</div></div>
-</div>
-<div class="sect3">
-<h4 id="mobile-subscribers">2.3.2. Mobile Subscribers</h4>
-<div class="paragraph"><p>The term "mobile subscriber" simply refers to the fact that a client may
+</td></tr></table>
+<h4><a name="mobile-subscribers"></a>2.3.2. Mobile Subscribers</h4>
+<p>The term "mobile subscriber" simply refers to the fact that a client may
 connect to the router and subscribe to an address to receive messages
 sent to that address. No matter where in the network the subscriber
-attaches, the messages will be routed to the appropriate destination.</p></div>
-<div class="paragraph"><p>To illustrate a subscription on a stand-alone router, you can use the
+attaches, the messages will be routed to the appropriate destination.</p>
+<p>To illustrate a subscription on a stand-alone router, you can use the
 examples that are provided with Qpid Proton. Using the <em>simple_recv.py</em>
-example receiver:</p></div>
-<div class="listingblock">
-<div class="content">
+example receiver:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ python ./simple_recv.py -a 127.0.0.1/my-address</code></pre>
-</div></div>
-<div class="paragraph"><p>This command creates a receiving link subscribed to the specified
-address. To verify the subscription:</p></div>
-<div class="listingblock">
-<div class="content">
+</td></tr></table>
+<p>This command creates a receiving link subscribed to the specified
+address. To verify the subscription:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdstat -a
 Router Addresses
   class   addr                   phs  distrib  in-proc  local  remote  cntnr  in  out  thru  to-proc  from-proc
@@ -1182,24 +410,20 @@ Router Addresses
   local   $management                 closest  1        0      0       0      0   0    0     0        0
   mobile  my-address             0    closest  0        1      0       0      0   0    0     0        0
   local   temp.75_d2X23x_KOT51        closest  0        1      0       0      0   0    0     0        0</code></pre>
-</div></div>
-<div class="paragraph"><p>You can then, in a separate command window, run a sender to produce
-messages to that address:</p></div>
-<div class="listingblock">
-<div class="content">
+</td></tr></table>
+<p>You can then, in a separate command window, run a sender to produce
+messages to that address:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ python ./simple_send.py -a 127.0.0.1/my-address</code></pre>
-</div></div>
-</div>
-<div class="sect3">
-<h4 id="dynamic-reply-to">2.3.3. Dynamic Reply-To</h4>
-<div class="paragraph"><p>Dynamic reply-to can be used to obtain a reply-to address that routes
+</td></tr></table>
+<h4><a name="dynamic-reply-to"></a>2.3.3. Dynamic Reply-To</h4>
+<p>Dynamic reply-to can be used to obtain a reply-to address that routes
 back to a client&#8217;s receiving link regardless of how many hops it has to
 take to get there. To illustrate this feature, see below a simple
 program (written in C++ against the qpid::messaging API) that queries
 the management agent of the attached router for a list of other known
-routers' management addresses.</p></div>
-<div class="listingblock">
-<div class="content">
+routers' management addresses.</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>#include &lt;qpid/messaging/Address.h&gt;
 #include &lt;qpid/messaging/Connection.h&gt;
 #include &lt;qpid/messaging/Message.h&gt;
@@ -1240,11 +464,10 @@ int main() {
 
     connection.close();
 }</code></pre>
-</div></div>
-<div class="paragraph"><p>The equivalent program written in Python against the Proton Messenger
-API:</p></div>
-<div class="listingblock">
-<div class="content">
+</td></tr></table>
+<p>The equivalent program written in Python against the Proton Messenger
+API:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>from proton import Messenger, Message
 
 def main():
@@ -1275,14 +498,11 @@ def main():
     messenger.stop()
 
 main()</code></pre>
-</div></div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="link-routing">2.4. Link Routing</h3>
-<div class="paragraph"><p>This feature was introduced in Qpid Dispatch 0.4. This feature was
-significantly updated in Qpid Dispatch 0.6.</p></div>
-<div class="paragraph"><p>Link-routing is an alternative strategy for routing messages across a
+</td></tr></table>
+<h3><a name="link-routing"></a>2.4. Link Routing</h3>
+<p>This feature was introduced in Qpid Dispatch 0.4. This feature was
+significantly updated in Qpid Dispatch 0.6.</p>
+<p>Link-routing is an alternative strategy for routing messages across a
 network of routers. With the existing message-routing strategy, each
 router makes a routing decision on a per-message basis when the message
 is delivered. Link-routing is different because it makes routing
@@ -1290,18 +510,17 @@ decisions when link-attach frames arrive. A link is effectively chained
 across the network of routers from the establishing node to the
 destination node. Once the link is established, the transfer of message
 deliveries, flow frames, and dispositions is performed across the routed
-link.</p></div>
-<div class="paragraph"><p>The main benefit to link-routing is that endpoints can use the full link
+link.</p>
+<p>The main benefit to link-routing is that endpoints can use the full link
 protocol to interact with other endpoints in far-flung parts of the
 network.  For example, a client can establish a receiver across the
 network to a queue on a remote broker and use link credit to control
 the flow of messages from the broker.  Similarly, a receiver can
 establish a link to a topic on a remote broker using a server-side
-filter.</p></div>
-<div class="paragraph"><p>Why would one want to do this?  One reason is to provide client
-isolation.  A network like the following can be deployed:</p></div>
-<div class="listingblock">
-<div class="content">
+filter.</p>
+<p>Why would one want to do this?  One reason is to provide client
+isolation.  A network like the following can be deployed:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>                        Public Network
                        +-----------------+
                        |      +-----+    |
@@ -1321,29 +540,27 @@ isolation.  A network like the following can be deployed:</p></div>
         |                 |           |                 |
         |                 |           |                 |
         +-----------------+           +-----------------+</code></pre>
-</div></div>
-<div class="paragraph"><p>The clients in Private Net B can be constrained (by firewall policy)
+</td></tr></table>
+<p>The clients in Private Net B can be constrained (by firewall policy)
 to only connect to the Router in their own network.  Using
 link-routing, these clients can access queues, topics, and other AMQP
-services that are in the Public Network or even in Private Net A.</p></div>
-<div class="paragraph"><p>For example, The router Ra can be configured to expose queues in
+services that are in the Public Network or even in Private Net A.</p>
+<p>For example, The router Ra can be configured to expose queues in
 broker B2 to the network.  Client C1 can then establish a connection
 to Rb, the local router, open a subscribing link to "b2.event-queue",
-and receive messages stored on that queue in broker B2.</p></div>
-<div class="paragraph"><p>C1 is unable to create a TCP/IP connection to B1 because of its
+and receive messages stored on that queue in broker B2.</p>
+<p>C1 is unable to create a TCP/IP connection to B1 because of its
 isolation (and because B2 is itself in a private network). However, with
-link routing, C1 can interact with B2 using the AMQP link protocol.</p></div>
-<div class="paragraph"><p>Note that in this case, neither C1 nor B2 have been modified in any way
+link routing, C1 can interact with B2 using the AMQP link protocol.</p>
+<p>Note that in this case, neither C1 nor B2 have been modified in any way
 and neither need be aware of the fact that there is a message-router
-network between them.</p></div>
-<div class="sect3">
-<h4 id="link-routing-configuration">2.4.1. Configuration</h4>
-<div class="paragraph"><p>Starting with the configured topology shown above, how is link-routing
-configured to support the example described above?</p></div>
-<div class="paragraph"><p>First, router Ra needs to be told how to make a connection to the broker
-B2:</p></div>
-<div class="listingblock">
-<div class="content">
+network between them.</p>
+<h4><a name="link-routing-configuration"></a>2.4.1. Configuration</h4>
+<p>Starting with the configured topology shown above, how is link-routing
+configured to support the example described above?</p>
+<p>First, router Ra needs to be told how to make a connection to the broker
+B2:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>connector {
     name: broker
     role: route-container
@@ -1351,13 +568,12 @@ B2:</p></div>
     port: &lt;B2-port&gt;
     saslMechanisms: ANONYMOUS
 }</code></pre>
-</div></div>
-<div class="paragraph"><p>This <em>route-container</em> connector tells the router how to connect to an
+</td></tr></table>
+<p>This <em>route-container</em> connector tells the router how to connect to an
 external AMQP container when it is needed. The name "broker" will be
-used later to refer to this connection.</p></div>
-<div class="paragraph"><p>Now, the router must be configured to route certain addresses to B2:</p></div>
-<div class="listingblock">
-<div class="content">
+used later to refer to this connection.</p>
+<p>Now, the router must be configured to route certain addresses to B2:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>linkRoute {
     prefix: b2
     dir: in
@@ -1369,18 +585,18 @@ linkRoute {
     dir: out
     connection: broker
 }</code></pre>
-</div></div>
-<div class="paragraph"><p>The linkRoute tells router Ra that any sender or receiver that is
+</td></tr></table>
+<p>The linkRoute tells router Ra that any sender or receiver that is
 attached with a target or source (respectively) whos address begins with
 "b2", should be routed to the broker B2 (via the route-container
-connector).</p></div>
-<div class="paragraph"><p>Note that receiving and sending links are configured and routed
+connector).</p>
+<p>Note that receiving and sending links are configured and routed
 separately. This allows configuration of link routes for listeners only
 or senders only. A direction of "in" matches client senders (i.e. links
 that carry messages inbound to the router network). Direction "out"
-matches client receivers.</p></div>
-<div class="paragraph"><p>Examples of addresses that "begin with <em>b2</em>" include:</p></div>
-<div class="ulist"><ul>
+matches client receivers.</p>
+<p>Examples of addresses that "begin with <em>b2</em>" include:</p>
+<ul>
 <li>
 <p>
 b2
@@ -1396,44 +612,40 @@ b2.queues
 b2.queues.app1
 </p>
 </li>
-</ul></div>
-<div class="paragraph"><p>When the route-container connector is configured, router Ra establishes
+</ul>
+<p>When the route-container connector is configured, router Ra establishes
 a connection to the broker. Once the connection is open, Ra tells the
 other routers (Rp and Rb) that it is a valid destination for link-routes
 to the "b2" prefix. This means that sender or receiver links attached to
 Rb or Rp will be routed via the shortest path to Ra where they are then
-routed outbound to the broker B2.</p></div>
-<div class="paragraph"><p>On Rp and Rb, it is advisable to add the identical configuration. It is
+routed outbound to the broker B2.</p>
+<p>On Rp and Rb, it is advisable to add the identical configuration. It is
 permissible for a linkRoute configuration to reference a connection that
-does not exist.</p></div>
-<div class="paragraph"><p>This configuration tells the routers that link-routing is intended to be
+does not exist.</p>
+<p>This configuration tells the routers that link-routing is intended to be
 available for targets and sources starting with "b2". This is important
 because it is possible that B2 might be unavailable or shut off. If B2
 is unreachable, Ra will not advertize itself as a destination for "b2"
 and the other routers might never know that "b2" was intended for
-link-routing.</p></div>
-<div class="paragraph"><p>The above configuration allows Rb and Rp to reject attaches that should
+link-routing.</p>
+<p>The above configuration allows Rb and Rp to reject attaches that should
 be routed to B2 with an error message that indicates that there is no
-route available to the destination.</p></div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="indirect-waypoints-and-auto-links">2.5. Indirect Waypoints and Auto-Links</h3>
-<div class="paragraph"><p>This feature was introduced in Qpid Dispatch 0.6. It is a significant
+route available to the destination.</p>
+<h3><a name="indirect-waypoints-and-auto-links"></a>2.5. Indirect Waypoints and Auto-Links</h3>
+<p>This feature was introduced in Qpid Dispatch 0.6. It is a significant
 improvement on an earlier somewhat experimental feature called
-Waypoints.</p></div>
-<div class="paragraph"><p>Auto-link is a feature of Qpid Dispatch Router that enables a router to
+Waypoints.</p>
+<p>Auto-link is a feature of Qpid Dispatch Router that enables a router to
 actively attach a link to a node on an external AMQP container. The
 obvious application for this feature is to route messages through a
-queue on a broker, but other applications are possible as well.</p></div>
-<div class="paragraph"><p>An auto-link manages the lifecycle of one AMQP link. If messages are to
+queue on a broker, but other applications are possible as well.</p>
+<p>An auto-link manages the lifecycle of one AMQP link. If messages are to
 be routed to and from a queue on a broker, then two auto-links are
 needed: one for sending messages to the queue and another for receiving
 messages from the queue. The container to which an auto-link attempts to
-attach may be identified in one of two ways:</p></div>
-<div class="quoteblock">
-<div class="content">
-<div class="ulist"><ul>
+attach may be identified in one of two ways:</p>
+<blockquote>
+<ul>
 <li>
 <p>
 The name of the connector/listener that resulted in the connection of
@@ -1445,16 +657,14 @@ the container, or
 The AMQP container-id of the remote container.
 </p>
 </li>
-</ul></div>
-</div>
-<div class="attribution">
-</div></div>
-<div class="sect3">
-<h4 id="queue-waypoint-example">2.5.1. Queue Waypoint Example</h4>
-<div class="paragraph"><p>Here is an example configuration for routing messages deliveries through
-a pair of queues on a broker:</p></div>
-<div class="listingblock">
-<div class="content">
+</ul>
+<p align="right">
+</p>
+</blockquote>
+<h4><a name="queue-waypoint-example"></a>2.5.1. Queue Waypoint Example</h4>
+<p>Here is an example configuration for routing messages deliveries through
+a pair of queues on a broker:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>connector {
     name: broker
     role: route-container
@@ -1491,15 +701,14 @@ autoLink {
     dir: out
     connection: broker
 }</code></pre>
-</div></div>
-<div class="paragraph"><p>The <code>address</code> entity identifies a namespace <em>queue.</em> that will be used
+</td></tr></table>
+<p>The <code>address</code> entity identifies a namespace <em>queue.</em> that will be used
 for routing messages through queues via autolinks. The four <code>autoLink</code> entities
 identify the head and tail of two queues on the broker that will be connected
-via auto-links.</p></div>
-<div class="paragraph"><p>If there is no broker connected, the auto-links shall remain
-<em>inactive</em>. This can be observed by using the <code>qdstat</code> tool:</p></div>
-<div class="listingblock">
-<div class="content">
+via auto-links.</p>
+<p>If there is no broker connected, the auto-links shall remain
+<em>inactive</em>. This can be observed by using the <code>qdstat</code> tool:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdstat --autolinks
 AutoLinks
   addr          dir  phase  link  status    lastErr
@@ -1508,11 +717,10 @@ AutoLinks
   queue.first   out  0            inactive
   queue.second  in   1            inactive
   queue.second  out  0            inactive</code></pre>
-</div></div>
-<div class="paragraph"><p>If a broker comes online with a queue called <em>queue.first</em>, the
-auto-links will attempt to activate:</p></div>
-<div class="listingblock">
-<div class="content">
+</td></tr></table>
+<p>If a broker comes online with a queue called <em>queue.first</em>, the
+auto-links will attempt to activate:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdstat --autolinks
 AutoLinks
   addr          dir  phase  link  status  lastErr
@@ -1521,67 +729,60 @@ AutoLinks
   queue.first   out  0      7     active
   queue.second  in   1            failed  Node not found: queue.second
   queue.second  out  0            failed  Node not found: queue.second</code></pre>
-</div></div>
-<div class="paragraph"><p>Note that two of the auto-links are in <em>failed</em> state because the queue
-does not exist on the broker.</p></div>
-<div class="paragraph"><p>If we now use the Qpid Proton example application <code>simple_send.py</code> to send
-three messages to <em>queue.first</em> via the router:</p></div>
-<div class="listingblock">
-<div class="content">
+</td></tr></table>
+<p>Note that two of the auto-links are in <em>failed</em> state because the queue
+does not exist on the broker.</p>
+<p>If we now use the Qpid Proton example application <code>simple_send.py</code> to send
+three messages to <em>queue.first</em> via the router:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ python simple_send.py -a 127.0.0.1/queue.first -m3
 all messages confirmed</code></pre>
-</div></div>
-<div class="paragraph"><p>and then look at the address statistics on the router:</p></div>
-<div class="listingblock">
-<div class="content">
+</td></tr></table>
+<p>and then look at the address statistics on the router:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdstat -a
 Router Addresses
   class   addr           phs  distrib   in-proc  local  remote  cntnr  in  out  thru  to-proc  from-proc
   ========================================================================================================
   mobile  queue.first    1    balanced  0        0      0       0      0   0    0     0        0
   mobile  queue.first    0    balanced  0        1      0       0      3   3    0     0        0</code></pre>
-</div></div>
-<div class="paragraph"><p>we see that <em>queue.first</em> appears twice in the list of addresses. The
+</td></tr></table>
+<p>we see that <em>queue.first</em> appears twice in the list of addresses. The
 <code>phs</code>, or phase column shows that there are two phases for the
 address. Phase <em>0</em> is for routing message deliveries from producers to
 the tail of the queue (the <code>out</code> auto-link associated with the queue).
 Phase 1 is for routing deliveries from the head of the queue to
-subscribed consumers.</p></div>
-<div class="paragraph"><p>Note that three deliveries have been counted in the "in" and "out"
+subscribed consumers.</p>
+<p>Note that three deliveries have been counted in the "in" and "out"
 columns for phase <em>0</em>. The "in" column represents the three messages
 that arrived from <code>simple_send.py</code> and the <code>out</code> column represents the three
-deliveries to the queue on the broker.</p></div>
-<div class="paragraph"><p>If we now use <code>simple_recv.py</code> to receive three messages from this address:</p></div>
-<div class="listingblock">
-<div class="content">
+deliveries to the queue on the broker.</p>
+<p>If we now use <code>simple_recv.py</code> to receive three messages from this address:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ python simple_recv.py -a 127.0.0.1:5672/queue.first -m3
 {u'sequence': int32(1)}
 {u'sequence': int32(2)}
 {u'sequence': int32(3)}</code></pre>
-</div></div>
-<div class="paragraph"><p>We receive the three queued messages. Looking at the addresses again, we
+</td></tr></table>
+<p>We receive the three queued messages. Looking at the addresses again, we
 see that phase 1 was used to deliver those messages from the queue to
-the consumer.</p></div>
-<div class="listingblock">
-<div class="content">
+the consumer.</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>$ qdstat -a
 Router Addresses
   class   addr           phs  distrib   in-proc  local  remote  cntnr  in  out  thru  to-proc  from-proc
   ========================================================================================================
   mobile  queue.first    1    balanced  0        0      0       0      3   3    0     0        0
   mobile  queue.first    0    balanced  0        1      0       0      3   3    0     0        0</code></pre>
-</div></div>
-<div class="paragraph"><p>Note that even in a multi-router network, and with multiple producers
+</td></tr></table>
+<p>Note that even in a multi-router network, and with multiple producers
 and consumers for <em>queue.first</em>, all deliveries will be routed through
-the queue on the connected broker.</p></div>
-</div>
-<div class="sect3">
-<h4 id="sharded-queue-example">2.5.2. Sharded Queue Example</h4>
-<div class="paragraph"><p>Here is an extension of the above example to illustrate how Qpid
+the queue on the connected broker.</p>
+<h4><a name="sharded-queue-example"></a>2.5.2. Sharded Queue Example</h4>
+<p>Here is an extension of the above example to illustrate how Qpid
 Dispatch Router can be used to create a distributed queue in which
-multiple brokers share the message-queueing load.</p></div>
-<div class="listingblock">
-<div class="content">
+multiple brokers share the message-queueing load.</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>connector {
     name: broker1
     role: route-container
@@ -1626,79 +827,66 @@ autoLink {
     dir: out
     connection: broker2
 }</code></pre>
-</div></div>
-<div class="paragraph"><p>In the above configuration, there are two instances of <em>queue.first</em> on
+</td></tr></table>
+<p>In the above configuration, there are two instances of <em>queue.first</em> on
 brokers 1 and 2. Message traffic from producers to address <em>queue.first</em>
 shall be balanced between the two instance and messages from the queues
 shall be balanced across the collection of subscribers to the same
-address.</p></div>
-</div>
-<div class="sect3">
-<h4 id="dynamically-adding-shards">2.5.3. Dynamically Adding Shards</h4>
-<div class="paragraph"><p>Since configurable entities in the router can also be accessed via the
+address.</p>
+<h4><a name="dynamically-adding-shards"></a>2.5.3. Dynamically Adding Shards</h4>
+<p>Since configurable entities in the router can also be accessed via the
 management protocol, we can remotely add a shard to the above example
-using <code>qdmanage</code>:</p></div>
-<div class="listingblock">
-<div class="content">
+using <code>qdmanage</code>:</p>
+<table border="0" bgcolor="#e8e8e8" width="100%" cellpadding="10"><tr><td>
 <pre><code>qdmanage create --type org.apache.qpid.dispatch.connector host=&lt;host&gt; port=&lt;port&gt; name=broker3
 qdmanage create --type org.apache.qpid.dispatch.router.config.autoLink addr=queue.first dir=in connection=broker3
 qdmanage create --type org.apache.qpid.dispatch.router.config.autoLink addr=queue.first dir=out connection=broker3</code></pre>
-</div></div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="technical-details-and-specifications">3. Technical Details and Specifications</h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="client-compatibility">3.1. Client Compatibility</h3>
-<div class="paragraph"><p>Dispatch Router should, in theory, work with any client that is
-compatible with AMQP 1.0. The following clients have been tested:</p></div>
-<div class="tableblock">
+</td></tr></table>
+<hr>
+<h2><a name="technical-details-and-specifications"></a>3. Technical Details and Specifications</h2>
+<h3><a name="client-compatibility"></a>3.1. Client Compatibility</h3>
+<p>Dispatch Router should, in theory, work with any client that is
+compatible with AMQP 1.0. The following clients have been tested:</p>
+<div>
 <table rules="all"
 width="100%"
 frame="border"
 cellspacing="0" cellpadding="4">
-<col width="22%" />
-<col width="78%" />
 <thead>
 <tr>
-<th align="left" valign="top"><em>Client</em> </th>
-<th align="left" valign="top"><em>Notes</em></th>
+<th align="left" width="22%" valign="top"><em>Client</em> </th>
+<th align="left" width="78%" valign="top"><em>Notes</em></th>
 </tr>
 </thead>
 <tbody>
 <tr>
-<td align="left" valign="top"><p class="table">qpid::messaging</p></td>
-<td align="left" valign="top"><p class="table">The Qpid messaging clients work with Dispatch Router
+<td align="left" width="22%" valign="top"><p>qpid::messaging</p></td>
+<td align="left" width="78%" valign="top"><p>The Qpid messaging clients work with Dispatch Router
 as long as they are configured to use the 1.0 version of the protocol.
 To enable AMQP 1.0 in the C++ client, use the {protocol:amqp1.0}
 connection option.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">Proton Reactor</p></td>
-<td align="left" valign="top"><p class="table">The Proton Reactor API is compatible with Dispatch
+<td align="left" width="22%" valign="top"><p>Proton Reactor</p></td>
+<td align="left" width="78%" valign="top"><p>The Proton Reactor API is compatible with Dispatch
 Router.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">Proton Messenger</p></td>
-<td align="left" valign="top"><p class="table">Messenger works with Dispatch Router.</p></td>
+<td align="left" width="22%" valign="top"><p>Proton Messenger</p></td>
+<td align="left" width="78%" valign="top"><p>Messenger works with Dispatch Router.</p></td>
 </tr>
 </tbody>
 </table>
 </div>
-</div>
-<div class="sect2">
-<h3 id="addressing">3.2. Addressing</h3>
-<div class="paragraph"><p>AMQP addresses are used to control the flow of messages across a network
+<h3><a name="addressing"></a>3.2. Addressing</h3>
+<p>AMQP addresses are used to control the flow of messages across a network
 of routers. Addresses are used in a number of different places in the
 AMQP 1.0 protocol. They can be used in a specific message in the <code>to</code>
 and <code>reply-to</code> fields of a message&#8217;s properties. They are also used
 during the creation of links in the <code>address</code> field of a <code>source</code> or
-a <code>target</code>.</p></div>
-<div class="paragraph"><p>Addresses designate various kinds of entities in a messaging network:</p></div>
-<div class="ulist"><ul>
+a <code>target</code>.</p>
+<p>Addresses designate various kinds of entities in a messaging network:</p>
+<ul>
 <li>
 <p>
 Endpoint processes that consume data or offer a service
@@ -1713,7 +901,7 @@ Topics that match multiple consumers to multiple producers
 <p>
 Entities within a messaging broker:
 </p>
-<div class="ulist"><ul>
+<ul>
 <li>
 <p>
 Queues
@@ -1729,23 +917,23 @@ Durable Topics
 Exchanges
 </p>
 </li>
-</ul></div>
+</ul>
 </li>
-</ul></div>
-<div class="paragraph"><p>The syntax of an AMQP address is opaque as far as the router network is
+</ul>
+<p>The syntax of an AMQP address is opaque as far as the router network is
 concerned. A syntactical structure may be used by the administrator that
 creates addresses, but the router treats them as opaque strings. Routers
 consider addresses to be mobile such that any address may be directly
 connected to any router in a network and may move around the topology.
 In cases where messages are broadcast to or balanced across multiple
 consumers, an address may be connected to multiple routers in the
-network.</p></div>
-<div class="paragraph"><p>Addresses have semantics associated with them. When an address is
+network.</p>
+<p>Addresses have semantics associated with them. When an address is
 created in the network, it is assigned a set of semantics (and access
 rules) during a process called provisioning. The semantics of an address
-control how routers behave when they see the address being used.</p></div>
-<div class="paragraph"><p>Address semantics include the following considerations:</p></div>
-<div class="ulist"><ul>
+control how routers behave when they see the address being used.</p>
+<p>Address semantics include the following considerations:</p>
+<ul>
 <li>
 <p>
 <em>Routing pattern</em> - direct, multicast, balanced
@@ -1761,40 +949,37 @@ control how routers behave when they see the address being used.</p></div>
 <em>Reliability</em> - N destinations, etc.
 </p>
 </li>
-</ul></div>
-<div class="sect3">
-<h4 id="routing-patterns">3.2.1. Routing patterns</h4>
-<div class="paragraph"><p>Routing patterns constrain the paths that a message can take across a
-network.</p></div>
-<div class="tableblock">
+</ul>
+<h4><a name="routing-patterns"></a>3.2.1. Routing patterns</h4>
+<p>Routing patterns constrain the paths that a message can take across a
+network.</p>
+<div>
 <table rules="all"
 width="100%"
 frame="border"
 cellspacing="0" cellpadding="4">
-<col width="18%" />
-<col width="82%" />
 <thead>
 <tr>
-<th align="left" valign="top"><em>Pattern</em> </th>
-<th align="left" valign="top"><em>Description</em></th>
+<th align="left" width="18%" valign="top"><em>Pattern</em> </th>
+<th align="left" width="82%" valign="top"><em>Description</em></th>
 </tr>
 </thead>
 <tbody>
 <tr>
-<td align="left" valign="top"><p class="table"><em>Direct</em></p></td>
-<td align="left" valign="top"><p class="table">Direct routing allows for only one consumer to use an address
+<td align="left" width="18%" valign="top"><p><em>Direct</em></p></td>
+<td align="left" width="82%" valign="top"><p>Direct routing allows for only one consumer to use an address
 at a time. Messages (or links) follow the lowest cost path across the
 network from the sender to the one receiver.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table"><em>Multicast</em></p></td>
-<td align="left" valign="top"><p class="table">Multicast routing allows multiple consumers to use the
+<td align="left" width="18%" valign="top"><p><em>Multicast</em></p></td>
+<td align="left" width="82%" valign="top"><p>Multicast routing allows multiple consumers to use the
 same address at the same time. Messages are routed such that each
 consumer receives a copy of the message.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table"><em>Balanced</em></p></td>
-<td align="left" valign="top"><p class="table">Balanced routing also allows multiple consumers to use the
+<td align="left" width="18%" valign="top"><p><em>Balanced</em></p></td>
+<td align="left" width="82%" valign="top"><p>Balanced routing also allows multiple consumers to use the
 same address. In this case, messages are routed to exactly one of the
 consumers, and the network attempts to balance the traffic load across
 the set of consumers using the same address.</p></td>
@@ -1802,59 +987,53 @@ the set of consumers using the same address.</p></td>
 </tbody>
 </table>
 </div>
-</div>
-<div class="sect3">
-<h4 id="routing-mechanisms">3.2.2. Routing mechanisms</h4>
-<div class="paragraph"><p>The fact that addresses can be used in different ways suggests that
+<h4><a name="routing-mechanisms"></a>3.2.2. Routing mechanisms</h4>
+<p>The fact that addresses can be used in different ways suggests that
 message routing can be accomplished in different ways. Before going into
 the specifics of the different routing mechanisms, it would be good to
-first define what is meant by the term <em>routing</em>:</p></div>
-<div class="quoteblock">
-<div class="content">
-<div class="paragraph"><p>In a network built of multiple routers connected by connections (i.e.,
+first define what is meant by the term <em>routing</em>:</p>
+<blockquote>
+<p>In a network built of multiple routers connected by connections (i.e.,
 nodes and edges in a graph), <em>routing</em> determines which connection to
 use to send a message directly to its destination or one step closer to
-its destination.</p></div>
-</div>
-<div class="attribution">
-</div></div>
-<div class="paragraph"><p>Each router serves as the terminus of a collection of incoming and
+its destination.</p>
+<p align="right">
+</p>
+</blockquote>
+<p>Each router serves as the terminus of a collection of incoming and
 outgoing links. The links either connect directly to endpoints that
 produce and consume messages, or they connect to other routers in the
-network along previously established connections.</p></div>
-<div class="sect4">
-<h5 id="message-routing">Message routing</h5>
-<div class="paragraph"><p>Message routing occurs upon delivery of a message and is done based on
-the address in the message&#8217;s <code>to</code> field.</p></div>
-<div class="paragraph"><p>When a delivery arrives on an incoming link, the router extracts the
+network along previously established connections.</p>
+<h5><a name="message-routing"></a>Message routing</h5>
+<p>Message routing occurs upon delivery of a message and is done based on
+the address in the message&#8217;s <code>to</code> field.</p>
+<p>When a delivery arrives on an incoming link, the router extracts the
 address from the delivered message&#8217;s <code>to</code> field and looks the address up
 in its routing table. The lookup results in zero or more outgoing links
-onto which the message shall be resent.</p></div>
-<div class="tableblock">
+onto which the message shall be resent.</p>
+<div>
 <table rules="all"
 width="100%"
 frame="border"
 cellspacing="0" cellpadding="4">
-<col width="20%" />
-<col width="80%" />
 <thead>
 <tr>
-<th align="left" valign="top"><em>Delivery</em> </th>
-<th align="left" valign="top"><em>Handling</em></th>
+<th align="left" width="20%" valign="top"><em>Delivery</em> </th>
+<th align="left" width="80%" valign="top"><em>Handling</em></th>
 </tr>
 </thead>
 <tbody>
 <tr>
-<td align="left" valign="top"><p class="table"><em>pre-settled</em></p></td>
-<td align="left" valign="top"><p class="table">If the arriving delivery is pre-settled (i.e., fire and
+<td align="left" width="20%" valign="top"><p><em>pre-settled</em></p></td>
+<td align="left" width="80%" valign="top"><p>If the arriving delivery is pre-settled (i.e., fire and
 forget), the incoming delivery shall be settled by the router, and the
 outgoing deliveries shall also be pre-settled. In other words, the
 pre-settled nature of the message delivery is propagated across the
 network to the message&#8217;s destination.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table"><em>unsettled</em></p></td>
-<td align="left" valign="top"><p class="table">Unsettled delivery is also propagated across the network.
+<td align="left" width="20%" valign="top"><p><em>unsettled</em></p></td>
+<td align="left" width="80%" valign="top"><p>Unsettled delivery is also propagated across the network.
 Because unsettled delivery records cannot be discarded, the router
 tracks the incoming deliveries and keeps the association of the incoming
 deliveries to the resulting outgoing deliveries. This kept association
@@ -1865,95 +1044,83 @@ message traveled.</p></td>
 </tbody>
 </table>
 </div>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="amqp-mapping">3.3. AMQP Mapping</h3>
-<div class="paragraph"><p>Dispatch Router is an AMQP router and as such, it provides extensions,
+<h3><a name="amqp-mapping"></a>3.3. AMQP Mapping</h3>
+<p>Dispatch Router is an AMQP router and as such, it provides extensions,
 code-points, and semantics for routing over AMQP. This page documents the
-details of Dispatch Router&#8217;s use of AMQP.</p></div>
-<div class="sect3">
-<h4 id="message-annotations">3.3.1. Message Annotations</h4>
-<div class="paragraph"><p>The following Message Annotation fields are defined by Dispatch Router:</p></div>
-<div class="tableblock">
+details of Dispatch Router&#8217;s use of AMQP.</p>
+<h4><a name="message-annotations"></a>3.3.1. Message Annotations</h4>
+<p>The following Message Annotation fields are defined by Dispatch Router:</p>
+<div>
 <table rules="all"
 width="100%"
 frame="border"
 cellspacing="0" cellpadding="4">
-<col width="23%" />
-<col width="19%" />
-<col width="58%" />
 <thead>
 <tr>
-<th align="left" valign="top"><em>Field</em> </th>
-<th align="left" valign="top"><em>Type</em> </th>
-<th align="left" valign="top"><em>Description</em></th>
+<th align="left" width="23%" valign="top"><em>Field</em> </th>
+<th align="left" width="19%" valign="top"><em>Type</em> </th>
+<th align="left" width="58%" valign="top"><em>Description</em></th>
 </tr>
 </thead>
 <tbody>
 <tr>
-<td align="left" valign="top"><p class="table">x-opt-qd.ingress</p></td>
-<td align="left" valign="top"><p class="table">string</p></td>
-<td align="left" valign="top"><p class="table">The identity of the ingress router for a
+<td align="left" width="23%" valign="top"><p>x-opt-qd.ingress</p></td>
+<td align="left" width="19%" valign="top"><p>string</p></td>
+<td align="left" width="58%" valign="top"><p>The identity of the ingress router for a
 message-routed message. The ingress router is the first router
 encountered by a transiting message. The router will, if this field is
 present, leave it unaltered. If the field is not present, the router
 shall insert the field with its own identity.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">x-opt-qd.trace</p></td>
-<td align="left" valign="top"><p class="table">list of string</p></td>
-<td align="left" valign="top"><p class="table">The list of routers through which this
+<td align="left" width="23%" valign="top"><p>x-opt-qd.trace</p></td>
+<td align="left" width="19%" valign="top"><p>list of string</p></td>
+<td align="left" width="58%" valign="top"><p>The list of routers through which this
 message-routed message has transited. If this field is not present, the
 router shall do nothing. If the field is present, the router shall
 append its own identity to the end of the list.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">x-opt-qd.to</p></td>
-<td align="left" valign="top"><p class="table">string</p></td>
-<td align="left" valign="top"><p class="table">To-Override for message-routed messages. If this
+<td align="left" width="23%" valign="top"><p>x-opt-qd.to</p></td>
+<td align="left" width="19%" valign="top"><p>string</p></td>
+<td align="left" width="58%" valign="top"><p>To-Override for message-routed messages. If this
 field is present, the address in this field shall be used for routing in
 lieu of the <em>to</em> field in the message properties. A router may append,
 remove, or modify this annotation field depending on the policy in place
 for routing the message.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">x-opt-qd.phase</p></td>
-<td align="left" valign="top"><p class="table">integer</p></td>
-<td align="left" valign="top"><p class="table">The address-phase, if not zero, for messages
+<td align="left" width="23%" valign="top"><p>x-opt-qd.phase</p></td>
+<td align="left" width="19%" valign="top"><p>integer</p></td>
+<td align="left" width="58%" valign="top"><p>The address-phase, if not zero, for messages
 flowing between routers.</p></td>
 </tr>
 </tbody>
 </table>
 </div>
-</div>
-<div class="sect3">
-<h4 id="sourcetarget-capabilities">3.3.2. Source/Target Capabilities</h4>
-<div class="paragraph"><p>The following Capability values are used in Sources and Targets.</p></div>
-<div class="tableblock">
+<h4><a name="sourcetarget-capabilities"></a>3.3.2. Source/Target Capabilities</h4>
+<p>The following Capability values are used in Sources and Targets.</p>
+<div>
 <table rules="all"
 width="100%"
 frame="border"
 cellspacing="0" cellpadding="4">
-<col width="19%" />
-<col width="81%" />
 <thead>
 <tr>
-<th align="left" valign="top"><em>Capability</em> </th>
-<th align="left" valign="top"><em>Description</em></th>
+<th align="left" width="19%" valign="top"><em>Capability</em> </th>
+<th align="left" width="81%" valign="top"><em>Description</em></th>
 </tr>
 </thead>
 <tbody>
 <tr>
-<td align="left" valign="top"><p class="table">qd.router</p></td>
-<td align="left" valign="top"><p class="table">This capability is added to sources and targets that are
+<td align="left" width="19%" valign="top"><p>qd.router</p></td>
+<td align="left" width="81%" valign="top"><p>This capability is added to sources and targets that are
 used for inter-router message exchange. This capability denotes a link
 used for router-control messages flowing between routers.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table">qd.router-data</p></td>
-<td align="left" valign="top"><p class="table">This capability is added to sources and targets that
+<td align="left" width="19%" valign="top"><p>qd.router-data</p></td>
+<td align="left" width="81%" valign="top"><p>This capability is added to sources and targets that
 are used for inter-router message exchange. This capability denotes a
 link used for user messages being message-routed across an inter-router
 connection.</p></td>
@@ -1961,27 +1128,23 @@ connection.</p></td>
 </tbody>
 </table>
 </div>
-</div>
-<div class="sect3">
-<h4 id="dynamic-node-properties">3.3.3. Dynamic-Node-Properties</h4>
-<div class="paragraph"><p>The following dynamic-node-properties are used by Dispatch in Sources.</p></div>
-<div class="tableblock">
+<h4><a name="dynamic-node-properties"></a>3.3.3. Dynamic-Node-Properties</h4>
+<p>The following dynamic-node-properties are used by Dispatch in Sources.</p>
+<div>
 <table rules="all"
 width="100%"
 frame="border"
 cellspacing="0" cellpadding="4">
-<col width="23%" />
-<col width="77%" />
 <thead>
 <tr>
-<th align="left" valign="top"><em>Property</em> </th>
-<th align="left" valign="top"><em>Description</em></th>
+<th align="left" width="23%" valign="top"><em>Property</em> </th>
+<th align="left" width="77%" valign="top"><em>Description</em></th>
 </tr>
 </thead>
 <tbody>
 <tr>
-<td align="left" valign="top"><p class="table">x-opt-qd.address</p></td>
-<td align="left" valign="top"><p class="table">The node address describing the destination desired
+<td align="left" width="23%" valign="top"><p>x-opt-qd.address</p></td>
+<td align="left" width="77%" valign="top"><p>The node address describing the destination desired
 for a dynamic source. If this is absent, the router will terminate any
 dynamic receivers. If this address is present, the router will use the
 address to route the dynamic link attach to the proper destination
@@ -1990,48 +1153,43 @@ container.</p></td>
 </tbody>
 </table>
 </div>
-</div>
-<div class="sect3">
-<h4 id="addresses-and-address-formats">3.3.4. Addresses and Address Formats</h4>
-<div class="paragraph"><p>The following AMQP addresses and address patterns are used within
-Dispatch Router.</p></div>
-<div class="sect4">
-<h5 id="address-patterns">Address Patterns</h5>
-<div class="tableblock">
+<h4><a name="addresses-and-address-formats"></a>3.3.4. Addresses and Address Formats</h4>
+<p>The following AMQP addresses and address patterns are used within
+Dispatch Router.</p>
+<h5><a name="address-patterns"></a>Address Patterns</h5>
+<div>
 <table rules="all"
 width="100%"
 frame="border"
 cellspacing="0" cellpadding="4">
-<col width="38%" />
-<col width="62%" />
 <thead>
 <tr>
-<th align="left" valign="top"><em>Pattern</em> </th>
-<th align="left" valign="top"><em>Description</em></th>
+<th align="left" width="38%" valign="top"><em>Pattern</em> </th>
+<th align="left" width="62%" valign="top"><em>Description</em></th>
 </tr>
 </thead>
 <tbody>
 <tr>
-<td align="left" valign="top"><p class="table"><code>_local/&lt;addr&gt;</code></p></td>
-<td align="left" valign="top"><p class="table">An address that references a locally attached endpoint.
+<td align="left" width="38%" valign="top"><p><code>_local/&lt;addr&gt;</code></p></td>
+<td align="left" width="62%" valign="top"><p>An address that references a locally attached endpoint.
 Messages using this address pattern shall not be routed over more than
 one link.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table"><code>_topo/0/&lt;router&gt;/&lt;addr&gt;</code></p></td>
-<td align="left" valign="top"><p class="table">An address that references an endpoint attached to a specific router
+<td align="left" width="38%" valign="top"><p><code>_topo/0/&lt;router&gt;/&lt;addr&gt;</code></p></td>
+<td align="left" width="62%" valign="top"><p>An address that references an endpoint attached to a specific router
 node in the network topology. Messages with addresses that follow this
 pattern shall be routed along the shortest path to the specified router.
 Note that addresses of this form are a-priori routable in that the
 address itself contains enough information to route the message to its
 destination.</p>
-<p class="table">The <em>0</em> component immediately preceding the router-id is a placeholder
+<p>The <em>0</em> component immediately preceding the router-id is a placeholder
 for an <em>area</em> which may be used in the future if area routing is
 implemented.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table"><code>&lt;addr&gt;</code></p></td>
-<td align="left" valign="top"><p class="table">A mobile address. An address of this format represents an
+<td align="left" width="38%" valign="top"><p><code>&lt;addr&gt;</code></p></td>
+<td align="left" width="62%" valign="top"><p>A mobile address. An address of this format represents an
 endpoint or a set of distinct endpoints that are attached to the network
 in arbitrary locations. It is the responsibility of the router network
 to determine which router nodes are valid destinations for mobile
@@ -2040,66 +1198,59 @@ addresses.</p></td>
 </tbody>
 </table>
 </div>
-</div>
-<div class="sect4">
-<h5 id="supported-addresses">Supported Addresses</h5>
-<div class="tableblock">
+<h5><a name="supported-addresses"></a>Supported Addresses</h5>
+<div>
 <table rules="all"
 width="100%"
 frame="border"
 cellspacing="0" cellpadding="4">
-<col width="36%" />
-<col width="64%" />
 <thead>
 <tr>
-<th align="left" valign="top"><em>Address</em> </th>
-<th align="left" valign="top"><em>Description</em></th>
+<th align="left" width="36%" valign="top"><em>Address</em> </th>
+<th align="left" width="64%" valign="top"><em>Description</em></th>
 </tr>
 </thead>
 <tbody>
 <tr>
-<td align="left" valign="top"><p class="table"><code>$management</code></p></td>
-<td align="left" valign="top"><p class="table">The management agent on the attached router/container.
+<td align="left" width="36%" valign="top"><p><code>$management</code></p></td>
+<td align="left" width="64%" valign="top"><p>The management agent on the attached router/container.
 This address would be used by an endpoint that is a management
 client/console/tool wishing to access management data from the attached
 container.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table"><code>_topo/0/Router.E/$management</code></p></td>
-<td align="left" valign="top"><p class="table">The management agent at Router.E in area
+<td align="left" width="36%" valign="top"><p><code>_topo/0/Router.E/$management</code></p></td>
+<td align="left" width="64%" valign="top"><p>The management agent at Router.E in area
 0. This address would be used by a management client wishing to access
 management data from a specific container that is reachable within the
 network.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table"><code>_local/qdhello</code></p></td>
-<td align="left" valign="top"><p class="table">The router entity in each of the connected routers.
+<td align="left" width="36%" valign="top"><p><code>_local/qdhello</code></p></td>
+<td align="left" width="64%" valign="top"><p>The router entity in each of the connected routers.
 This address is used to communicate with neighbor routers and is
 exclusively for the HELLO discovery protocol.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table"><code>_local/qdrouter</code></p></td>
-<td align="left" valign="top"><p class="table">The router entity in each of the connected routers.
+<td align="left" width="36%" valign="top"><p><code>_local/qdrouter</code></p></td>
+<td align="left" width="64%" valign="top"><p>The router entity in each of the connected routers.
 This address is used by a router to communicate with other routers in
 the network.</p></td>
 </tr>
 <tr>
-<td align="left" valign="top"><p class="table"><code>_topo/0/Router.E/qdrouter</code></p></td>
-<td align="left" valign="top"><p class="table">The router entity at the specifically
+<td align="left" width="36%" valign="top"><p><code>_topo/0/Router.E/qdrouter</code></p></td>
+<td align="left" width="64%" valign="top"><p>The router entity at the specifically
 indicated router. This address form is used by a router to communicate
 with a specific router that may or may not be a neighbor.</p></td>
 </tr>
 </tbody>
 </table>
 </div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="implementation-of-the-amqp-management-specification">3.3.5. Implementation of the AMQP Management Specification</h4>
-<div class="paragraph"><p>Qpid Dispatch is manageable remotely via AMQP. It is compliant with the
-emerging AMQP Management specification (draft 9).</p></div>
-<div class="paragraph"><p>Differences from the specification:</p></div>
-<div class="ulist"><ul>
+<h4><a name="implementation-of-the-amqp-management-specification"></a>3.3.5. Implementation of the AMQP Management Specification</h4>
+<p>Qpid Dispatch is manageable remotely via AMQP. It is compliant with the
+emerging AMQP Management specification (draft 9).</p>
+<p>Differences from the specification:</p>
+<ul>
 <li>
 <p>
 The <code>name</code> attribute is not required when an entity is created. If
@@ -2116,14 +1267,14 @@ The <code>REGISTER</code> and <code>DEREGISTER</code> operations are not impleme
 = Management Schema
 </p>
 </li>
-</ul></div>
-<div class="paragraph"><p>This chapter documents the set of <strong>management entity types</strong> that define
+</ul>
+<p>This chapter documents the set of <strong>management entity types</strong> that define
 configuration and management of a Dispatch Router. A management entity type has
 a set of <strong>attributes</strong> that can be read, some attributes can also be
-updated. Some entity types also support <strong>operations</strong> that can be called.</p></div>
-<div class="paragraph"><p>All management entity types have the following standard attributes:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
+updated. Some entity types also support <strong>operations</strong> that can be called.</p>
+<p>All management entity types have the following standard attributes:</p>
+<dl>
+<dt>
 type
 </dt>
 <dd>
@@ -2134,7 +1285,7 @@ type
   tools will accept the short or long name.
 </p>
 </dd>
-<dt class="hdlist1">
+<dt>
 name
 </dt>
 <dd>
@@ -2143,7 +1294,7 @@ name
   that need to refer to the named entity.
 </p>
 </dd>
-<dt class="hdlist1">
+<dt>
 identity
 </dt>
 <dd>
@@ -2153,10 +1304,10 @@ identity
   <code>listener/localhost:amqp</code>
 </p>
 </dd>
-</dl></div>
-<div class="paragraph

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/18828d3b/content/releases/qpid-dispatch-master/book.pdf
----------------------------------------------------------------------
diff --git a/content/releases/qpid-dispatch-master/book.pdf b/content/releases/qpid-dispatch-master/book.pdf
index dbd7f6e..4896e01 100755
Binary files a/content/releases/qpid-dispatch-master/book.pdf and b/content/releases/qpid-dispatch-master/book.pdf differ


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org