diff --git a/en_US.ISO8859-1/share/sgml/freebsd.dsl b/en_US.ISO8859-1/share/sgml/freebsd.dsl index ebd7bb4e23..a17b13827c 100644 --- a/en_US.ISO8859-1/share/sgml/freebsd.dsl +++ b/en_US.ISO8859-1/share/sgml/freebsd.dsl @@ -1,4 +1,4 @@ - + @@ -53,9 +53,17 @@ (define %refentry-xref-link% #t) - (define ($create-refentry-xref-link$ refentrytitle manvolnum) - (string-append "http://www.FreeBSD.org/cgi/man.cgi?query=" - refentrytitle "&" "sektion=" manvolnum)) + (define ($create-refentry-xref-link$ #!optional (n (current-node))) + (let* ((r (select-elements (children n) (normalize "refentrytitle"))) + (m (select-elements (children n) (normalize "manvolnum"))) + (v (attribute-string (normalize "vendor") n)) + (u (string-append "http://www.FreeBSD.org/cgi/man.cgi?query=" + (data r) "&" "sektion=" (data m)))) + (case v + (("xfree86") (string-append u "&" "manpath=XFree86+4.0.2")) + (("netbsd") (string-append u "&" "manpath=NetBSD+1.5")) + (("ports") (string-append u "&" "manpath=FreeBSD+Ports")) + (else u)))) ]]> @@ -254,6 +262,6 @@ - +