diff --git a/en_US.ISO8859-1/articles/committers-guide/article.sgml b/en_US.ISO8859-1/articles/committers-guide/article.sgml
index 91af421771..a9fa47258e 100644
--- a/en_US.ISO8859-1/articles/committers-guide/article.sgml
+++ b/en_US.ISO8859-1/articles/committers-guide/article.sgml
@@ -715,11 +715,11 @@ alias scvs env CVS_RSH=ssh cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.o
 	</itemizedlist>
 
 	<para>You will almost certainly get a conflict because
-	  of the <literal>$Id: article.sgml,v 1.203 2004-08-02 04:15:08 murray Exp $</literal> (or in FreeBSD's case,
+	  of the <literal>$Id: article.sgml,v 1.204 2004-08-05 10:04:26 den Exp $</literal> (or in FreeBSD's case,
 	  <literal>$<!-- stop expansion -->FreeBSD<!-- stop expansion -->$</literal>)
 	  lines, so you will have to edit the file to resolve the conflict
-	  (remove the marker lines and the second <literal>$Id: article.sgml,v 1.203 2004-08-02 04:15:08 murray Exp $</literal> line,
-	  leaving the original <literal>$Id: article.sgml,v 1.203 2004-08-02 04:15:08 murray Exp $</literal> line intact).</para>
+	  (remove the marker lines and the second <literal>$Id: article.sgml,v 1.204 2004-08-05 10:04:26 den Exp $</literal> line,
+	  leaving the original <literal>$Id: article.sgml,v 1.204 2004-08-05 10:04:26 den Exp $</literal> line intact).</para>
       </listitem>
 
       <listitem>
@@ -1029,7 +1029,7 @@ checkout -P</programlisting>
 
       <listitem>
 	<para>Add yourself to the <quote>Developers</quote> section of
-	  the <ulink url="../contributors/index.html">Contributors List</ulink>
+	  the <ulink url="&url.articles.contributors;/index.html">Contributors List</ulink>
 	  and remove yourself from the <quote>Additional
 	  Contributors</quote> section.</para>
       </listitem>
@@ -1424,7 +1424,7 @@ docs:Documentation Bug:freebsd-doc:</programlisting>
 	    related discussion takes place on the &a.doc;. Committers
 	    interested in contributing to the documentation should familiarize
 	    themselves with the <ulink
-	    url="../../books/fdp-primer/index.html">Documentation Project
+	    url="&url.books.fdp-primer;/index.html">Documentation Project
 	    Primer</ulink>.</para>
 	</listitem>
       </varlistentry>
@@ -1873,7 +1873,7 @@ docs:Documentation Bug:freebsd-doc:</programlisting>
 	    <filename>Makefile</filename> for any package or subtree
 	    which is being actively maintained by one or more people;
 	    see <ulink
-	    url="../../books/developers-handbook/policies.html"></ulink>
+	    url="&url.books.developers-handbook;/policies.html"></ulink>
 	    for documentation on this.  Where sections of code have
 	    several maintainers, commits to affected areas by one
 	    maintainer need to be reviewed by at least one other
@@ -1887,7 +1887,7 @@ docs:Documentation Bug:freebsd-doc:</programlisting>
 	    someone who manages an overall category of FreeBSD
 	    evolution, such as internationalization or networking.
 	    See <ulink
-	    url="../contributors/staff-who.html">
+	    url="&url.articles.contributors;/staff-who.html">
 	    http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributors/staff-who.html</ulink>
 	    for more information on this.</para>
 	</listitem>
@@ -2357,7 +2357,7 @@ docs:Documentation Bug:freebsd-doc:</programlisting>
 	    </screen>
 
 	    <para>The
-	      <ulink url="../../books/porters-handbook/index.html">Porters
+	      <ulink url="&url.books.porters-handbook;/index.html">Porters
 	      Handbook</ulink> contains more detailed
 	      instructions.</para>
 
@@ -2368,7 +2368,7 @@ docs:Documentation Bug:freebsd-doc:</programlisting>
 	    <para>If the port came from a submitter who has not
 	      contributed to the project before, add that person's
 	      name to the <ulink
-	      url="../contributors/contrib-additional.html">Additional
+	      url="&url.articles.contributors;/contrib-additional.html">Additional
 	      Contributors</ulink> section of the FreeBSD Contributors
 	      List.</para>
 
@@ -2763,7 +2763,7 @@ docs:Documentation Bug:freebsd-doc:</programlisting>
 
 		<step>
 		  <para>Submit a docs PR to add the new category to both the
-		    <ulink url="../../books/porters-handbook/makefile-categories.html#PORTING-CATEGORIES">
+		    <ulink url="&url.books.porters-handbook;/makefile-categories.html#PORTING-CATEGORIES">
 		    Porter's Handbook</ulink> and to
 		    <filename>www/en/ports/categories</filename>.</para>
 		</step>
diff --git a/en_US.ISO8859-1/articles/console-server/Makefile b/en_US.ISO8859-1/articles/console-server/Makefile
index b3384825b1..fcb305cc9c 100644
--- a/en_US.ISO8859-1/articles/console-server/Makefile
+++ b/en_US.ISO8859-1/articles/console-server/Makefile
@@ -14,5 +14,7 @@ INSTALL_ONLY_COMPRESSED?=
 SRCS=		article.sgml
 IMAGES_EN=	tk0231-9-1.png
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/console-server/article.sgml b/en_US.ISO8859-1/articles/console-server/article.sgml
index 890accf8f4..6787bc7af1 100644
--- a/en_US.ISO8859-1/articles/console-server/article.sgml
+++ b/en_US.ISO8859-1/articles/console-server/article.sgml
@@ -7,6 +7,8 @@
 %authors;
 <!ENTITY % trademark PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademark;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <article>
@@ -329,7 +331,7 @@
 	will need to upgrade to a more modern version of &os; (which
 	you should do anyway, to make sure your system is not
 	vulnerable to known security issues).  See the <ulink
-	url="../../books/handbook/makeworld.html">&os;
+	url="&url.books.handbook;/makeworld.html">&os;
 	Handbook</ulink> for information about updating your
 	system.</para>
 
@@ -342,7 +344,7 @@
 	<literal>GENERIC</literal> kernel, so you will need to create a kernel
       config file with the appropriate entries.  See &man.stl.4; and the
       appropriate section of the <ulink
-	URL="../../books/handbook/kernelconfig.html">&os;
+	URL="&url.books.handbook;/kernelconfig.html">&os;
       Handbook</ulink>.</para>
     </sect2>
 
@@ -1276,7 +1278,7 @@ exit 0</programlisting>
     <title>Using a Serial Console on &os;</title>
 
     <para>The procedure for doing this is described in detail in the
-      <ulink URL="../../books/handbook/serialconsole-setup.html">&os;
+      <ulink URL="&url.books.handbook;/serialconsole-setup.html">&os;
       Handbook</ulink>.  This is a quick summary.</para>
 
     <sect2 id="freebsd-kernconf">
diff --git a/en_US.ISO8859-1/articles/contributing/article.sgml b/en_US.ISO8859-1/articles/contributing/article.sgml
index 4b2878f2ef..000748a1b7 100644
--- a/en_US.ISO8859-1/articles/contributing/article.sgml
+++ b/en_US.ISO8859-1/articles/contributing/article.sgml
@@ -106,7 +106,7 @@ FreeBSD Entities//EN"> %freebsd;
 	    language, you can help translate additional documents or
 	    verify that the translations are up-to-date.  First take a
 	    look at the <ulink
-	    url="../../books/fdp-primer/translations.html">Translations
+	    url="&url.books.fdp-primer;/translations.html">Translations
 	    FAQ</ulink> in the FreeBSD Documentation Project Primer.
 	    You are not committing yourself to translating every
 	    single FreeBSD document by doing this &mdash; as a
@@ -248,7 +248,7 @@ FreeBSD Entities//EN"> %freebsd;
 	tolerance for a <emphasis>high</emphasis> volume of mail!) may
 	subscribe to the &a.hackers;.
 	See <ulink
-	url="../../books/handbook/eresources.html#ERESOURCES-MAIL">The
+	url="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">The
 	FreeBSD Handbook</ulink> for more information about this and
 	other mailing lists.</para>
 
@@ -280,7 +280,7 @@ FreeBSD Entities//EN"> %freebsd;
 	the &a.bugs;.</para>
 
       <para>See also <ulink
-  	URL="../../articles/problem-reports/article.html">this
+  	URL="&url.articles.problem-reports;/article.html">this
   	article</ulink> on how to write good problem reports.</para>
     </sect2>
 
@@ -291,7 +291,7 @@ FreeBSD Entities//EN"> %freebsd;
 
       <para>Changes to the documentation are overseen by the &a.doc;.
 	Please look at the <ulink
-	url="../../books/fdp-primer/index.html">FreeBSD Documentation
+	url="&url.books.fdp-primer;/index.html">FreeBSD Documentation
 	Project Primer</ulink> for complete instructions.  Send
 	submissions and changes (even small ones are welcome!) using
 	&man.send-pr.1; as described in <link
@@ -311,7 +311,7 @@ FreeBSD Entities//EN"> %freebsd;
 	known as <quote>FreeBSD-CURRENT</quote> which is made
 	available in a variety of ways for the convenience of
 	developers working actively on the system. See <ulink url="
-	../../books/handbook/current-stable.html">The FreeBSD
+	&url.books.handbook;/current-stable.html">The FreeBSD
 	Handbook</ulink> for more information about getting and using
 	FreeBSD-CURRENT.</para>
 
@@ -546,7 +546,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 	<para>We can always use new mirror sites for FTP, WWW or
 	  <command>cvsup</command>.  If you would like to be such a
 	  mirror, please see the <ulink
-	  url="../../articles/hubs/index.html">Mirroring FreeBSD</ulink>
+	  url="&url.articles.hubs;/index.html">Mirroring FreeBSD</ulink>
 	  article for more information.</para>
       </sect3>
     </sect2>
diff --git a/en_US.ISO8859-1/articles/contributors/article.sgml b/en_US.ISO8859-1/articles/contributors/article.sgml
index 60fb711019..fef0c1f7d4 100644
--- a/en_US.ISO8859-1/articles/contributors/article.sgml
+++ b/en_US.ISO8859-1/articles/contributors/article.sgml
@@ -301,7 +301,7 @@
 	  <listitem>
 	    <para><ulink url="http://www.osd.bsdi.com/">BSDi</ulink> (formerly Walnut Creek CDROM)
 	      has donated almost more than we can say (see the 'About the FreeBSD Project'
-	      section of the <ulink url="../../books/handbook/index.html">FreeBSD Handbook</ulink> for more details).
+	      section of the <ulink url="&url.books.handbook;/index.html">FreeBSD Handbook</ulink> for more details).
 	      In particular, we would like to thank them for the original
 	      hardware used for <hostid
 		role="fqdn">freefall.FreeBSD.org</hostid>, our primary
@@ -530,7 +530,7 @@
       </varlistentry>
 
       <varlistentry>
-	<term><ulink url="../releng/index.html">Release
+	<term><ulink url="&url.articles.releng;/index.html">Release
 		Coordination</ulink></term>
 
 	<listitem>
diff --git a/en_US.ISO8859-1/articles/cvs-freebsd/Makefile b/en_US.ISO8859-1/articles/cvs-freebsd/Makefile
index a450bb703e..1740a1a8e9 100644
--- a/en_US.ISO8859-1/articles/cvs-freebsd/Makefile
+++ b/en_US.ISO8859-1/articles/cvs-freebsd/Makefile
@@ -13,5 +13,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/cvs-freebsd/article.sgml b/en_US.ISO8859-1/articles/cvs-freebsd/article.sgml
index 2f0ad424fc..014627f14f 100644
--- a/en_US.ISO8859-1/articles/cvs-freebsd/article.sgml
+++ b/en_US.ISO8859-1/articles/cvs-freebsd/article.sgml
@@ -5,6 +5,8 @@
 %authors;
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <article>
@@ -112,7 +114,7 @@
       <para>Now you need to obtain the <filename>CVSROOT</filename> directory
         from the FreeBSD repository. This is most easily done by checking it
         out from a FreeBSD anonymous CVS mirror. See <ulink
-          url="../../books/handbook/anoncvs.html">the relevant chapter in
+          url="&url.books.handbook;/anoncvs.html">the relevant chapter in
         the handbook</ulink> for more information. Let us assume that the
         sources are stored in <filename>CVSROOT-freebsd</filename> in the
         current directory.</para>
diff --git a/en_US.ISO8859-1/articles/dialup-firewall/Makefile b/en_US.ISO8859-1/articles/dialup-firewall/Makefile
index 37854b51ad..c512d68c66 100644
--- a/en_US.ISO8859-1/articles/dialup-firewall/Makefile
+++ b/en_US.ISO8859-1/articles/dialup-firewall/Makefile
@@ -12,5 +12,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/dialup-firewall/article.sgml b/en_US.ISO8859-1/articles/dialup-firewall/article.sgml
index 6ea1502af6..88fd86c288 100644
--- a/en_US.ISO8859-1/articles/dialup-firewall/article.sgml
+++ b/en_US.ISO8859-1/articles/dialup-firewall/article.sgml
@@ -11,6 +11,9 @@
 
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
+
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <article>
@@ -64,7 +67,7 @@
     <para>In order to use IPFW, support for it must be compiled into the
       kernel.  For more information on how to recompile the kernel,
       please see the <ulink
-      URL="../../books/handbook/kernelconfig.html">kernel configuration
+      URL="&url.books.handbook;/kernelconfig.html">kernel configuration
       section in the Handbook</ulink>.  The following options must be
       added into your kernel configuration file for IPFW support:</para>
 
diff --git a/en_US.ISO8859-1/articles/euro/Makefile b/en_US.ISO8859-1/articles/euro/Makefile
index 6efcc67d29..e1247939d0 100644
--- a/en_US.ISO8859-1/articles/euro/Makefile
+++ b/en_US.ISO8859-1/articles/euro/Makefile
@@ -12,5 +12,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/euro/article.sgml b/en_US.ISO8859-1/articles/euro/article.sgml
index f0906e4801..3d7cb36628 100644
--- a/en_US.ISO8859-1/articles/euro/article.sgml
+++ b/en_US.ISO8859-1/articles/euro/article.sgml
@@ -4,6 +4,9 @@
 
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
+
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <article>
@@ -59,7 +62,7 @@
     <title>The Euro in a nutshell</title>
 
     <para>If you already feel comfortable with 
-      <ulink url="../../books/handbook/l10n.html">localization</ulink> as 
+      <ulink url="&url.books.handbook;/l10n.html">localization</ulink> as 
       described in the <systemitem class="osname">FreeBSD</systemitem> 
       Handbook you might be only interested in the following facts which 
       will get you started quickly:</para> 
diff --git a/en_US.ISO8859-1/articles/filtering-bridges/Makefile b/en_US.ISO8859-1/articles/filtering-bridges/Makefile
index 6b6c1b3fae..d9e00e9285 100644
--- a/en_US.ISO8859-1/articles/filtering-bridges/Makefile
+++ b/en_US.ISO8859-1/articles/filtering-bridges/Makefile
@@ -12,5 +12,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/filtering-bridges/article.sgml b/en_US.ISO8859-1/articles/filtering-bridges/article.sgml
index 306ac1bbe3..99c31812d2 100644
--- a/en_US.ISO8859-1/articles/filtering-bridges/article.sgml
+++ b/en_US.ISO8859-1/articles/filtering-bridges/article.sgml
@@ -5,6 +5,8 @@
 %freebsd;
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <article>
@@ -109,7 +111,7 @@ options IPFIREWALL_VERBOSE</programlisting>
 
       <para>Now it is necessary to build and install the new kernel.  You may
 	find detailed instructions in the <ulink
-	  url="../../books/handbook/kernelconfig-building.html">Building
+	  url="&url.books.handbook;/kernelconfig-building.html">Building
 	and Installing a Custom Kernel</ulink> section of the FreeBSD
 	Handbook.</para>
     </sect2>
diff --git a/en_US.ISO8859-1/articles/fonts/Makefile b/en_US.ISO8859-1/articles/fonts/Makefile
index d1da66dfde..0163a287fa 100644
--- a/en_US.ISO8859-1/articles/fonts/Makefile
+++ b/en_US.ISO8859-1/articles/fonts/Makefile
@@ -12,5 +12,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/fonts/article.sgml b/en_US.ISO8859-1/articles/fonts/article.sgml
index ec361445f0..b988270d3a 100644
--- a/en_US.ISO8859-1/articles/fonts/article.sgml
+++ b/en_US.ISO8859-1/articles/fonts/article.sgml
@@ -7,6 +7,8 @@
 %man;
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <!-- Recently, I wanted to figure out how to use some additional fonts that
@@ -864,7 +866,7 @@ Converting 3of9.ttf to A.pfa and B.afm.
       <listitem>
         <para>The freetype module is included with XFree86 4.x.  For
         more information please see the <ulink
-        url="../../books/handbook/x-fonts.html">FreeBSD
+        url="&url.books.handbook;/x-fonts.html">FreeBSD
         Handbook</ulink> or the <ulink
         url="http://www.xfree86.org/4.0.2/fonts.html">XFree86 4.0.2
         Fonts</ulink> page.</para>
diff --git a/en_US.ISO8859-1/articles/freebsd-questions/Makefile b/en_US.ISO8859-1/articles/freebsd-questions/Makefile
index 1ab662c7f5..216dfe9c92 100644
--- a/en_US.ISO8859-1/articles/freebsd-questions/Makefile
+++ b/en_US.ISO8859-1/articles/freebsd-questions/Makefile
@@ -15,5 +15,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/freebsd-questions/article.sgml b/en_US.ISO8859-1/articles/freebsd-questions/article.sgml
index c07906e9b1..e6a1c64c57 100644
--- a/en_US.ISO8859-1/articles/freebsd-questions/article.sgml
+++ b/en_US.ISO8859-1/articles/freebsd-questions/article.sgml
@@ -7,6 +7,8 @@
 %freebsd;
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <article>
@@ -237,8 +239,8 @@ your options page that will email your current password to you.</literallayout>
         <para>Read the manual pages, and the FreeBSD documentation (either
 	  installed in <filename>/usr/doc</filename> or accessible via WWW at
 	  <ulink URL="http://www.FreeBSD.org"></ulink>), especially the
-	  <ulink URL="../../books/handbook/index.html">handbook</ulink>
-	  and the <ulink URL="../../books/faq/index.html">FAQ</ulink>.
+	  <ulink URL="&url.books.handbook;/index.html">handbook</ulink>
+	  and the <ulink URL="&url.books.faq;/index.html">FAQ</ulink>.
 	</para>
       </listitem>
 
diff --git a/en_US.ISO8859-1/articles/ipsec-must/Makefile b/en_US.ISO8859-1/articles/ipsec-must/Makefile
index 09c0c41f9f..bcc0fec86e 100644
--- a/en_US.ISO8859-1/articles/ipsec-must/Makefile
+++ b/en_US.ISO8859-1/articles/ipsec-must/Makefile
@@ -12,5 +12,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/ipsec-must/article.sgml b/en_US.ISO8859-1/articles/ipsec-must/article.sgml
index c96dab3a5e..338a83c789 100644
--- a/en_US.ISO8859-1/articles/ipsec-must/article.sgml
+++ b/en_US.ISO8859-1/articles/ipsec-must/article.sgml
@@ -10,6 +10,9 @@
 
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
+
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <article>
@@ -192,7 +195,7 @@ Expected value for L=8 is 7.1836656
 
     <para>A comprehensive guide on running IPsec on FreeBSD is
       provided in <ulink
-      url="../../books/handbook/ipsec.html">FreeBSD
+      url="&url.books.handbook;/ipsec.html">FreeBSD
       Handbook</ulink>.</para>
   </sect1>
 
diff --git a/en_US.ISO8859-1/articles/java-tomcat/Makefile b/en_US.ISO8859-1/articles/java-tomcat/Makefile
index 2a8b598453..41b2a16407 100644
--- a/en_US.ISO8859-1/articles/java-tomcat/Makefile
+++ b/en_US.ISO8859-1/articles/java-tomcat/Makefile
@@ -15,5 +15,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/java-tomcat/article.sgml b/en_US.ISO8859-1/articles/java-tomcat/article.sgml
index de13705e13..5fce6ed1c3 100644
--- a/en_US.ISO8859-1/articles/java-tomcat/article.sgml
+++ b/en_US.ISO8859-1/articles/java-tomcat/article.sgml
@@ -38,6 +38,8 @@
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
 
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 <!--
   URL Entities.  These are in place, to allow wrapping long URLs to the 80th
   column.
@@ -151,7 +153,7 @@
       <command>make</command> it will fail if it attempts to build older
       source.  You can upgrade your entire ports collection by using
       <application>CVSup</application>.  See <ulink
-      url="../../books/handbook/cvsup.html">Using CVSup</ulink> section
+      url="&url.books.handbook;/cvsup.html">Using CVSup</ulink> section
       of the Handbook for more information.  You can also download the
       ports you need manually from <ulink
       url="&ftpurl;/pub/FreeBSD/ports/"></ulink> to
@@ -162,7 +164,7 @@
 	  (Linux-ABI) enabled in your kernel configuration.  Simply add
 	  the following option to your kernel configuration file and
 	  recompile it.  Instructions for building a kernel can be found
-	  in the <ulink url="../../books/handbook/index.html">FreeBSD
+	  in the <ulink url="&url.books.handbook;/index.html">FreeBSD
           Handbook</ulink>.</para>
 
 	<programlisting>options		COMPAT_LINUX</programlisting>
diff --git a/en_US.ISO8859-1/articles/mailing-list-faq/article.sgml b/en_US.ISO8859-1/articles/mailing-list-faq/article.sgml
index f8ce24f2c3..7570f2cb37 100644
--- a/en_US.ISO8859-1/articles/mailing-list-faq/article.sgml
+++ b/en_US.ISO8859-1/articles/mailing-list-faq/article.sgml
@@ -208,19 +208,19 @@
 	    <ulink url="&url.base;/docs.html#articles">articles</ulink>
 	    that are available.  Items of particular interest
 	    include the <ulink
-	    url="../../books/faq/index.html">
+	    url="&url.books.faq;/index.html">
 	    &os; Frequently Asked Questions (FAQ)</ulink> document,
 	    the <ulink
-	    url="../../books/handbook/index.html">
+	    url="&url.books.handbook;/index.html">
 	    &os; Handbook</ulink>,
 	    and the articles <ulink
-	    url="../freebsd-questions/article.html">
+	    url="&url.articles.freebsd-questions;/article.html">
 	    How to get best results from the FreeBSD-questions mailing list</ulink>,
 	    <ulink
-	    url="../explaining-bsd/article.html">
+	    url="&url.articles.explaining-bsd;/article.html">
 	    Explaining BSD</ulink>,
 	    and <ulink
-	    url="../new-users/article.html">
+	    url="&url.articles.new-users;/article.html">
 	    &os; First Steps</ulink>.</para>
 
 	  <para>It is always considered bad form to ask a question that is
@@ -517,7 +517,7 @@
 	to refer to a topic which has never reached a consensus within
 	the &os; community, and instead remains controversial.  (The
 	genesis of this term is explained in more detail <ulink
-	url="../../books/faq/misc.html#BIKESHED-PAINTING">
+	url="&url.books.faq;/misc.html#BIKESHED-PAINTING">
 	in this document</ulink>).  You simply must have a working
 	knowledge of this concept before posting to any &os; mailing
 	list.</para>
@@ -540,7 +540,7 @@
 	  <listitem>
 	    <para>Original author of most of the material on mailing
 	      list etiquette, taken from the article on <ulink
-	      url="../freebsd-questions/article.html">
+	      url="&url.articles.freebsd-questions;/article.html">
 	      How to get best results from the FreeBSD-questions mailing list</ulink>.</para>
 	  </listitem>
 	</varlistentry>
diff --git a/en_US.ISO8859-1/articles/new-users/Makefile b/en_US.ISO8859-1/articles/new-users/Makefile
index be470ca93f..5eaabc4d5a 100644
--- a/en_US.ISO8859-1/articles/new-users/Makefile
+++ b/en_US.ISO8859-1/articles/new-users/Makefile
@@ -12,5 +12,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/new-users/article.sgml b/en_US.ISO8859-1/articles/new-users/article.sgml
index f818b5da45..e790f21940 100644
--- a/en_US.ISO8859-1/articles/new-users/article.sgml
+++ b/en_US.ISO8859-1/articles/new-users/article.sgml
@@ -703,7 +703,7 @@
       <command>lp</command> or <command>lpr</command> should send a
       file to the printer.  Whether or not the file actually prints
       depends on configuring it, which is covered in the <ulink
-      URL="../../books/handbook/index.html">FreeBSD
+      URL="&url.books.handbook;/index.html">FreeBSD
       handbook.</ulink></para>
   </sect1>
 
diff --git a/en_US.ISO8859-1/articles/pr-guidelines/Makefile b/en_US.ISO8859-1/articles/pr-guidelines/Makefile
index 68ea714baa..9aa329f736 100644
--- a/en_US.ISO8859-1/articles/pr-guidelines/Makefile
+++ b/en_US.ISO8859-1/articles/pr-guidelines/Makefile
@@ -13,5 +13,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/pr-guidelines/article.sgml b/en_US.ISO8859-1/articles/pr-guidelines/article.sgml
index ae83629ccc..60f2565edb 100644
--- a/en_US.ISO8859-1/articles/pr-guidelines/article.sgml
+++ b/en_US.ISO8859-1/articles/pr-guidelines/article.sgml
@@ -12,6 +12,8 @@
 %freebsd;
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 <!ENTITY man.edit-pr.1 "<citerefentry/<refentrytitle/edit-pr/<manvolnum/1//">
 <!ENTITY man.query-pr.1 "<citerefentry/<refentrytitle/query-pr/<manvolnum/1//">
 ]>
@@ -527,7 +529,7 @@ This was misfiled because the subject didn't have the format:
     <itemizedlist>
       <listitem>
         <para><ulink
-    	  url="../../articles/problem-reports/article.html">How to
+    	  url="&url.articles.problem-reports;/article.html">How to
     	  Write FreeBSD Problem Reports</ulink>&mdash;guidelines
     	  for PR originators.</para>
       </listitem>
diff --git a/en_US.ISO8859-1/articles/problem-reports/Makefile b/en_US.ISO8859-1/articles/problem-reports/Makefile
index bb5882f4ed..081f20e0f8 100644
--- a/en_US.ISO8859-1/articles/problem-reports/Makefile
+++ b/en_US.ISO8859-1/articles/problem-reports/Makefile
@@ -13,5 +13,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/problem-reports/article.sgml b/en_US.ISO8859-1/articles/problem-reports/article.sgml
index af12cc544b..d52827bc7d 100644
--- a/en_US.ISO8859-1/articles/problem-reports/article.sgml
+++ b/en_US.ISO8859-1/articles/problem-reports/article.sgml
@@ -7,6 +7,8 @@
 %trademarks;
 <!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
 %freebsd;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <article>
@@ -149,22 +151,22 @@
     <itemizedlist>
       <listitem>
 	<para>The &os;
-	  <ulink URL="../../books/faq/index.html">Frequently Asked
+	  <ulink URL="&url.books.faq;/index.html">Frequently Asked
 	    Questions</ulink> (FAQ) list.
 	  The FAQ attempts to provide answers for a wide range of questions,
 	  such as those concerning
-	  <ulink URL="../../books/faq/hardware.html">hardware
+	  <ulink URL="&url.books.faq;/hardware.html">hardware
 	    compatibility</ulink>,
-	  <ulink URL="../../books/faq/applications.html">user
+	  <ulink URL="&url.books.faq;/applications.html">user
 	    applications</ulink>,
-	  and <ulink URL="../../books/faq/kernelconfig.html">kernel
+	  and <ulink URL="&url.books.faq;/kernelconfig.html">kernel
 	    configuration</ulink>.</para>
       </listitem>
 
       <listitem>
 	<para>The
 	  <ulink
-	    URL="../../books/handbook/eresources.html#ERESOURCES-MAIL">mailing
+	    URL="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">mailing
 	    lists</ulink>&mdash;if you are not subscribed, use
 	  <ulink
 	    URL="http://www.FreeBSD.org/search/search.html#mailinglists">the
@@ -875,7 +877,7 @@
       </listitem>
       <listitem>
 	<para><ulink
-	  url="../../articles/pr-guidelines/article.html">Problem
+	  url="&url.articles.pr-guidelines;/article.html">Problem
 	  Report Handling Guidelines</ulink>&mdash;valuable insight
 	  into how problem reports are handled by the &os;
 	  developers.</para>
diff --git a/en_US.ISO8859-1/articles/releng/Makefile b/en_US.ISO8859-1/articles/releng/Makefile
index 5a25b1d4f5..ae3d3c2f4f 100644
--- a/en_US.ISO8859-1/articles/releng/Makefile
+++ b/en_US.ISO8859-1/articles/releng/Makefile
@@ -18,5 +18,7 @@ IMAGES_EN+=	branches-releng4.pic
 
 CSS_SHEET_ADDITIONS= extra.css
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/releng/article.sgml b/en_US.ISO8859-1/articles/releng/article.sgml
index d3fcb36fb0..cad8f5f9c6 100644
--- a/en_US.ISO8859-1/articles/releng/article.sgml
+++ b/en_US.ISO8859-1/articles/releng/article.sgml
@@ -15,7 +15,9 @@
 %freebsd;
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
-<!ENTITY art.re.pkgs '<ulink url="../releng-packages/article.html">The Release Engineering of Third Party Packages</ulink>'>
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
+<!ENTITY art.re.pkgs '<ulink url="&url.articles.releng-packages;/article.html">The Release Engineering of Third Party Packages</ulink>'>
 ]>
 
 <article>
@@ -799,7 +801,7 @@
 
   <para>For more information about the distribution mirror
     architecture of the FreeBSD FTP sites, please see the <ulink
-    url="../hubs/">Mirroring FreeBSD</ulink> article.</para>
+    url="&url.articles.hubs;/">Mirroring FreeBSD</ulink> article.</para>
 
   <para>It may take many hours to two days after updating
     <hostid>ftp-master</hostid> before a majority of the Tier-1 FTP
diff --git a/en_US.ISO8859-1/articles/serial-uart/Makefile b/en_US.ISO8859-1/articles/serial-uart/Makefile
index 123d2f0218..b0465bf0c0 100644
--- a/en_US.ISO8859-1/articles/serial-uart/Makefile
+++ b/en_US.ISO8859-1/articles/serial-uart/Makefile
@@ -13,5 +13,7 @@ INSTALL_ONLY_COMPRESSED?=
 
 SRCS=	article.sgml
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/serial-uart/article.sgml b/en_US.ISO8859-1/articles/serial-uart/article.sgml
index cefcec46a0..c63bd54548 100644
--- a/en_US.ISO8859-1/articles/serial-uart/article.sgml
+++ b/en_US.ISO8859-1/articles/serial-uart/article.sgml
@@ -5,6 +5,8 @@
 %authors;
 <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
 %trademarks;
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <article>
@@ -2043,7 +2045,7 @@ device          sio11   at isa? port 0x138 flags 0xb05 irq 9</programlisting>
 	      
         <para>If you do not already have a custom kernel
 	  configuration file set up, refer to <ulink
-	  url="../../books/handbook/kernelconfig.html">Kernel
+	  url="&url.books.handbook;/kernelconfig.html">Kernel
 	  Configuration</ulink> chapter of the FreeBSD Handbook for
 	  general procedures.  The following are the specifics for the
 	  Boca 16 board and assume you are using the kernel name
diff --git a/en_US.ISO8859-1/books/arch-handbook/book.sgml b/en_US.ISO8859-1/books/arch-handbook/book.sgml
index 35d03ce0b1..3401257fce 100644
--- a/en_US.ISO8859-1/books/arch-handbook/book.sgml
+++ b/en_US.ISO8859-1/books/arch-handbook/book.sgml
@@ -53,7 +53,7 @@
         variety of formats and compression options from the <ulink
         url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">FreeBSD FTP
         server</ulink> or one of the numerous <ulink
-        url="../handbook/mirrors-ftp.html">mirror
+        url="&url.books.handbook;/mirrors-ftp.html">mirror
         sites</ulink>.</para>
     </abstract>
   </bookinfo>
diff --git a/en_US.ISO8859-1/books/developers-handbook/book.sgml b/en_US.ISO8859-1/books/developers-handbook/book.sgml
index b12155cd3d..3b0acaeca6 100644
--- a/en_US.ISO8859-1/books/developers-handbook/book.sgml
+++ b/en_US.ISO8859-1/books/developers-handbook/book.sgml
@@ -66,7 +66,7 @@
         variety of formats and compression options from the <ulink
         url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">FreeBSD FTP
         server</ulink> or one of the numerous <ulink
-        url="../handbook/mirrors-ftp.html">mirror
+        url="&url.books.handbook;/mirrors-ftp.html">mirror
         sites</ulink>.</para>
     </abstract>
   </bookinfo>
diff --git a/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml
index c5c841569f..22a5b4dd9b 100644
--- a/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml
+++ b/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml
@@ -493,7 +493,7 @@
       <programlisting>options DDB</programlisting>
 
       to your config file, and rebuild.  (See <ulink
-	url="../handbook/index.html">The FreeBSD Handbook</ulink> for details on
+	url="&url.books.handbook;/index.html">The FreeBSD Handbook</ulink> for details on
       configuring the FreeBSD kernel).</para>
 
     <note>
diff --git a/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml b/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml
index 336ac5ec2b..aec9e1649d 100644
--- a/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml
+++ b/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml
@@ -268,7 +268,7 @@ obrien@FreeBSD.org - 30 March 1997</programlisting>
 
       <listitem>
         <para>Any encumbered file requires specific approval from the 
-	  <ulink url="../../articles/contributors/staff-core.html">Core team</ulink> before it is added to the
+	  <ulink url="&url.articles.contributors;/staff-core.html">Core team</ulink> before it is added to the
 	  CVS repository.</para>
       </listitem>
 
@@ -299,9 +299,9 @@ obrien@FreeBSD.org - 30 March 1997</programlisting>
 
           <listitem>
             <para>Should always be in <filename>LINT</filename>, but the 
-	      <ulink url="../../articles/contributors/staff-core.html">Core team</ulink> decides per case if it
+	      <ulink url="&url.articles.contributors;/staff-core.html">Core team</ulink> decides per case if it
 	      should be commented out or not.  The 
-	      <ulink url="../../articles/contributors/staff-core.html">Core team</ulink> can, of course, change
+	      <ulink url="&url.articles.contributors;/staff-core.html">Core team</ulink> can, of course, change
 	      their minds later on.</para>
           </listitem>
 
@@ -318,13 +318,13 @@ obrien@FreeBSD.org - 30 March 1997</programlisting>
         <orderedlist>
           <listitem>
             <indexterm><primary>core team</primary></indexterm>
-            <para>The <ulink url="../../articles/contributors/staff-core.html">Core team</ulink> decides if
+            <para>The <ulink url="&url.articles.contributors;/staff-core.html">Core team</ulink> decides if
               the code should be part of <command>make world</command>.</para>
           </listitem>
          
           <listitem>
             <indexterm><primary>release engineer</primary></indexterm>
-            <para>The <ulink url="../../articles/contributors/staff-who.html">Release Engineer</ulink>
+            <para>The <ulink url="&url.articles.contributors;/staff-who.html">Release Engineer</ulink>
               decides if it goes into the release.</para>
           </listitem>
         </orderedlist>
diff --git a/en_US.ISO8859-1/books/faq/book.sgml b/en_US.ISO8859-1/books/faq/book.sgml
index 27d6bbb152..4ae09068ab 100644
--- a/en_US.ISO8859-1/books/faq/book.sgml
+++ b/en_US.ISO8859-1/books/faq/book.sgml
@@ -130,7 +130,7 @@
            all over the world in their work, education and recreation.</para>
 
          <para>For more detailed information on FreeBSD, please see the
-           <ulink URL="../handbook/index.html">FreeBSD
+           <ulink URL="&url.books.handbook;/index.html">FreeBSD
            Handbook</ulink>.</para>
        </answer>
       </qandaentry>
@@ -233,7 +233,7 @@
             such as &windows; and older versions of &macos;, expect to
             invest additional time learning the &unix; way of doing
             things.  This FAQ and the <ulink
-            url="../handbook/index.html">FreeBSD Handbook</ulink> are
+            url="&url.books.handbook;/index.html">FreeBSD Handbook</ulink> are
             excellent places to start.</para>
         </answer>
       </qandaentry>
@@ -351,15 +351,15 @@
 
         <answer>
           <para><ulink
-            URL="../handbook/cutting-edge.html#CURRENT">FreeBSD-CURRENT</ulink>
+            URL="&url.books.handbook;/cutting-edge.html#CURRENT">FreeBSD-CURRENT</ulink>
             is the development version of the operating system, which
             will in due course become the new &os.stable; branch.
             This is expected to happen around 5.3-RELEASE.  As such, it is
             really only of interest to developers working on the
             system and die-hard hobbyists.  See the <ulink
-            URL="../handbook/cutting-edge.html#CURRENT">relevant
+            URL="&url.books.handbook;/cutting-edge.html#CURRENT">relevant
             section</ulink> in the <ulink
-            URL="../handbook/index.html">handbook</ulink> for details
+            URL="&url.books.handbook;/index.html">handbook</ulink> for details
             on running -CURRENT.</para>
 
           <para>If you are not familiar with the operating system or are
@@ -432,9 +432,9 @@
         <answer>
           <para>Back when FreeBSD 2.0.5 was released, FreeBSD
             development branched in two.  One branch was named <ulink
-            URL="../handbook/current-stable.html#STABLE">-STABLE</ulink>,
+            URL="&url.books.handbook;/current-stable.html#STABLE">-STABLE</ulink>,
             one <ulink
-            URL="../handbook/current-stable.html#CURRENT">-CURRENT</ulink>.
+            URL="&url.books.handbook;/current-stable.html#CURRENT">-CURRENT</ulink>.
             FreeBSD-STABLE is intended for Internet Service Providers
             and other commercial enterprises for whom sudden shifts or
             experimental features are quite undesirable.  It receives
@@ -542,10 +542,10 @@
           <para>The key decisions concerning the FreeBSD project, such
             as the overall direction of the project and who is allowed
             to add code to the source tree, are made by a <ulink
-            URL="../../articles/contributors/article.html#STAFF-CORE">core
+            URL="&url.articles.contributors;/article.html#STAFF-CORE">core
             team</ulink> of 9 people. There is a much larger team of
             more than 300 <ulink
-            URL="../../articles/contributors/article.html#STAFF-COMMITTERS">committers</ulink>
+            URL="&url.articles.contributors;/article.html#STAFF-COMMITTERS">committers</ulink>
             who are authorized to make changes directly to the FreeBSD
             source tree.</para>
 
@@ -604,7 +604,7 @@
           </itemizedlist>
 
 	  <para>Information about obtaining FreeBSD on CD, DVD, and other
-	    media can be found in <ulink url="../handbook/mirrors.html">the
+	    media can be found in <ulink url="&url.books.handbook;/mirrors.html">the
 	      Handbook</ulink>.</para>
         </answer>
       </qandaentry>
@@ -616,7 +616,7 @@
 
 	<answer>
 	  <para>Information on setting up a FreeBSD mirror can be
-	    found in the <ulink url="../../articles/hubs/">Mirroring
+	    found in the <ulink url="&url.articles.hubs;/">Mirroring
 	    FreeBSD</ulink> article.</para>
 	</answer>
       </qandaentry>
@@ -640,7 +640,7 @@
 	    currently disabled due to persistent abuse.</para>
 
           <para>Before submitting a problem report, please read <ulink
-            URL="../../articles/problem-reports/article.html">Writing
+            URL="&url.articles.problem-reports;/article.html">Writing
             FreeBSD Problem Reports</ulink>, an article on how to write
             good problem reports.</para>
         </answer>
@@ -1029,7 +1029,7 @@ File: +DESC (ignored)</screen>
 
         <answer>
           <para>You can find full information in the <ulink
-            URL="../handbook/eresources.html#ERESOURCES-MAIL">Handbook
+            URL="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">Handbook
             entry on mailing-lists</ulink>.</para>
         </answer>
       </qandaentry>
@@ -1052,7 +1052,7 @@ File: +DESC (ignored)</screen>
 
         <answer>
           <para>You can find full information in the <ulink
-            URL="../handbook/eresources-news.html">Handbook entry on
+            URL="&url.books.handbook;/eresources-news.html">Handbook entry on
             newsgroups</ulink>.</para>
         </answer>
       </qandaentry>
@@ -1212,7 +1212,7 @@ File: +DESC (ignored)</screen>
 
           <para>Full instructions on this procedure and a little bit more
             about installation issues in general can be found in the
-            <ulink URL="../handbook/install.html">Handbook entry on
+            <ulink URL="&url.books.handbook;/install.html">Handbook entry on
             installing FreeBSD</ulink>.</para>
 
         </answer>
@@ -1263,7 +1263,7 @@ File: +DESC (ignored)</screen>
                 <quote>raw</quote>, using the low-level tools (e.g.
                 <command>fdimage</command> or <command>rawrite</command>)
                 described in the <ulink
-                URL="../handbook/install.html">installation guide to
+                URL="&url.books.handbook;/install.html">installation guide to
                 FreeBSD</ulink>.</para>
             </listitem>
           </itemizedlist>
@@ -1277,7 +1277,7 @@ File: +DESC (ignored)</screen>
 
         <answer>
           <para>Installation instructions can be found in the
-            <ulink URL="../handbook/install.html">Handbook entry on installing FreeBSD</ulink>.</para>
+            <ulink URL="&url.books.handbook;/install.html">Handbook entry on installing FreeBSD</ulink>.</para>
         </answer>
       </qandaentry>
 
@@ -1332,7 +1332,7 @@ File: +DESC (ignored)</screen>
             release, which will include your install floppy.</para>
 
           <para>To make a custom release, follow the instructions in the
-            <ulink url="../../articles/releng/article.html">Release
+            <ulink url="&url.articles.releng;/article.html">Release
             Engineering</ulink> article.</para>
         </answer>
       </qandaentry>
@@ -1344,7 +1344,7 @@ File: +DESC (ignored)</screen>
 
         <answer>
           <para>Have a look at
-            <ulink URL="../../articles/multi-os/index.html">
+            <ulink URL="&url.articles.multi-os;/index.html">
             the multi-OS page</ulink>.</para>
         </answer>
       </qandaentry>
@@ -1734,7 +1734,7 @@ sectors/track: 63</screen>
 
         <answer>
           <para>Yes. Use a standard Laplink cable. If necessary, you
-            can check out the <ulink url="../handbook/plip.html">PLIP
+            can check out the <ulink url="&url.books.handbook;/plip.html">PLIP
             section of the Handbook</ulink> for details on parallel
             port networking.</para>
 
@@ -2059,7 +2059,7 @@ sectors/track: 63</screen>
               </listitem>
 
               <listitem>
-                <para><ulink URL="../handbook/kernelconfig.html">Rebuild
+                <para><ulink URL="&url.books.handbook;/kernelconfig.html">Rebuild
                   your kernel,</ulink> modify the wd configuration lines to
                   read:</para>
 
@@ -2240,9 +2240,9 @@ disk            wd2     at wdc1 drive 1 # change from wd3 to wd2</programlisting
             options that attempts to achieve the desired ratio of security
             to convenience by enabling and disabling certain programs and
             other settings.  For full details, see the <ulink
-            url="../handbook/install-post.html#SECURITYPROFILE">Security
+            url="&url.books.handbook;/install-post.html#SECURITYPROFILE">Security
             Profile</ulink> section of the Handbook's <ulink
-            url="../handbook/install-post.html">post-install
+            url="&url.books.handbook;/install-post.html">post-install
             chapter</ulink>.</para>
         </answer>
       </qandaentry>
@@ -3014,7 +3014,7 @@ Protocol        "SysMouse"</programlisting>
 
         <answer>
           <para>There is a list of these in the <ulink
-            URL="../handbook/install.html#INSTALL-MISC">Miscellaneous
+            URL="&url.books.handbook;/install.html#INSTALL-MISC">Miscellaneous
             devices</ulink> section of the handbook.</para>
 
           <para>Some unnamed clone cards have also been known to work,
@@ -3115,7 +3115,7 @@ Protocol        "SysMouse"</programlisting>
 
         <answer>
           <para>See the <ulink
-            URL="../handbook/install.html#INSTALL-MISC">Handbook</ulink>
+            URL="&url.books.handbook;/install.html#INSTALL-MISC">Handbook</ulink>
             for the list of other devices supported.</para>
 
         </answer>
@@ -3366,7 +3366,7 @@ ARRE (Auto Read Reallocation Enbld):  1</programlisting>
             address range clash :), by bumping the kernel option
             <literal>EISA_SLOTS</literal> to a value of 12. Configure and
             compile a kernel, as described in the <ulink
-            URL="../handbook/kernelconfig.html">Handbook entry on
+            URL="&url.books.handbook;/kernelconfig.html">Handbook entry on
             configuring the kernel</ulink>.</para>
 
           <para>Of course, this does present you with a chicken-and-egg
@@ -3442,9 +3442,9 @@ quit</programlisting>
         <answer>
           <para>If the only problem is that the printer is terribly
             slow, try changing your <ulink
-            url="../handbook/printing-intro-setup.html#PRINTING-PARALLEL-PORT-MODE">printer
+            url="&url.books.handbook;/printing-intro-setup.html#PRINTING-PARALLEL-PORT-MODE">printer
             port mode</ulink> as discussed in the <ulink
-            url="../handbook/printing-intro-setup.html">Printer
+            url="&url.books.handbook;/printing-intro-setup.html">Printer
             Setup</ulink> section of the Handbook.</para>
         </answer>
       </qandaentry>
@@ -4245,9 +4245,9 @@ chip1@pci0:31:5:        class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02
             This error message indicates you have exhausted the number
             of available file descriptors on your system.  Please see
             the <ulink
-            url="../handbook/configtuning-kernel-limits.html#KERN-MAXFILES">kern.maxfiles
+            url="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES">kern.maxfiles
             </ulink>section of the <ulink
-            url="../handbook/configtuning-kernel-limits.html">Tuning
+            url="&url.books.handbook;/configtuning-kernel-limits.html">Tuning
             Kernel Limits</ulink> section of the Handbook for a
             discussion and solution.</para>
         </answer>
@@ -4527,7 +4527,7 @@ kern.timecounter.hardware: TSC -&gt; i8254</screen>
 	        url="http://www.sun.com/staroffice/">StarOffice</ulink>
 	        works flawlessly on FreeBSD.  The easiest way to
 	        install the &linux; version of StarOffice is through the
-	        <ulink url="../handbook/ports.html">FreeBSD Ports
+	        <ulink url="&url.books.handbook;/ports.html">FreeBSD Ports
 	        collection</ulink>.  Future versions of the
 	        open-source <ulink
 	        url="http://www.openoffice.org/">OpenOffice</ulink>
@@ -4545,7 +4545,7 @@ kern.timecounter.hardware: TSC -&gt; i8254</screen>
 	  <para>The Open Group has released the source code to &motif; 2.1.30.
 	    You can install the <literal>open-motif</literal> package, or
 	    compile it from ports.  Refer to
-	    <ulink url="../handbook/ports.html">the ports section of the
+	    <ulink url="&url.books.handbook;/ports.html">the ports section of the
 	      Handbook</ulink> for more information on how to do this.
 
 	    <note>
@@ -5197,7 +5197,7 @@ kern.timecounter.hardware: TSC -&gt; i8254</screen>
 	    <emphasis>always</emphasis> update the
 	    <literal>ports-base</literal> subcollection too!  The reasons
 	    are described <ulink
-	    url="../handbook/cvsup.html#CVSUP-COLLEC-PBASE-WARN">in the
+	    url="&url.books.handbook;/cvsup.html#CVSUP-COLLEC-PBASE-WARN">in the
 	    Handbook</ulink>.</para>
 	</answer>
       </qandaentry>
@@ -5237,7 +5237,7 @@ kern.timecounter.hardware: TSC -&gt; i8254</screen>
 
         <answer>
           <para>Not at all! Check out the <ulink
-            URL="../handbook/kernelconfig.html">
+            URL="&url.books.handbook;/kernelconfig.html">
             kernel config section of the Handbook</ulink>.</para>
 
             <note>
@@ -5442,7 +5442,7 @@ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr</programlisting>
 
         <answer>
           <para>See the Disk Formatting Tutorial at <ulink
-            URL="../../articles/formatting-media/index.html">
+            URL="&url.articles.formatting-media;/index.html">
             www.FreeBSD.org</ulink>.</para>
         </answer>
       </qandaentry>
@@ -5470,7 +5470,7 @@ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr</programlisting>
             on both disks with &man.boot0cfg.8;, so that you can
             dual boot to the old or new system after the copying
             is done.  See the <ulink
-            url="../../articles/formatting-media/index.html">
+            url="&url.articles.formatting-media;/index.html">
             formatting-media article</ulink> for details on this
             process.</para>
 
@@ -6074,9 +6074,9 @@ C:\="DOS"</programlisting>
         <answer>
           <para>You have to tell &man.mount.8; the type of the device
             that you want to mount.  This is described in the <ulink
-            URL="../handbook/creating-cds.html"> Handbook section on
+            URL="&url.books.handbook;/creating-cds.html"> Handbook section on
             optical media</ulink>, specifically the section <ulink
-            URL="../handbook/creating-cds.html#MOUNTING-CD">Using Data
+            URL="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Using Data
             CDs</ulink>.</para>
         </answer>
       </qandaentry>
@@ -6091,7 +6091,7 @@ C:\="DOS"</programlisting>
           <para>This generally means that there is no CDROM in the
             CDROM drive, or the drive is not visible on the
             bus. Please see the <ulink
-            URL="../handbook/creating-cds.html#MOUNTING-CD">Using Data
+            URL="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Using Data
             CDs</ulink> section of the Handbook for a detailed
             discussion of this issue.</para>
         </answer>
@@ -6107,9 +6107,9 @@ C:\="DOS"</programlisting>
           <para>Your CDROM probably uses the <quote>Joliet</quote>
             extension for storing information about files and
             directories.  This is discussed in the Handbook chapter on
-            <ulink URL="../handbook/creating-cds.html">creating and
+            <ulink URL="&url.books.handbook;/creating-cds.html">creating and
             using CDROMs</ulink>, specifically the section on <ulink
-            URL="../handbook/creating-cds.html#MOUNTING-CD">Using Data
+            URL="&url.books.handbook;/creating-cds.html#MOUNTING-CD">Using Data
             CDROMs</ulink>.</para>
         </answer>
       </qandaentry>
@@ -6123,10 +6123,10 @@ C:\="DOS"</programlisting>
         <answer>
           <para>You most likely burned a raw file to your CD, rather
             than creating an ISO 9660 filesystem.  Take a look at the
-            <ulink URL="../handbook/creating-cds.html">Handbook
+            <ulink URL="&url.books.handbook;/creating-cds.html">Handbook
             chapter on creating CDROMs</ulink>, particularly the
             section on <ulink
-            URL="../handbook/creating-cds.html#RAWDATA-CD">burning raw
+            URL="&url.books.handbook;/creating-cds.html#RAWDATA-CD">burning raw
             data CDs</ulink>.</para>
 	</answer>
       </qandaentry>
@@ -6138,9 +6138,9 @@ C:\="DOS"</programlisting>
 
         <answer>
           <para>This is discussed in the Handbook section on <ulink
-            url="../handbook/creating-cds.html#IMAGING-CD">duplicating
+            url="&url.books.handbook;/creating-cds.html#IMAGING-CD">duplicating
             data CDs</ulink>. For more on working with CDROMs, see the
-            <ulink url="../handbook/creating-cds.html">Creating CDs
+            <ulink url="&url.books.handbook;/creating-cds.html">Creating CDs
             Section</ulink> in the Storage chapter in the
             Handbook.</para>
         </answer>
@@ -6310,10 +6310,10 @@ C:\="DOS"</programlisting>
 
         <answer>
           <para>In the <ulink
-          url="../handbook/config-tuning.html">Configuration and
+          url="&url.books.handbook;/config-tuning.html">Configuration and
           Tuning</ulink> section of the Handbook, you will find a
           <ulink
-          url="../handbook/adding-swap-space.html">section</ulink>
+          url="&url.books.handbook;/adding-swap-space.html">section</ulink>
           describing how to do this.</para>
         </answer>
       </qandaentry>
@@ -6504,7 +6504,7 @@ C:\="DOS"</programlisting>
         <answer>
           <para>Please have a look at the Handbook entry on printing. It
             should cover most of your problem. See the <ulink
-            URL="../handbook/printing.html">
+            URL="&url.books.handbook;/printing.html">
             Handbook entry on printing</ulink>.</para>
 
 	  <para>Some printers require a host-based driver to do any
@@ -6525,9 +6525,9 @@ C:\="DOS"</programlisting>
 
         <answer>
           <para>Please see the Handbook section on <ulink
-            url="../handbook/using-localization.html">using
+            url="&url.books.handbook;/using-localization.html">using
             localization</ulink>, specifically the section on <ulink
-            url="../handbook/using-localization.html#SETTING-CONSOLE">console
+            url="&url.books.handbook;/using-localization.html#SETTING-CONSOLE">console
             setup</ulink>.</para>
         </answer>
       </qandaentry>
@@ -6935,7 +6935,7 @@ options    SYSVMSG          # enable for messaging</programlisting>
 
           <para>For more information on version numbers and the
             various CVS branches, refer to the
-            <ulink url="../../articles/releng/article.html">Release
+            <ulink url="&url.articles.releng;/article.html">Release
             Engineering</ulink> article.</para>
         </answer>
       </qandaentry>
@@ -8319,7 +8319,7 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
             <para><quote>Diskless booting</quote> means that the FreeBSD
               box is booted over a network, and reads the necessary files
               from a server instead of its hard disk. For full details,
-              please read <ulink URL="../handbook/diskless.html">the
+              please read <ulink URL="&url.books.handbook;/diskless.html">the
               Handbook entry on diskless booting</ulink></para>
         </answer>
       </qandaentry>
@@ -8332,9 +8332,9 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
 
         <answer>
           <para>Yes.  Please see the Handbook entry on <ulink
-            url="../handbook/advanced-networking.html"> advanced
+            url="&url.books.handbook;/advanced-networking.html"> advanced
             networking</ulink>, specifically the section on <ulink
-            url="../handbook/network-routing.html">routing
+            url="&url.books.handbook;/network-routing.html">routing
             and gateways</ulink>.</para>
         </answer>
       </qandaentry>
@@ -8363,13 +8363,13 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
             <filename>/etc/rc.conf</filename>, and configure your
             &windows; machine correctly, this should work fine. For more
             information, please see the &man.ppp.8; manual page or the
-            <ulink url="../handbook/userppp.html">Handbook entry on
+            <ulink url="&url.books.handbook;/userppp.html">Handbook entry on
             user PPP</ulink>.</para>
 
           <para>If you are using kernel-mode PPP or have an Ethernet
             connection to the Internet, you need to use
             &man.natd.8;. Please look at the <ulink
-            url="../handbook/network-natd.html">natd</ulink> section
+            url="&url.books.handbook;/network-natd.html">natd</ulink> section
             of the Handbook for a tutorial.</para>
         </answer>
       </qandaentry>
@@ -8388,7 +8388,7 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
             with outgoing connections.</para>
 
           <para>For more information on how to use these, please see the
-            <ulink url="../handbook/ppp-and-slip.html">Handbook chapter on
+            <ulink url="&url.books.handbook;/ppp-and-slip.html">Handbook chapter on
             PPP and SLIP</ulink>.</para>
 
           <para>If you only have access to the Internet through a
@@ -8408,10 +8408,10 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
         <answer>
 	  <para>Yes.  If you want to use NAT over a user PPP
 	    connection, please see the <ulink
-	    url="../handbook/userppp.html">Handbook entry on user
+	    url="&url.books.handbook;/userppp.html">Handbook entry on user
 	    PPP</ulink>.  If you want to use NAT over some other sort
 	    of network connection, please look at the <ulink
-	    url="../handbook/network-natd.html">natd</ulink> section
+	    url="&url.books.handbook;/network-natd.html">natd</ulink> section
 	    of the Handbook.</para>
         </answer>
       </qandaentry>
@@ -8423,7 +8423,7 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
         </question>
 
         <answer>
-          <para>Please see the <ulink url="../handbook/plip.html">PLIP
+          <para>Please see the <ulink url="&url.books.handbook;/plip.html">PLIP
           section</ulink> of the Handbook.</para>
         </answer>
       </qandaentry>
@@ -8496,7 +8496,7 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
             it mildly) and can sometimes cause problems with network
             intensive applications like NFS.</para>
 
-          <para>See <ulink URL="../handbook/nfs.html">
+          <para>See <ulink URL="&url.books.handbook;/nfs.html">
             the Handbook entry on NFS</ulink> for more information on
             this topic.</para>
         </answer>
@@ -8540,9 +8540,9 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
           <para>The most frequent problem is not understanding the
             correct format of <filename>/etc/exports</filename>.
             Please review &man.exports.5; and the <ulink
-            url="../handbook/nfs.html">NFS</ulink> entry in the
+            url="&url.books.handbook;/nfs.html">NFS</ulink> entry in the
             Handbook, especially the section on <ulink
-            url="../handbook/nfs.html#CONFIGURING-NFS">configuring
+            url="&url.books.handbook;/nfs.html#CONFIGURING-NFS">configuring
             NFS</ulink>.</para>
         </answer>
       </qandaentry>
@@ -8756,7 +8756,7 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
             <filename>/etc/rc.conf</filename>.</para>
 
           <para>For further information on configuring a FreeBSD
-            firewall, see the <ulink URL="../handbook/firewalls.html">
+            firewall, see the <ulink URL="&url.books.handbook;/firewalls.html">
             Handbook section</ulink>.</para>
         </answer>
       </qandaentry>
@@ -8768,9 +8768,9 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
 
         <answer>
           <para>Please see the Handbook's <ulink
-            url="../handbook/firewalls.html">Firewalls</ulink>
+            url="&url.books.handbook;/firewalls.html">Firewalls</ulink>
             section, specifically the section on <ulink
-            url="../handbook/firewalls.html#IPFW-OVERHEAD">IPFW
+            url="&url.books.handbook;/firewalls.html#IPFW-OVERHEAD">IPFW
             Overhead & Optimization</ulink>.</para>
         </answer>
       </qandaentry>
@@ -8867,7 +8867,7 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
           <screen>&prompt.root; <userinput>sh MAKEDEV bpf0</userinput></screen>
 
           <para>Please see the <ulink
-            URL="../handbook/kernelconfig-nodes.html"> Handbook entry
+            URL="&url.books.handbook;/kernelconfig-nodes.html"> Handbook entry
             on device nodes</ulink> for more information on managing
             devices.</para>
         </answer>
@@ -9285,7 +9285,7 @@ Key F15        A        A        Menu Workplace Nop</programlisting>
 
         <answer>
           <para>You should first read the &man.ppp.8; manual page and
-            the <ulink URL="../handbook/ppp-and-slip.html#USERPPP">
+            the <ulink URL="&url.books.handbook;/ppp-and-slip.html#USERPPP">
             PPP section of the handbook</ulink>.  Enable logging with
             the command</para>
 
@@ -9384,7 +9384,7 @@ default            10.0.0.2           UGSc        0        0      tun0
 
           <para>from <filename>ppp.conf</filename>.  If this is the
             case, go back to the <ulink
-            URL="../handbook/ppp-and-slip.html#USERPPP-FINAL"> Final
+            URL="&url.books.handbook;/ppp-and-slip.html#USERPPP-FINAL"> Final
             system configuration</ulink> section of the
             handbook.</para>
         </answer>
@@ -9414,7 +9414,7 @@ default            10.0.0.2           UGSc        0        0      tun0
 add 0 0 HISADDR</programlisting>
 
           <para>Refer to the <ulink
-            URL="../handbook/ppp-and-slip.html#USERPPP-DYNAMICIP">
+            URL="&url.books.handbook;/ppp-and-slip.html#USERPPP-DYNAMICIP">
             PPP and Dynamic IP addresses</ulink> section of the handbook
             for further details.</para>
         </answer>
@@ -9866,7 +9866,7 @@ set dfilter 3 permit 0/0 0/0</programlisting>
             time, &man.sendmail.8; is the culprit.  You should make
             sure that you tell sendmail not to do any DNS lookups in
             its configuration file.  See the section on <ulink
-            URL="../handbook/smtp-dialup.html">using email with a
+            URL="&url.books.handbook;/smtp-dialup.html">using email with a
             dialup connection</ulink> in the FreeBSD Handbook for
             details on how to create your own configuration file and
             what should go into it.  You may also want to add the
@@ -11202,7 +11202,7 @@ raisechar=^^</programlisting>
         </question>
 
         <answer>
-          <para>See the <ulink url="../fdp-primer/translations.html">
+          <para>See the <ulink url="&url.books.fdp-primer;/translations.html">
             Translation FAQ</ulink> in the FreeBSD Documentation Project
             Primer.</para>
         </answer>
@@ -11318,7 +11318,7 @@ raisechar=^^</programlisting>
 
           <para>SUP is not bandwidth friendly, and has been retired.
             The current recommended method to keep your sources up to
-            date is <ulink URL="../handbook/synching.html#CVSUP">
+            date is <ulink URL="&url.books.handbook;/synching.html#CVSUP">
             CVSup</ulink></para>
         </answer>
       </qandaentry>
@@ -11784,7 +11784,7 @@ raisechar=^^</programlisting>
             BSD-specific books that are still relevant.</para>
 
           <para>For a list, please check the Handbook's <ulink
-            URL="../handbook/bibliography-osinternals.html">Operating
+            URL="&url.books.handbook;/bibliography-osinternals.html">Operating
             System Internals Bibliography</ulink>.</para>
         </answer>
       </qandaentry>
@@ -11796,7 +11796,7 @@ raisechar=^^</programlisting>
 
 	<answer>
 	  <para>Please see the article on <ulink
-	    url="../../articles/contributing/article.html">Contributing
+	    url="&url.articles.contributing;/article.html">Contributing
 	    to FreeBSD</ulink> for specific advice on how to do this.
 	    Assistance is more than welcome!</para>
 	</answer>
@@ -11854,7 +11854,7 @@ raisechar=^^</programlisting>
 
         <answer>
           <para>Please see the <ulink
-            url="../../articles/releng/article.html">
+            url="&url.articles.releng;/article.html">
             Release Engineering</ulink> article.</para>
         </answer>
       </qandaentry>
@@ -11928,7 +11928,7 @@ raisechar=^^</programlisting>
         <answer>
           <para>Yes, you can do this <emphasis>without</emphasis>
             downloading the whole source tree by using the <ulink
-            URL="../handbook/synching.html#CTM">CTM facility</ulink>.</para>
+            URL="&url.books.handbook;/synching.html#CTM">CTM facility</ulink>.</para>
         </answer>
       </qandaentry>
 
@@ -11962,7 +11962,7 @@ ${RELEASEDIR}/tarballs/bindist/bin_tgz.)</programlisting>
 
         <answer>
           <para>Please take a look at the article on <ulink
-            URL="../../articles/contributing/article.html">Contributing
+            URL="&url.articles.contributing;/article.html">Contributing
             to FreeBSD</ulink> to learn how to submit code.</para>
 
           <para>And thanks for the thought!</para>
diff --git a/en_US.ISO8859-1/books/fdp-primer/see-also/chapter.sgml b/en_US.ISO8859-1/books/fdp-primer/see-also/chapter.sgml
index 074ae66502..0ce1e28bd8 100644
--- a/en_US.ISO8859-1/books/fdp-primer/see-also/chapter.sgml
+++ b/en_US.ISO8859-1/books/fdp-primer/see-also/chapter.sgml
@@ -48,7 +48,7 @@
       </listitem>
 
       <listitem>
-	<para><ulink url="../handbook/index.html">The FreeBSD Handbook</ulink></para>
+	<para><ulink url="&url.books.handbook;/index.html">The FreeBSD Handbook</ulink></para>
       </listitem>
     </itemizedlist>
   </sect1>
diff --git a/en_US.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml b/en_US.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml
index a75a153da6..f92e1f7fbc 100644
--- a/en_US.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml
+++ b/en_US.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml
@@ -757,9 +757,9 @@
 
       <para>The <ulink url="&url.base;/docs.html">FreeBSD
 	  tutorials</ulink> are all marked up as articles, while this
-	document, the <ulink url="../faq/index.html">FreeBSD
+	document, the <ulink url="&url.books.faq;/index.html">FreeBSD
 	  FAQ</ulink>, and the <ulink
-	  url="../handbook/index.html">FreeBSD Handbook</ulink> are
+	  url="&url.books.handbook;/index.html">FreeBSD Handbook</ulink> are
 	all marked up as books.</para>
 
       <sect3>
diff --git a/en_US.ISO8859-1/books/fdp-primer/the-website/chapter.sgml b/en_US.ISO8859-1/books/fdp-primer/the-website/chapter.sgml
index 64bcc18e80..9444ecc7af 100644
--- a/en_US.ISO8859-1/books/fdp-primer/the-website/chapter.sgml
+++ b/en_US.ISO8859-1/books/fdp-primer/the-website/chapter.sgml
@@ -52,7 +52,7 @@
 
     <para>Set up a CVS repository. You need the directories www, doc and
       ports in the CVS tree (plus the CVSROOT of course).  Please read the
-      <ulink url="../handbook/synching.html#CVSUP">CVSup introduction</ulink>
+      <ulink url="&url.books.handbook;/synching.html#CVSUP">CVSup introduction</ulink>
       on how to mirror a CVS tree or parts of a CVS tree.</para>
     
     <para>The essential cvsup collections are: <literal>www</literal>,
diff --git a/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
index f0685ad971..a82702f84c 100644
--- a/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
@@ -2739,7 +2739,7 @@ host margaux {
 	you need a good serial card in your computer.</para>
 
       <para>You should read the <ulink
-	url="../../articles/serial-uart/index.html">FreeBSD Serial
+	url="&url.articles.serial-uart;/index.html">FreeBSD Serial
 	Hardware</ulink> tutorial for a detailed understanding of
 	serial devices, and the differences between asynchronous and
 	synchronous serial ports.</para>
diff --git a/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml b/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml
index 74c259089e..9647102c58 100644
--- a/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml
@@ -181,7 +181,7 @@
 	  PostScript format.</para>
 
 	<para>An Italian <ulink
-	  url="../../../it_IT.ISO8859-15/books/unix-introduction/index.html">translation</ulink>
+	  url="&url.doc.base;/it_IT.ISO8859-15/books/unix-introduction/index.html">translation</ulink>
 	  of this document is available as part of the FreeBSD Italian
 	  Documentation Project.</para>
       </listitem>
@@ -374,7 +374,7 @@
 	  Addison-Wesley, 1996.  ISBN 0-201-54979-4</para>
 
 	<para>(Chapter 2 of this book is available <ulink
-	  url="../design-44bsd/book.html">online</ulink> as part of
+	  url="&url.books.design-44bsd;/book.html">online</ulink> as part of
 	  the FreeBSD Documentation Project, and chapter 9 <ulink
 	  url="http://www.netapp.com/tech_library/nfsbook.print">
 	  here</ulink>.)</para>
diff --git a/en_US.ISO8859-1/books/handbook/config/chapter.sgml b/en_US.ISO8859-1/books/handbook/config/chapter.sgml
index e7fed431e5..6f1ef25728 100644
--- a/en_US.ISO8859-1/books/handbook/config/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/config/chapter.sgml
@@ -557,7 +557,7 @@ HOME=/var/log
         editor: the <command>cron</command> utility will notice that the file
         has changed and immediately begin using the updated version. 
         See
-        <ulink url="../faq/admin.html#ROOT-NOT-FOUND-CRON-ERRORS">
+        <ulink url="&url.books.faq;/admin.html#ROOT-NOT-FOUND-CRON-ERRORS">
         this FAQ entry </ulink> for more information.</para>
       </important>
 
diff --git a/en_US.ISO8859-1/books/handbook/install/chapter.sgml b/en_US.ISO8859-1/books/handbook/install/chapter.sgml
index f9f2a06c9c..8c46e4cc8d 100644
--- a/en_US.ISO8859-1/books/handbook/install/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/install/chapter.sgml
@@ -5477,7 +5477,7 @@ Please press any key to reboot.</screen>
 	  specific to your modem, as the PPP dialer provides only a very
 	  simple terminal emulator.  Please refer to the user-ppp <link
 	  linkend="userppp">handbook</link> and <ulink
-	  url="../faq/ppp.html">FAQ</ulink> entries for further information.
+	  url="&url.books.faq;/ppp.html">FAQ</ulink> entries for further information.
 	  If you have problems, logging can be directed to the screen using
 	  the command <command>set log local ...</command>.</para>
 
diff --git a/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml b/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml
index 3d6aa38b12..77de3f4724 100644
--- a/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml
@@ -60,7 +60,7 @@
       or the <link linkend="relnotes">current release</link>.  If you
       are interested in contributing something to the Project (code,
       hardware, unmarked bills), see the <ulink
-	url="../../articles/contributing/index.html">Contributing to FreeBSD</ulink> article.</para>
+	url="&url.articles.contributing;/index.html">Contributing to FreeBSD</ulink> article.</para>
 
     <sect2 id="os-overview">
       <title>What Can FreeBSD Do?</title>
@@ -690,7 +690,7 @@
 	process, being literally built from the contributions
 	of hundreds of people around the world, as can be seen from
 	our <ulink
-	url="../../articles/contributors/article.html">list of
+	url="&url.articles.contributors;/article.html">list of
 	contributors</ulink>.  FreeBSD's development infrastructure allow
 	these hundreds of developers to collaborate over the Internet.
 	We are constantly on the lookout for
@@ -777,7 +777,7 @@
 	      ensuring that some large portion of the system works as
 	      advertised.  For a complete list of FreeBSD developers
 	      and their areas of responsibility, please see the <ulink
-	      url="../../articles/contributors/article.html">Contributors
+	      url="&url.articles.contributors;/article.html">Contributors
 	      List</ulink></para>
 
 	    <note>
@@ -809,7 +809,7 @@
               the various FreeBSD mailing lists.</para>
 	  
 	    <para><citetitle><ulink
-	      url="../../articles/contributors/article.html">The
+	      url="&url.articles.contributors;/article.html">The
 	      FreeBSD Contributors List</ulink></citetitle> is a long
 	      and growing one, so why not join it by contributing
 	      something back to FreeBSD today?</para>
diff --git a/en_US.ISO8859-1/books/handbook/ports/chapter.sgml b/en_US.ISO8859-1/books/handbook/ports/chapter.sgml
index 4262bf80e5..cbbc3ba36b 100644
--- a/en_US.ISO8859-1/books/handbook/ports/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/ports/chapter.sgml
@@ -751,7 +751,7 @@ docbook                     =
         <filename>pkg-message</filename>.  The ports system uses these
         files to handle special situations.  If you want more details
         on these files, and on ports in general, check out the <ulink
-        url="../porters-handbook/index.html">FreeBSD Porter's
+        url="&url.books.porters-handbook;/index.html">FreeBSD Porter's
         Handbook</ulink>.</para>
 
       <para>The port includes instructions on how to build source
@@ -1262,7 +1262,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
       <orderedlist>
         <listitem>
 	  <para>Fix it!  The <ulink
-	    url="../porters-handbook/index.html">Porter's
+	    url="&url.books.porters-handbook;/index.html">Porter's
 	    Handbook</ulink> includes detailed information on the
 	    <quote>Ports</quote> infrastructure so that you can fix the occasional
 	    broken port or even submit your own!</para>
diff --git a/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml b/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml
index d1983ca314..bbdda1767c 100644
--- a/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml
@@ -2092,7 +2092,7 @@ raisechar=^^</programlisting>
 		  use as the serial console.  The only use of this
 		  flag is to designate the unit for kernel remote
 		  debugging.  See <ulink
-		  url="../developers-handbook/index.html">The
+		  url="&url.books.developers-handbook;/index.html">The
 		  Developer's Handbook</ulink> for more information on
 		  remote debugging.</para>
 		
diff --git a/en_US.ISO8859-1/books/porters-handbook/Makefile b/en_US.ISO8859-1/books/porters-handbook/Makefile
index b31fb33fb5..c0ffab6a1e 100644
--- a/en_US.ISO8859-1/books/porters-handbook/Makefile
+++ b/en_US.ISO8859-1/books/porters-handbook/Makefile
@@ -37,5 +37,7 @@ IMAGES_LIB+=	callouts/8.png
 IMAGES_LIB+=	callouts/9.png
 IMAGES_LIB+=	callouts/10.png
 
+URL_RELPREFIX?=	../../../..
 DOC_PREFIX?= ${.CURDIR}/../../..
+
 .include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/books/porters-handbook/book.sgml b/en_US.ISO8859-1/books/porters-handbook/book.sgml
index 3fe9cf6cf5..d070d44550 100644
--- a/en_US.ISO8859-1/books/porters-handbook/book.sgml
+++ b/en_US.ISO8859-1/books/porters-handbook/book.sgml
@@ -18,7 +18,8 @@
 %mailing-lists;
 <!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
 %freebsd;
-
+<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
+%urls;
 ]>
 
 <book>
@@ -368,7 +369,7 @@ PLIST_DIRS=     lib/X11/oneko</programlisting>
 	  directory or the <filename>pkgname.tgz</filename> package, so delete
 	  them now.  Next, simply include the output of <command>shar `find
 	    port_dir`</command> in a bug report and send it with the
-	    &man.send-pr.1; program (see <ulink url="../../articles/contributing/contrib-how.html#CONTRIB-GENERAL">Bug
+	    &man.send-pr.1; program (see <ulink url="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL">Bug
 	    Reports and General Commentary</ulink> for more information about
 	    &man.send-pr.1;).  If the uncompressed port is larger than 20KB,
 	  you should compress it into a tarfile and use &man.uuencode.1;
@@ -408,7 +409,7 @@ PLIST_DIRS=     lib/X11/oneko</programlisting>
 
 	<para>Once we have looked at your port, we will get back to you if necessary, and put
 	  it in the tree.  Your name will also appear in the list of
-	  <ulink url="../../articles/contributors/contrib-additional.html">Additional FreeBSD Contributors</ulink>
+	  <ulink url="&url.articles.contributors;/contrib-additional.html">Additional FreeBSD Contributors</ulink>
 	  and other files. Isn't that great?!? <!-- smiley
 	  -->:-)</para>
       </sect1>
@@ -2844,7 +2845,7 @@ PATCHFILES=     patch1:test</programlisting>
 	  into your <filename>pkg-descr</filename>.</para>
 
 	<para>For a detailed description of the responsibilities of maintainers,
-	  refer to the <ulink url="../developers-handbook/policies.html#POLICIES-MAINTAINER">MAINTAINER on
+	  refer to the <ulink url="&url.books.developers-handbook;/policies.html#POLICIES-MAINTAINER">MAINTAINER on
 	    Makefiles</ulink> section.</para>
 
 	<para>If the maintainer of a port does not respond to an update
@@ -4775,7 +4776,7 @@ MASTERDIR=      ${.CURDIR}/../xdvi300
     <chapter id="shared">
       <title>Shared library versions</title>
 
-      <para>Please read our <ulink url="../developers-handbook/policies-shlib.html">policy on
+      <para>Please read our <ulink url="&url.books.developers-handbook;/policies-shlib.html">policy on
 	shared library versioning</ulink> to understand what to do with
 	shared library versions in general.  Do not blindly assume software
 	authors know what they are doing; many of them do not.  It is very
@@ -5336,7 +5337,7 @@ IGNORE=POINTYHAT is not supported
 	ports, you will probably find it easier to use
 	<application>CVSup</application> to keep your whole ports collection
 	up-to-date, as described in the
-	<ulink url="../handbook/synching.html#CVSUP-CONFIG">Handbook</ulink>.
+	<ulink url="&url.books.handbook;/synching.html#CVSUP-CONFIG">Handbook</ulink>.
 	This will have the added benefit of tracking all the ports'
 	dependencies.</para>
 
@@ -5395,7 +5396,7 @@ IGNORE=POINTYHAT is not supported
 	and this is an area where more volunteers are always needed.
 	(For a detailed description of the responsibilities of maintainers,
 	refer to the
-	<ulink url="../developers-handbook/policies.html#POLICIES-MAINTAINER">
+	<ulink url="&url.books.developers-handbook;/policies.html#POLICIES-MAINTAINER">
 	MAINTAINER on Makefiles</ulink> section.)</para>
 
       <para> The best way to
@@ -5413,7 +5414,7 @@ IGNORE=POINTYHAT is not supported
 	as is.</para>
 
       <para>Before you &man.send-pr.1;, you should review the
-	<ulink url="../../articles/problem-reports/pr-writing.html">
+	<ulink url="&url.articles.problem-reports;/pr-writing.html">
 	Writing the problem report</ulink> section in the Problem
 	Reports article; it contains far more information about how to write
 	useful problem reports.</para>
@@ -5965,7 +5966,7 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
 	the porting process.  You should check your own port against this list,
 	but you can also check ports in the <ulink url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">PR database</ulink> that others have
 	submitted.  Submit any comments on ports you check as described in
-	<ulink url="../../articles/contributing/contrib-how.html#CONTRIB-GENERAL">Bug Reports and General
+	<ulink url="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL">Bug Reports and General
 	  Commentary</ulink>.  Checking ports in the PR database will both make
 	it faster for us to commit them, and prove that you know what you are
 	doing.</para>
@@ -6036,7 +6037,7 @@ Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
 	<para>Do not write anything to files outside
 	  <makevar>WRKDIR</makevar>.  <makevar>WRKDIR</makevar> is the only
 	  place that is guaranteed to be writable during the port build (see
-	  <ulink url="../handbook/ports-using.html#PORTS-CD">
+	  <ulink url="&url.books.handbook;/ports-using.html#PORTS-CD">
 	  installing ports from a CDROM</ulink> for an
 	  example of building ports from a read-only tree).  If you need to
 	  modify one of the <filename>pkg-<replaceable>*</replaceable></filename>
diff --git a/en_US.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml b/en_US.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml
index 13dd1914b5..989640e58d 100644
--- a/en_US.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml
+++ b/en_US.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml
@@ -32,7 +32,7 @@
 	<para>A phenomenon whereby many people will give an opinion on
 	  an uncomplicated topic, whilst a complex topic receives little
 	  or no discussion.  See the
-	  <ulink url="../faq/misc.html#BIKESHED-PAINTING">FAQ</ulink> for
+	  <ulink url="&url.books.faq;/misc.html#BIKESHED-PAINTING">FAQ</ulink> for
 	  the origin of the term.</para>
       </glossdef>
     </glossentry>