aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2012-11-16 11:12:07 +0100
committerAnders Svensson <[email protected]>2012-11-18 19:45:09 +0100
commit0295e6350bc344ce443c80e7251c6e5fc48159ba (patch)
tree05917be94bb36fcced2d95abb14e20d03ecc854b
parentfebfe74f6a32c04756c2c12de53136e75f813e3b (diff)
downloadotp-0295e6350bc344ce443c80e7251c6e5fc48159ba.tar.gz
otp-0295e6350bc344ce443c80e7251c6e5fc48159ba.tar.bz2
otp-0295e6350bc344ce443c80e7251c6e5fc48159ba.zip
Generate intra-document references
-rw-r--r--lib/diameter/doc/src/.gitignore1
-rw-r--r--lib/diameter/doc/src/Makefile8
-rw-r--r--lib/diameter/doc/src/diameter.ent196
-rw-r--r--lib/diameter/doc/src/diameter.xml6
-rw-r--r--lib/diameter/doc/src/diameter_app.xml6
-rw-r--r--lib/diameter/doc/src/diameter_compile.xml6
-rw-r--r--lib/diameter/doc/src/diameter_dict.xml6
-rw-r--r--lib/diameter/doc/src/diameter_sctp.xml6
-rw-r--r--lib/diameter/doc/src/diameter_tcp.xml6
-rw-r--r--lib/diameter/doc/src/diameter_transport.xml6
-rw-r--r--lib/diameter/doc/src/files.mk3
-rw-r--r--lib/diameter/doc/src/seealso.ent113
-rw-r--r--lib/diameter/doc/src/seehere.sed35
13 files changed, 182 insertions, 216 deletions
diff --git a/lib/diameter/doc/src/.gitignore b/lib/diameter/doc/src/.gitignore
index feeb378fd8..5776e1cc76 100644
--- a/lib/diameter/doc/src/.gitignore
+++ b/lib/diameter/doc/src/.gitignore
@@ -1,2 +1,3 @@
/depend.mk
+/seehere.ent
diff --git a/lib/diameter/doc/src/Makefile b/lib/diameter/doc/src/Makefile
index 6e91181c6c..8ad38ba0d5 100644
--- a/lib/diameter/doc/src/Makefile
+++ b/lib/diameter/doc/src/Makefile
@@ -35,7 +35,7 @@ XML_REF_FILES = $(XML_REF1_FILES) $(XML_REF3_FILES) $(XML_REF4_FILES)
XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) \
$(XML_REF_FILES) \
$(XML_PART_FILES) $(XML_CHAPTER_FILES) \
- $(XML_ENTITY_FILES)
+ seealso.ent
INTERNAL_HTML_FILES = $(TECHNICAL_DESCR_FILES:%.xml=$(HTMLDIR)/%.html)
@@ -94,7 +94,7 @@ html: gifs $(HTML_REF_MAN_FILE)
clean clean_docs: clean_pdf clean_html clean_man
rm -f errs core *~
- rm -f depend.mk
+ rm -f depend.mk seehere.ent
clean_pdf:
rm -f $(PDFDIR)/*
@@ -171,7 +171,9 @@ release_docs_spec: $(LOCAL)docs
release_spec:
-depend.mk: depend.sed $(XML_REF_FILES) $(XML_CHAPTER_FILES) Makefile
+depend.mk: depend.sed Makefile seealso.ent \
+ $(XML_REF_FILES) $(XML_CHAPTER_FILES)
+ sed -f seehere.sed seealso.ent > seehere.ent
(for f in $(XML_REF_FILES) $(XML_CHAPTER_FILES); do \
sed -f $< $$f | sed "s@%FILE%@`basename $$f .xml`@g"; \
done) \
diff --git a/lib/diameter/doc/src/diameter.ent b/lib/diameter/doc/src/diameter.ent
deleted file mode 100644
index fbfbe817a9..0000000000
--- a/lib/diameter/doc/src/diameter.ent
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-
-<!--
-#
-# %CopyrightBegin%
-#
-# Copyright Ericsson AB 2012. All Rights Reserved.
-#
-# The contents of this file are subject to the Erlang Public License,
-# Version 1.1, (the "License"); you may not use this file except in
-# compliance with the License. You should have received a copy of the
-# Erlang Public License along with this software. If not, it can be
-# retrieved online at http://www.erlang.org/.
-#
-# Software distributed under the License is distributed on an "AS IS"
-# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-# the License for the specific language governing rights and limitations
-# under the License.
-#
-# %CopyrightEnd%
--->
-
-<!-- diameter -->
-
-<!ENTITY add_transport
- '<seealso marker="#add_transport-2">add_transport/2</seealso>'>
-<!ENTITY call
- '<seealso marker="#call-4">call/4</seealso>'>
-<!ENTITY origin_state_id
- '<seealso marker="#origin_state_id-0">origin_state_id/0</seealso>'>
-<!ENTITY remove_transport
- '<seealso marker="#remove_transport-2">remove_transport/2</seealso>'>
-<!ENTITY service_info
- '<seealso marker="#service_info-2">service_info/2</seealso>'>
-<!ENTITY services
- '<seealso marker="#services-0">services/0</seealso>'>
-<!ENTITY start_service
- '<seealso marker="#start_service-2">start_service/2</seealso>'>
-<!ENTITY stop_service
- '<seealso marker="#stop_service-1">stop_service/1</seealso>'>
-<!ENTITY subscribe
- '<seealso marker="#subscribe-1">subscribe/1</seealso>'>
-
-<!ENTITY application_alias
- '<seealso marker="#application_alias">application_alias()</seealso>'>
-<!ENTITY application_module
- '<seealso marker="#application_module">application_module()</seealso>'>
-<!ENTITY application_opt
- '<seealso marker="#application_opt">application_opt()</seealso>'>
-<!ENTITY call_opt
- '<seealso marker="#call_opt">call_opt()</seealso>'>
-<!ENTITY capability
- '<seealso marker="#capability">capability()</seealso>'>
-<!ENTITY evaluable
- '<seealso marker="#evaluable">evaluable()</seealso>'>
-<!ENTITY peer_filter
- '<seealso marker="#peer_filter">peer_filter()</seealso>'>
-<!ENTITY service_event
- '<seealso marker="#service_event">service_event()</seealso>'>
-<!ENTITY service_name
- '<seealso marker="#service_name">service_name()</seealso>'>
-<!ENTITY service_opt
- '<seealso marker="#service_opt">service_opt()</seealso>'>
-<!ENTITY transport_opt
- '<seealso marker="#transport_opt">transport_opt()</seealso>'>
-<!ENTITY transport_ref
- '<seealso marker="#transport_ref">transport_ref()</seealso>'>
-
-<!ENTITY application
- '<seealso marker="#application">application</seealso>'>
-<!ENTITY capabilities_cb
- '<seealso marker="#capabilities_cb">capabilities_cb</seealso>'>
-<!ENTITY capx_timeout
- '<seealso marker="#capx_timeout">capx_timeout</seealso>'>
-<!ENTITY disconnect_cb
- '<seealso marker="#disconnect_cb">disconnect_cb</seealso>'>
-<!ENTITY transport_config
- '<seealso marker="#transport_config">transport_config</seealso>'>
-<!ENTITY transport_module
- '<seealso marker="#transport_module">transport_module</seealso>'>
-<!ENTITY reconnect_timer
- '<seealso marker="#reconnect_timer">reconnect_timer</seealso>'>
-<!ENTITY watchdog_timer
- '<seealso marker="#watchdog_timer">watchdog_timer</seealso>'>
-
-<!ENTITY mod_add_transport
- '<seealso marker="diameter#add_transport-2">diameter:add_transport/2</seealso>'>
-<!ENTITY mod_call
- '<seealso marker="diameter#call-4">diameter:call/4</seealso>'>
-<!ENTITY mod_remove_transport
- '<seealso marker="diameter#remove_transport-2">diameter:remove_transport/2</seealso>'>
-<!ENTITY mod_start_service
- '<seealso marker="diameter#start_service-2">diameter:start_service/2</seealso>'>
-
-<!ENTITY mod_call_opt
- '<seealso marker="diameter#call_opt">diameter:call_opt()</seealso>'>
-<!ENTITY mod_application_opt
- '<seealso marker="diameter#application_opt">diameter:application_opt()</seealso>'>
-<!ENTITY mod_evaluable
- '<seealso marker="diameter#evaluable">diameter:evaluable()</seealso>'>
-<!ENTITY mod_service_name
- '<seealso marker="diameter#service_name">diameter:service_name()</seealso>'>
-<!ENTITY mod_transport_opt
- '<seealso marker="diameter#transport_opt">diameter:transport_opt()</seealso>'>
-<!ENTITY mod_transport_ref
- '<seealso marker="diameter#transport_ref">diameter:transport_ref()</seealso>'>
-
-<!-- diameter_app -->
-
-<!ENTITY handle_answer
- '<seealso marker="#Mod:handle_answer-4">handle_answer/4</seealso>'>
-<!ENTITY handle_request
- '<seealso marker="#Mod:handle_request-3">handle_request/3</seealso>'>
-<!ENTITY handle_error
- '<seealso marker="#Mod:handle_error-4">handle_error/4</seealso>'>
-<!ENTITY peer_down
- '<seealso marker="#Mod:peer_down-3">peer_down/3</seealso>'>
-<!ENTITY peer_up
- '<seealso marker="#Mod:peer_up-3">peer_up/3</seealso>'>
-<!ENTITY pick_peer
- '<seealso marker="#Mod:pick_peer-4">pick_peer/4</seealso>'>
-<!ENTITY prepare_retransmit
- '<seealso marker="#Mod:prepare_retransmit-3">prepare_retransmit/3</seealso>'>
-<!ENTITY prepare_request
- '<seealso marker="#Mod:prepare_request-3">prepare_request/3</seealso>'>
-
-<!ENTITY capabilities
- '<seealso marker="#capabilities">capabilities()</seealso>'>
-<!ENTITY message
- '<seealso marker="#message">message()</seealso>'>
-<!ENTITY packet
- '<seealso marker="#packet">packet()</seealso>'>
-<!ENTITY peer
- '<seealso marker="#peer">peer()</seealso>'>
-<!ENTITY peer_ref
- '<seealso marker="#peer_ref">peer_ref()</seealso>'>
-<!ENTITY state
- '<seealso marker="#state">state()</seealso>'>
-
-<!ENTITY app_handle_answer
- '<seealso marker="diameter_app#Mod:handle_answer-4">handle_answer/4</seealso>'>
-<!ENTITY app_handle_request
- '<seealso marker="diameter_app#Mod:handle_request-3">handle_request/3</seealso>'>
-<!ENTITY app_handle_error
- '<seealso marker="diameter_app#Mod:handle_error-4">handle_error/4</seealso>'>
-<!ENTITY app_peer_up
- '<seealso marker="diameter_app#Mod:peer_up-3">peer_up/3</seealso>'>
-<!ENTITY app_pick_peer
- '<seealso marker="diameter_app#Mod:pick_peer-4">pick_peer/4</seealso>'>
-<!ENTITY app_prepare_retransmit
- '<seealso marker="diameter_app#Mod:prepare_retransmit-3">prepare_retransmit/3</seealso>'>
-<!ENTITY app_prepare_request
- '<seealso marker="diameter_app#Mod:prepare_request-3">prepare_request/3</seealso>'>
-
-<!ENTITY app_message
- '<seealso marker="diameter_app#message">diameter_app:message()</seealso>'>
-<!ENTITY app_peer
- '<seealso marker="diameter_app#peer">diameter_app:peer()</seealso>'>
-<!ENTITY app_peer_ref
- '<seealso marker="diameter_app#peer_ref">diameter_app:peer_ref()</seealso>'>
-
-<!-- diameter_dict -->
-
-<!ENTITY dict_data_types
- '<seealso marker="diameter_dict#DATA_TYPES">diameter_dict(4)</seealso>'>
-
-<!ENTITY dict_Address
- '<seealso marker="diameter_dict#DATA_TYPES">Address()</seealso>'>
-<!ENTITY dict_DiameterIdentity
- '<seealso marker="diameter_dict#DATA_TYPES">DiameterIdentity()</seealso>'>
-<!ENTITY dict_Grouped
- '<seealso marker="diameter_dict#DATA_TYPES">Grouped()</seealso>'>
-<!ENTITY dict_OctetString
- '<seealso marker="diameter_dict#DATA_TYPES">OctetString()</seealso>'>
-<!ENTITY dict_Time
- '<seealso marker="diameter_dict#DATA_TYPES">Time()</seealso>'>
-<!ENTITY dict_UTF8String
- '<seealso marker="diameter_dict#DATA_TYPES">UTF8String()</seealso>'>
-<!ENTITY dict_Unsigned32
- '<seealso marker="diameter_dict#DATA_TYPES">Unsigned32()</seealso>'>
-
-<!-- diameter_transport -->
-
-<!ENTITY transport_start
- '<seealso marker="diameter_transport#Mod:start-3">start/3</seealso>'>
-
-<!-- reference pages -->
-
-<!ENTITY man_compile '<seealso marker="diameterc">diameterc(1)</seealso>'>
-<!ENTITY man_main '<seealso marker="diameter">diameter(3)</seealso>'>
-<!ENTITY man_app '<seealso marker="diameter_app">diameter_app(3)</seealso>'>
-<!ENTITY man_dict '<seealso marker="diameter_dict">diameter_dict(4)</seealso>'>
-<!ENTITY man_transport
- '<seealso marker="diameter_transport">diameter_transport(3)</seealso>'>
-<!ENTITY man_sctp '<seealso marker="diameter_sctp">diameter_sctp(3)</seealso>'>
-<!ENTITY man_tcp '<seealso marker="diameter_tcp">diameter_tcp(3)</seealso>'>
diff --git a/lib/diameter/doc/src/diameter.xml b/lib/diameter/doc/src/diameter.xml
index 2a2fff86a9..b47ca56b10 100644
--- a/lib/diameter/doc/src/diameter.xml
+++ b/lib/diameter/doc/src/diameter.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd" [
- <!ENTITY % ents SYSTEM "diameter.ent" >
- %ents;
+ <!ENTITY % also SYSTEM "seealso.ent" >
+ <!ENTITY % here SYSTEM "seehere.ent" >
+ %also;
+ %here;
]>
<erlref>
diff --git a/lib/diameter/doc/src/diameter_app.xml b/lib/diameter/doc/src/diameter_app.xml
index 826b28aaac..304c69ebda 100644
--- a/lib/diameter/doc/src/diameter_app.xml
+++ b/lib/diameter/doc/src/diameter_app.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd" [
- <!ENTITY % ents SYSTEM "diameter.ent" >
- %ents;
+ <!ENTITY % also SYSTEM "seealso.ent" >
+ <!ENTITY % here SYSTEM "seehere.ent" >
+ %also;
+ %here;
]>
<erlref>
diff --git a/lib/diameter/doc/src/diameter_compile.xml b/lib/diameter/doc/src/diameter_compile.xml
index 5ca8126b83..eb6de80c11 100644
--- a/lib/diameter/doc/src/diameter_compile.xml
+++ b/lib/diameter/doc/src/diameter_compile.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE comref SYSTEM "comref.dtd" [
- <!ENTITY % ents SYSTEM "diameter.ent" >
- %ents;
+ <!ENTITY % also SYSTEM "seealso.ent" >
+ <!ENTITY % here SYSTEM "seehere.ent" >
+ %also;
+ %here;
]>
<comref>
diff --git a/lib/diameter/doc/src/diameter_dict.xml b/lib/diameter/doc/src/diameter_dict.xml
index 4956ff4be0..4a6cccc276 100644
--- a/lib/diameter/doc/src/diameter_dict.xml
+++ b/lib/diameter/doc/src/diameter_dict.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "fileref.dtd" [
- <!ENTITY % ents SYSTEM "diameter.ent" >
- %ents;
+ <!ENTITY % also SYSTEM "seealso.ent" >
+ <!ENTITY % here SYSTEM "seehere.ent" >
+ %also;
+ %here;
]>
<fileref>
diff --git a/lib/diameter/doc/src/diameter_sctp.xml b/lib/diameter/doc/src/diameter_sctp.xml
index 053c305978..a023a9bc08 100644
--- a/lib/diameter/doc/src/diameter_sctp.xml
+++ b/lib/diameter/doc/src/diameter_sctp.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd" [
- <!ENTITY % ents SYSTEM "diameter.ent" >
- %ents;
+ <!ENTITY % also SYSTEM "seealso.ent" >
+ <!ENTITY % here SYSTEM "seehere.ent" >
+ %also;
+ %here;
]>
<erlref>
diff --git a/lib/diameter/doc/src/diameter_tcp.xml b/lib/diameter/doc/src/diameter_tcp.xml
index 1d4196ed61..be8a938115 100644
--- a/lib/diameter/doc/src/diameter_tcp.xml
+++ b/lib/diameter/doc/src/diameter_tcp.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd" [
- <!ENTITY % ents SYSTEM "diameter.ent" >
- %ents;
+ <!ENTITY % also SYSTEM "seealso.ent" >
+ <!ENTITY % here SYSTEM "seehere.ent" >
+ %also;
+ %here;
]>
<erlref>
diff --git a/lib/diameter/doc/src/diameter_transport.xml b/lib/diameter/doc/src/diameter_transport.xml
index a06d8a348b..0507af63a8 100644
--- a/lib/diameter/doc/src/diameter_transport.xml
+++ b/lib/diameter/doc/src/diameter_transport.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd" [
- <!ENTITY % ents SYSTEM "diameter.ent" >
- %ents;
+ <!ENTITY % also SYSTEM "seealso.ent" >
+ <!ENTITY % here SYSTEM "seehere.ent" >
+ %also;
+ %here;
]>
<erlref>
diff --git a/lib/diameter/doc/src/files.mk b/lib/diameter/doc/src/files.mk
index 48f604c98f..89ec1031e6 100644
--- a/lib/diameter/doc/src/files.mk
+++ b/lib/diameter/doc/src/files.mk
@@ -17,9 +17,6 @@
#
# %CopyrightEnd%
-XML_ENTITY_FILES = \
- diameter.ent
-
XML_APPLICATION_FILES = \
ref_man.xml
diff --git a/lib/diameter/doc/src/seealso.ent b/lib/diameter/doc/src/seealso.ent
new file mode 100644
index 0000000000..a0143fd6d6
--- /dev/null
+++ b/lib/diameter/doc/src/seealso.ent
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+
+<!--
+
+%CopyrightBegin%
+
+Copyright Ericsson AB 2012. All Rights Reserved.
+
+The contents of this file are subject to the Erlang Public License,
+Version 1.1, (the "License"); you may not use this file except in
+compliance with the License. You should have received a copy of the
+Erlang Public License along with this software. If not, it can be
+retrieved online at http://www.erlang.org/.
+
+Software distributed under the License is distributed on an "AS IS"
+basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+the License for the specific language governing rights and limitations
+under the License.
+
+%CopyrightEnd%
+
+-->
+
+<!--
+
+Entities for cross references: less to type, easier to read and
+less error prone.
+
+Additional intra-document entities are generated by seehere.sed.
+That each definition is on a single (hideously long) line is
+significant.
+
+-->
+
+<!-- diameter -->
+
+<!ENTITY mod_add_transport '<seealso marker="diameter#add_transport-2">diameter:add_transport/2</seealso>'>
+<!ENTITY mod_call '<seealso marker="diameter#call-4">diameter:call/4</seealso>'>
+<!ENTITY mod_origin_state_id '<seealso marker="diameter#origin_state_id-0">diameter:origin_state_id/0</seealso>'>
+<!ENTITY mod_remove_transport '<seealso marker="diameter#remove_transport-2">diameter:remove_transport/2</seealso>'>
+<!ENTITY mod_service_info '<seealso marker="diameter#service_info-2">diameter:service_info/2</seealso>'>
+<!ENTITY mod_services '<seealso marker="diameter#services-0">diameter:services/0</seealso>'>
+<!ENTITY mod_start_service '<seealso marker="diameter#start_service-2">diameter:start_service/2</seealso>'>
+<!ENTITY mod_stop_service '<seealso marker="diameter#stop_service-1">diameter:stop_service/1</seealso>'>
+<!ENTITY mod_subscribe '<seealso marker="diameter#subscribe-1">diameter:subscribe/1</seealso>'>
+
+<!ENTITY mod_application_alias '<seealso marker="diameter#application_alias">diameter:application_alias()</seealso>'>
+<!ENTITY mod_application_module '<seealso marker="diameter#application_module">diameter:application_module()</seealso>'>
+<!ENTITY mod_application_opt '<seealso marker="diameter#application_opt">diameter:application_opt()</seealso>'>
+<!ENTITY mod_call_opt '<seealso marker="diameter#call_opt">diameter:call_opt()</seealso>'>
+<!ENTITY mod_capability '<seealso marker="diameter#capability">diameter:capability()</seealso>'>
+<!ENTITY mod_evaluable '<seealso marker="diameter#evaluable">diameter:evaluable()</seealso>'>
+<!ENTITY mod_peer_filter '<seealso marker="diameter#peer_filter">diameter:peer_filter()</seealso>'>
+<!ENTITY mod_service_event '<seealso marker="diameter#service_event">diameter:service_event()</seealso>'>
+<!ENTITY mod_service_name '<seealso marker="diameter#service_name">diameter:service_name()</seealso>'>
+<!ENTITY mod_service_opt '<seealso marker="diameter#service_opt">diameter:service_opt()</seealso>'>
+<!ENTITY mod_transport_opt '<seealso marker="diameter#transport_opt">diameter:transport_opt()</seealso>'>
+<!ENTITY mod_transport_ref '<seealso marker="diameter#transport_ref">diameter:transport_ref()</seealso>'>
+
+<!ENTITY application '<seealso marker="#application">application</seealso>'>
+<!ENTITY capabilities_cb '<seealso marker="#capabilities_cb">capabilities_cb</seealso>'>
+<!ENTITY capx_timeout '<seealso marker="#capx_timeout">capx_timeout</seealso>'>
+<!ENTITY disconnect_cb '<seealso marker="#disconnect_cb">disconnect_cb</seealso>'>
+<!ENTITY transport_config '<seealso marker="#transport_config">transport_config</seealso>'>
+<!ENTITY transport_module '<seealso marker="#transport_module">transport_module</seealso>'>
+<!ENTITY reconnect_timer '<seealso marker="#reconnect_timer">reconnect_timer</seealso>'>
+<!ENTITY watchdog_timer '<seealso marker="#watchdog_timer">watchdog_timer</seealso>'>
+
+<!-- diameter_app -->
+
+<!ENTITY app_handle_answer '<seealso marker="diameter_app#Mod:handle_answer-4">handle_answer/4</seealso>'>
+<!ENTITY app_handle_request '<seealso marker="diameter_app#Mod:handle_request-3">handle_request/3</seealso>'>
+<!ENTITY app_handle_error '<seealso marker="diameter_app#Mod:handle_error-4">handle_error/4</seealso>'>
+<!ENTITY app_peer_down '<seealso marker="diameter_app#Mod:peer_down-3">peer_up/3</seealso>'>
+<!ENTITY app_peer_up '<seealso marker="diameter_app#Mod:peer_up-3">peer_up/3</seealso>'>
+<!ENTITY app_pick_peer '<seealso marker="diameter_app#Mod:pick_peer-4">pick_peer/4</seealso>'>
+<!ENTITY app_prepare_retransmit '<seealso marker="diameter_app#Mod:prepare_retransmit-3">prepare_retransmit/3</seealso>'>
+<!ENTITY app_prepare_request '<seealso marker="diameter_app#Mod:prepare_request-3">prepare_request/3</seealso>'>
+
+<!ENTITY app_capabilities '<seealso marker="diameter_app#capabilities">diameter_app:capabilities()</seealso>'>
+<!ENTITY app_message '<seealso marker="diameter_app#message">diameter_app:message()</seealso>'>
+<!ENTITY app_packet '<seealso marker="diameter_app#packet">diameter_app:packet()</seealso>'>
+<!ENTITY app_peer '<seealso marker="diameter_app#peer">diameter_app:peer()</seealso>'>
+<!ENTITY app_peer_ref '<seealso marker="diameter_app#peer_ref">diameter_app:peer_ref()</seealso>'>
+<!ENTITY app_state '<seealso marker="diameter_app#state">diameter_app:state()</seealso>'>
+
+<!-- diameter_dict -->
+
+<!ENTITY dict_data_types '<seealso marker="diameter_dict#DATA_TYPES">diameter_dict(4)</seealso>'>
+
+<!ENTITY dict_Address '<seealso marker="diameter_dict#DATA_TYPES">Address()</seealso>'>
+<!ENTITY dict_DiameterIdentity '<seealso marker="diameter_dict#DATA_TYPES">DiameterIdentity()</seealso>'>
+<!ENTITY dict_Grouped '<seealso marker="diameter_dict#DATA_TYPES">Grouped()</seealso>'>
+<!ENTITY dict_OctetString '<seealso marker="diameter_dict#DATA_TYPES">OctetString()</seealso>'>
+<!ENTITY dict_Time '<seealso marker="diameter_dict#DATA_TYPES">Time()</seealso>'>
+<!ENTITY dict_UTF8String '<seealso marker="diameter_dict#DATA_TYPES">UTF8String()</seealso>'>
+<!ENTITY dict_Unsigned32 '<seealso marker="diameter_dict#DATA_TYPES">Unsigned32()</seealso>'>
+
+<!-- diameter_transport -->
+
+<!ENTITY transport_start
+ '<seealso marker="diameter_transport#Mod:start-3">start/3</seealso>'>
+
+<!-- reference pages -->
+
+<!ENTITY man_compile '<seealso marker="diameterc">diameterc(1)</seealso>'>
+<!ENTITY man_main '<seealso marker="diameter">diameter(3)</seealso>'>
+<!ENTITY man_app '<seealso marker="diameter_app">diameter_app(3)</seealso>'>
+<!ENTITY man_dict '<seealso marker="diameter_dict">diameter_dict(4)</seealso>'>
+<!ENTITY man_transport
+ '<seealso marker="diameter_transport">diameter_transport(3)</seealso>'>
+<!ENTITY man_sctp '<seealso marker="diameter_sctp">diameter_sctp(3)</seealso>'>
+<!ENTITY man_tcp '<seealso marker="diameter_tcp">diameter_tcp(3)</seealso>'>
diff --git a/lib/diameter/doc/src/seehere.sed b/lib/diameter/doc/src/seehere.sed
new file mode 100644
index 0000000000..c62a783d40
--- /dev/null
+++ b/lib/diameter/doc/src/seehere.sed
@@ -0,0 +1,35 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2012. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+
+#
+# Map entities for inter-document references to ones for
+# intra-document references like this:
+#
+# <!ENTITY aaa_xxx '<seealso marker="bbb#yyy">ccc:zzz</seealso>'>
+#
+# ===>
+#
+# <!ENTITY xxx '<seealso marker="#yyy">zzz</seealso>'>
+#
+
+/<!ENTITY/!d
+/#/!d
+/"#/d
+s@ [^_]*_@ @
+s@"[^#]*#@"#@
+s@>[^:]*:@>@