From owner-p4-projects@FreeBSD.ORG Thu Dec 25 11:54:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 350591065678; Thu, 25 Dec 2008 11:54:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ECBBD1065674 for ; Thu, 25 Dec 2008 11:54:52 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DBAF18FC2B for ; Thu, 25 Dec 2008 11:54:52 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id mBPBsqn8005050 for ; Thu, 25 Dec 2008 11:54:52 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id mBPBsquw005048 for perforce@freebsd.org; Thu, 25 Dec 2008 11:54:52 GMT (envelope-from rene@FreeBSD.org) Date: Thu, 25 Dec 2008 11:54:52 GMT Message-Id: <200812251154.mBPBsquw005048@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 155274 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Dec 2008 11:54:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=155274 Change 155274 by rene@rene_self on 2008/12/25 11:54:03 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/linux-users/article.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/faq/book.sgml#12 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#6 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/disks/chapter.sgml#5 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#5 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/install/chapter.sgml#4 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#9 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/Makefile#7 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/problem-reports/Makefile#3 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/articles/problem-reports/article.sgml#9 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#24 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml#11 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/geom/chapter.sgml#10 integrate .. //depot/projects/docproj_nl/share/sgml/catalog#2 integrate .. //depot/projects/docproj_nl/share/sgml/default.dsl#2 integrate .. //depot/projects/docproj_nl/share/sgml/freebsd-common.dsl#1 branch .. //depot/projects/docproj_nl/share/sgml/freebsd-html.dsl#1 branch .. //depot/projects/docproj_nl/share/sgml/freebsd-print.dsl#1 branch .. //depot/projects/docproj_nl/share/sgml/freebsd.dsl#3 integrate .. //depot/projects/docproj_nl/share/sgml/man-refs.ent#11 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/linux-users/article.sgml#3 (text+ko) ==== @@ -19,7 +19,7 @@ The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/articles/linux-users/article.sgml,v 1.6 2008/05/26 16:44:05 gabor Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/linux-users/article.sgml,v 1.7 2008/12/24 10:43:29 pgj Exp $ &tm-attrib.freebsd; @@ -410,8 +410,8 @@ CVS (Concurrent Versioning System) servers. Once the local source code is up to date you can build new versions of the kernel and userland. For more information on source updates see - chapter 23 - of the &os; Handbook. + the chapter on updating + in the &os; Handbook. Binary updates are similar to using yum or apt-get to update a &linux; system. The command ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/faq/book.sgml#12 (text+ko) ==== @@ -12,7 +12,7 @@ The &os; Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1103 2008/12/07 20:44:01 pgj Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.1104 2008/12/24 10:32:40 pgj Exp $ 1995 @@ -354,12 +354,12 @@ &os.current; + url="&url.books.handbook;/current-stable.html#CURRENT">&os.current; is the development version of the operating system, which will in due course become the new &os.stable; branch. As such, it is really only of interest to developers working on the system and die-hard hobbyists. See the relevant section + url="&url.books.handbook;/current-stable.html#CURRENT">relevant section in the Handbook for details on running -CURRENT. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#6 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -229,7 +229,7 @@ are either accepted, open an editor, or freebsd-update will abort. When in doubt, backup /etc and just - accept the merges. See for more + accept the merges. See for more information about the mergemaster command. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/disks/chapter.sgml#5 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -2381,12 +2381,19 @@ dump and restore. They operate on the drive as a collection of disk blocks, below the abstractions of files, links and directories that are created by - the file systems. dump backs up an entire + the file systems. Unlike other backup software, + dump backs up an entire file system on a device. It is unable to backup only part of a file system or a directory tree that spans more than one - file system. dump does not write files and + file system. The dump command does not write files and directories to tape, but rather writes the raw data blocks that - comprise files and directories. + comprise files and directories. When being used to extract + data, restore stores temporary files + in /tmp/ by default — if you are + operating from a recovery disk with a small + /tmp directory, you may need to set the + TMPDIR environment variable to a directory + with more free space for the restore to be successful. If you use dump on your root directory, you would not back up /home, ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#5 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -2124,11 +2124,6 @@ IPFW - - This section is work in progress. The contents might - not be accurate at all times. - - The IPFIREWALL (IPFW) is a &os; sponsored firewall software application authored and maintained by &os; volunteer staff members. It uses the legacy stateless rules and a legacy rule @@ -2136,7 +2131,8 @@ Stateful logic. The IPFW sample rule set (found in - /etc/rc.firewall) in the standard &os; + /etc/rc.firewall and + /etc/rc.firewall6) in the standard &os; install is rather simple and it is not expected that it used directly without modifications. The example does not use stateful filtering, which is beneficial in most setups, so it @@ -2159,7 +2155,8 @@ rule which triggers the NAT facility, and the advanced special purpose facilities, the dummynet traffic shaper facilities, the 'fwd rule' forward facility, the bridge - facility, and the ipstealth facility. + facility, and the ipstealth facility. IPFW supports both IPv4 + and IPv6. Enabling IPFW @@ -2256,15 +2253,6 @@ firewall by default, which is a good idea when you are first setting up your firewall. - options IPV6FIREWALL -options IPV6FIREWALL_VERBOSE -options IPV6FIREWALL_VERBOSE_LIMIT -options IPV6FIREWALL_DEFAULT_TO_ACCEPT - - These options are exactly the same as the IPv4 options but - they are for IPv6. If you do not use IPv6 you might want to - use IPV6FIREWALL without any rules to block all IPv6 - kernel options ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/install/chapter.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -4301,14 +4301,14 @@ When sysinstall is used - in an xterm, the yellow font is difficult to read + in an X11 terminal, the yellow font is difficult to read against the light gray background. Is there a way to provide higher contrast for this application? If you already have X11 installed and the default colors chosen by sysinstall - make text illegible while using xterm or rxvt, add the + make text illegible while using &man.xterm.1; or &man.rxvt.1;, add the following to your ~/.Xdefaults to get a darker background gray: XTerm*color7: #c0c0c0 ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#9 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -71,6 +71,12 @@ time server, with the NTP protocol. + + How to configure the standard logging daemon, + syslogd, to accept logs from remote + hosts. + + Before reading this chapter, you should: @@ -4948,6 +4954,280 @@ + + + + + Tom + Rhodes + Contributed by + + + + + Remote Host Logging with <command>syslogd</command> + + Interacting with system logs is a crucial aspect of both + security and system administration. Monitoring the log files of + multiple hosts can get very unwieldy when these hosts are + distributed across medium or large networks, or when they are + parts of various different types of networks. In these cases, + configuring remote logging may make the whole process a lot more + comfortable. + + Centralized logging to a specific logging host can reduce + some of the administrative burden of log file administration. Log + file aggregation, merging and rotation can be configured in one + location, using the native tools of &os;, such as &man.syslogd.8; + and &man.newsyslog.8;. In the + following example configuration, host A, named + logserv.example.com, will collect + logging information for the local network. + Host B, named + logclient.example.com will pass + logging information to the server system. In live + configurations, both hosts require proper forward and reverse + DNS or entries in + /etc/hosts. Otherwise, data will be + rejected by the server. + + + Log Server Configuration + + Log servers are machines configured to accept logging + information from remote hosts. In most cases this is to ease + configuration, in other cases it may just be a better + administration move. Regardless of reason, there are a few + requirements before continuing. + + A properly configured logging server has met the following + minimal requirements: + + + + The firewall ruleset allows for UDP + to be passed on port 514 on both the client and + server; + + + + syslogd has been configured to accept remote messages + from client machines; + + + + The syslogd server and all client machines must have + valid entries for both forward and reverse + DNS, or be properly configured in + /etc/hosts. + + + + To configure the log server, the client must be listed + in /etc/syslog.conf, and the logging + facility must be specified: + + +logclient.example.com +*.* /var/log/logclient.log + + + More information on various supported and available + facilities may be found in the + &man.syslog.conf.5; manual page. + + + Once added, all facility messages will + be logged to the file specified previously, + /var/log/logclient.log. + + Finally, the log file should be created. The method used + does not matter, but &man.touch.1; works great for situations + such as this: + + &prompt.root; touch /var/log/logclient.log + + At this point, the syslogd daemon should + be restarted and verified: + + &prompt.root; /etc/rc.d/syslogd restart +&prompt.root; pgrep syslog + + If a PID is returned, the server has been + restarted successfully, and client configuration may begin. If + the server has not restarted, consult the + /var/log/messages log for any + output. + + + + Log Client Configuration + + A logging client is a machine which sends log information + to a logging server in addition to keeping local copies. + + Similar to log servers, clients must also meet a few minimum + requirements. + + + + &man.syslogd.8; must be configured to send messages of + specific types to a log server, which must accept + them; + + + + The firewall must allow UDP packets + through on port 512; + + + + Both forward and reverse DNS must + be configured or have proper entries in the + /etc/hosts. + + + + Client configuration is a bit more relaxed when compared + to that of the servers. The client machine must also have the + following listing placed inside + /etc/rc.conf: + + syslogd_enable="YES" +syslogd_flags="-a logclient.example.com -vv" + + The first option will enable the syslogd + daemon on boot up, and the second line allows data from the + client to be accepted on this server. The latter part, using + , will increase the verbosity of logged + messages. This is extremely useful for tweaking facilities as + administrators are able to see what type of messages are being + logged under which facility. + + Facilities describe the system part for which a message + is generated. For an example, ftp and + ipfw are both facilities. When log messages + are generated for those two services, they will normally include + those two utilities in any log messages. Facilities are + accompanied with a priority or level, which is used to mark how + important a log message is. The most common will be the + warning and info. Please + refer to the &man.syslog.3; manual page for a full list of + available facilities and priorities. + + The logging server must be defined in the client's + /etc/syslog.conf. In this instance, + the @ symbol is used to send logging + data to a remote server and would look similar to the + following entry: + + *.* @logserv.example.com + + Once added, syslogd must be restarted + for the changes to take effect: + + &prompt.root; /etc/rc.d/syslogd restart + + To test that log messages are being sent across the network, + use &man.logger.1; to send a message to + syslogd: + + &prompt.root; logger "Test message from logclient" + + This message should now exist in + /var/log/messages on both the client + and the server. + + + + Debugging Log Servers + + In certain cases, debugging may be required if messages are + not being received on the log server. There are several reasons + this may occur; however, the most common two are network + connection issues and DNS issues. To test + these cases, ensure both hosts are able to reach other + using the hostname specified in + /etc/rc.conf. If this appears to be + working properly, an alternation to the + syslogd_flags option in + /etc/rc.conf will be required. + + In the following example, + /var/log/logclient.log is empty, and the + /var/log/messages files indicate no reason + for the failure. To increase debugging output, change the + syslogd_flags option to look like the + following example, and issue a restart: + + syslogd_flags="-d -a logclien.example.com -vv" + + &prompt.root; /etc/rc.d/syslogd restart + + Debugging data similar to the following will flash on the + screen immediately after the restart: + + logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart +syslogd: restarted +logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel +Logging to FILE /var/log/messages +syslogd: kernel boot file is /boot/kernel/kernel +cvthname(192.168.1.10) +validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com; +rejected in rule 0 due to name mismatch. + + It appears obvious the messages are being rejected due + to a name mismatch. After reviewing the configuration bit + by bit, it appears a typo in the following + /etc/rc.conf line has an issue: + + syslogd_flags="-d -a logclien.example.com -vv" + + The line should contain logclient, not + logclien. After the proper alterations + are made, a restart is issued with expected results: + + &prompt.root; /etc/rc.d/syslogd restart +logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart +syslogd: restarted +logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel +syslogd: kernel boot file is /boot/kernel/kernel +logmsg: pri 166, flags 17, from logserv.example.com, +msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on signal 2 +cvthname(192.168.1.10) +validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com; +accepted in rule 0. +logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2 +Logging to FILE /var/log/logclient.log +Logging to FILE /var/log/messages + + At this point, the messages are being properly received + and placed in the correct file. + + + + Security Considerations + + As with any network service, security requirements should + be considered before implementing this configuration. At times, + log files may contain sensitive data about services enabled on + the local host, user accounts, and configuration data. Network + data sent from the client to the server will not be encrypted + nor password protected. If a need for encryption exists, it + might be possible to use + security/stunnel, which + will transmit data over an encrypted tunnel. + + Local security is also an issue. Log files are not + encrypted during use or after log rotation. Local users may + access these files to gain additional insight on system + configuration. In those cases, setting proper permissions + on these files will be critical. The &man.newsyslog.8; + utility supports setting permissions on newly created and + rotated log files. Setting log files to mode + 600 should prevent any unwanted snooping + by local users. + + + ]> - + - + ==== //depot/projects/docproj_nl/share/sgml/freebsd.dsl#3 (text+ko) ==== @@ -1,13 +1,8 @@ - + - - - - - %freebsd.l10n; @@ -16,1099 +11,27 @@ + ]]> + +]]> -]]> + ]> - + (declare-flow-object-class formatting-instruction "UNREGISTERED::James Clark//Flow Object Class::formatting-instruction") - - - - - (define %hyphenation% #f) - - (define %html-header-tags% '(("META" ("HTTP-EQUIV" "Content-Type") - ("CONTENT" "text/html; charset=&doc.html.charset;")))) - - (define %gentext-nav-use-tables% - ;; Use tables to build the navigation headers and footers? - #t) - - (define %html-ext% - ;; Default extension for HTML output files - ".html") - - (define %shade-verbatim% - ;; Should verbatim environments be shaded? - #f) - - (define %use-id-as-filename% - ;; Use ID attributes as name for component HTML files? - #t) - - (define %root-filename% - ;; Name for the root HTML document - "index") - - (define html-manifest - ;; Write a manifest? - #f) - - (define %generate-legalnotice-link% - ;; Should legal notices be a link to a separate file? - ;; - ;; Naturally, this has no effect if you're building one big - ;; HTML file. - #f) - - (define %generate-docformat-navi-link% - ;; Create docformat navi link for HTML output? - #f) - -;; Taken from Norm's stylesheets; modified to add support for TITLE so -;; that we get a mouse over definition for acronyms in HTML output. - - (define ($acronym-seq$ #!optional (sosofo (process-children))) - ;; FIXME: html4 only - (let ((title (attribute-string (normalize "role") (current-node)))) - (if title - (make element gi: "ACRONYM" - attributes: (list - (list "TITLE" title) - (list "CLASS" (gi))) - sosofo) - (make element gi: "ACRONYM" - attributes: (list - (list "CLASS" (gi))) - sosofo)))) - - (define (book-titlepage-recto-elements) - (list (normalize "title") - (normalize "subtitle") - (normalize "graphic") - (normalize "mediaobject") - (normalize "corpauthor") - (normalize "authorgroup") - (normalize "author") - (normalize "editor") - (normalize "copyright") - (normalize "abstract") - (normalize "legalnotice") - (normalize "isbn"))) - - ;; Create a simple navigation link - ;; if %generate-docformat-navi-link% defined. - (define (make-docformat-navi tlist) - (let ((rootgi (gi (sgml-root-element)))) - (make element gi: "DIV" - attributes: '(("CLASS" "DOCFORAMTNAVI")) - (literal "[ ") - (make-docformat-navi-link rootgi tlist) - (literal " ]")))) - - (define (make-docformat-navi-link rootgi tlist) - (make sequence - (cond - ((null? tlist) (empty-sosofo)) - ((null? (car tlist)) (empty-sosofo)) - ((not (symbol? (car tlist))) (empty-sosofo)) - ((equal? (car tlist) 'html-split) - (make sequence - (create-link (list (list "href" "./index.html")) - (literal "&docnavi.split-html;")) - (if (not (null? (cdr tlist))) - (make sequence - (literal " / ") - (make-docformat-navi-link rootgi (cdr tlist))) - (empty-sosofo)))) - ((equal? (car tlist) 'html-single) - (make sequence - (create-link (list (list "href" - (string-append "./" (case-fold-down rootgi) ".html"))) - (literal "&docnavi.single-html;")) - (if (not (null? (cdr tlist))) - (make sequence - (literal " / ") - (make-docformat-navi-link rootgi (cdr tlist))) - (empty-sosofo)))) - (else (empty-sosofo))))) - - (define (article-titlepage-separator side) - (make sequence - (if %generate-docformat-navi-link% - (make-docformat-navi '(html-split html-single)) - (empty-sosofo)) - (make empty-element gi: "HR"))) - - (define (book-titlepage-separator side) - (if (equal? side 'recto) - (make sequence - (if %generate-docformat-navi-link% - (make-docformat-navi '(html-split html-single)) - (empty-sosofo)) - (make empty-element gi: "HR")) - (empty-sosofo))) - - - (define ($email-footer$) - (empty-sosofo)) - - (define html-index-filename - (if nochunks - "html.index" - "html-split.index")) - - (define %stylesheet% - "docbook.css") - - - (define ($html-body-end$) - (if (equal? $email-footer$ (normalize "")) - (empty-sosofo) - (make sequence - (if nochunks - (make empty-element gi: "hr") - (empty-sosofo)) - ($email-footer$)))) - - (define %refentry-xref-link% - ;; REFENTRY refentry-xref-link - ;; PURP Generate URL links when cross-referencing RefEntrys? - ;; DESC - ;; If true, a web link will be generated, presumably - ;; to an online man->HTML gateway. The text of the link is - ;; generated by the $create-refentry-xref-link$ function. - ;; /DESC - ;; AUTHOR N/A - ;; /REFENTRY - #f) - - - (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) "&" "amp;" "sektion=" (data m)))) - (case v - (("current") (string-append u "&" "amp;" "manpath=FreeBSD+8-current")) - (("xfree86") (string-append u "&" "amp;" "manpath=XFree86+4.5.0")) - (("xorg") (string-append u "&" "amp;" "manpath=X11R7.2")) - (("netbsd") (string-append u "&" "amp;" "manpath=NetBSD+3.0")) - (("openbsd") (string-append u "&" "amp;" "manpath=OpenBSD+4.1")) - (("ports") (string-append u "&" "amp;" "manpath=FreeBSD+7.0-RELEASE+and+Ports")) - (else u)))) - - (element application ($bold-seq$)) - - (element citerefentry - (let ((href ($create-refentry-xref-link$))) - (if %refentry-xref-link% - (create-link (list (list "HREF" href)) - (if %refentry-xref-italic% - ($italic-seq$) - ($charseq$))) - (if %refentry-xref-italic% - ($italic-seq$) - ($charseq$))))) - - (element filename - (let* ((class (attribute-string (normalize "role")))) - (cond - ((equal? class "package") - (let* ((urlurl "http://www.FreeBSD.org/cgi/url.cgi") - (href (string-append urlurl "?ports/" - (data (current-node)) - "/pkg-descr"))) - (create-link (list (list "HREF" href)) ($mono-seq$)))) - (else ($mono-seq$))))) - - ;; Do not render email with mailto: when nolink role attribute - ;; is used or when the email address matches - ;; @example.{com|net|org} - (element email - (let* ((class (attribute-string (normalize "role")))) - (cond - ((or (equal? class "nolink") - (and (> (string-length (data (current-node))) - 11) - (string=? - (substring (data (current-node)) - (- (string-length (data (current-node))) 11) - (- (string-length (data (current-node))) 4)) - "example"))) - ($code-seq$ - (make sequence - (literal "<") - (process-children) - (literal ">")))) - (else - (next-match))))) - - ;; Ensure that we start with no preferred mediaobject notations, - ;; so that in the text-only case we don't choose any of the - ;; possible images, and fallback to the most appropriate - ;; textobject - (define preferred-mediaobject-notations - '()) - - - (element quote - (make sequence - (literal "“") - (process-children) - (literal "”"))) - - ;; The special FreeBSD version of the trademark tag handling. - ;; This function was more or less taken from the DocBook DSSSL - ;; stylesheets by Norman Walsh. - (element trademark - (if (show-tm-symbol? (current-node)) - (make sequence - ($charseq$) - (cond - ((equal? (attribute-string "class") (normalize "copyright")) - (make entity-ref name: "copy")) - ((equal? (attribute-string "class") (normalize "registered")) - (make entity-ref name: "reg")) - ((equal? (attribute-string "class") (normalize "service")) - (make element gi: "SUP" - (literal "SM"))) - (else - (make entity-ref name: "#8482")))) - ($charseq$))) - - ;; multiple copyright holders should be separated. - (element (copyright holder) - (make sequence - ($charseq$) - (if (not (last-sibling? (current-node))) - (literal ", ") - (empty-sosofo)))) - ]]> - - - - >> TRUNCATED FOR MAIL (1000 lines) <<<