RSVG_LIBS
GTK_CFLAGS
GTK_LIBS
+ DBUS_CFLAGS
+ DBUS_LIBS
XFT_CFLAGS
XFT_LIBS
+FREETYPE_CFLAGS
+FREETYPE_LIBS
+FONTCONFIG_CFLAGS
+FONTCONFIG_LIBS
+HAVE_LIBOTF
+LIBOTF_CFLAGS
+LIBOTF_LIBS
+M17N_FLT_CFLAGS
+M17N_FLT_LIBS
ALLOCA
liblockfile
LIBOBJS
fi
fi
-### Link with -lXft if available to work around a bug.
-HAVE_XFT=maybe
-if test "${HAVE_GTK}" = "yes"; then
- if test "X${with_pkg_config_prog}" != X; then
- PKG_CONFIG="${with_pkg_config_prog}"
- fi
-
-
- succeeded=no
-
- if test -z "$PKG_CONFIG"; then
- # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ HAVE_DBUS=no
+ if test "${with_dbus}" = "yes"; then
+
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+ set dummy pkg-config; ac_word=$2
+ { echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
+ IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+ esac
+ fi
+ PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+ if test -n "$PKG_CONFIG"; then
+ { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+ echo "${ECHO_T}$PKG_CONFIG" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6; }
+ fi
+
+
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ HAVE_DBUS=no
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ { echo "$as_me:$LINENO: checking for dbus-1 >= 1.0" >&5
+ echo $ECHO_N "checking for dbus-1 >= 1.0... $ECHO_C" >&6; }
+
+ if $PKG_CONFIG --exists "dbus-1 >= 1.0" 2>&5; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+ echo "${ECHO_T}yes" >&6; }
+ succeeded=yes
+
+ { echo "$as_me:$LINENO: checking DBUS_CFLAGS" >&5
+ echo $ECHO_N "checking DBUS_CFLAGS... $ECHO_C" >&6; }
+ DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-1 >= 1.0"|sed -e 's,///*,/,g'`
+ { echo "$as_me:$LINENO: result: $DBUS_CFLAGS" >&5
+ echo "${ECHO_T}$DBUS_CFLAGS" >&6; }
+
+ { echo "$as_me:$LINENO: checking DBUS_LIBS" >&5
+ echo $ECHO_N "checking DBUS_LIBS... $ECHO_C" >&6; }
+ DBUS_LIBS=`$PKG_CONFIG --libs "dbus-1 >= 1.0"|sed -e 's,///*,/,g'`
+ { echo "$as_me:$LINENO: result: $DBUS_LIBS" >&5
+ echo "${ECHO_T}$DBUS_LIBS" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6; }
+ DBUS_CFLAGS=""
+ DBUS_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ DBUS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "dbus-1 >= 1.0"`
+
+ fi
+
+
+
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ HAVE_DBUS=yes
+ else
+ HAVE_DBUS=no
+ fi
+
+ if test "$HAVE_DBUS" = yes; then
+
+ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_DBUS 1
+ _ACEOF
+
+ fi
+ fi
+
+HAVE_XAW3D=no
+if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then
+ if test "$with_xaw3d" != no; then
+ { echo "$as_me:$LINENO: checking for xaw3d" >&5
+echo $ECHO_N "checking for xaw3d... $ECHO_C" >&6; }
+ if test "${emacs_cv_xaw3d+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- case $PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
- test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
- ;;
+#include <X11/Intrinsic.h>
+#include <X11/Xaw3d/Simple.h>
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
- { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6; }
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ emacs_cv_xaw3d=yes
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ emacs_cv_xaw3d=no
+fi
- fi
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
- if test "$PKG_CONFIG" = "no" ; then
- HAVE_XFT=no
else
- PKG_CONFIG_MIN_VERSION=0.9.0
- if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
- { echo "$as_me:$LINENO: checking for xft >= 0.13.0" >&5
-echo $ECHO_N "checking for xft >= 0.13.0... $ECHO_C" >&6; }
-
- if $PKG_CONFIG --exists "xft >= 0.13.0" 2>&5; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- succeeded=yes
-
- { echo "$as_me:$LINENO: checking XFT_CFLAGS" >&5
-echo $ECHO_N "checking XFT_CFLAGS... $ECHO_C" >&6; }
- XFT_CFLAGS=`$PKG_CONFIG --cflags "xft >= 0.13.0"|sed -e 's,///*,/,g'`
- { echo "$as_me:$LINENO: result: $XFT_CFLAGS" >&5
-echo "${ECHO_T}$XFT_CFLAGS" >&6; }
-
- { echo "$as_me:$LINENO: checking XFT_LIBS" >&5
-echo $ECHO_N "checking XFT_LIBS... $ECHO_C" >&6; }
- XFT_LIBS=`$PKG_CONFIG --libs "xft >= 0.13.0"|sed -e 's,///*,/,g'`
- { echo "$as_me:$LINENO: result: $XFT_LIBS" >&5
-echo "${ECHO_T}$XFT_LIBS" >&6; }
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- XFT_CFLAGS=""
- XFT_LIBS=""
- ## If we have a custom action on failure, don't print errors, but
- ## do set a variable so people can do so.
- XFT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xft >= 0.13.0"`
-
- fi
-
-
-
- else
- echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
- echo "*** See http://www.freedesktop.org/software/pkgconfig"
- fi
+ emacs_cv_xaw3d=no
fi
+ if test $emacs_cv_xaw3d = yes; then
+ { echo "$as_me:$LINENO: result: yes; using Lucid toolkit" >&5
+echo "${ECHO_T}yes; using Lucid toolkit" >&6; }
+ USE_X_TOOLKIT=LUCID
+ HAVE_XAW3D=yes
- if test $succeeded = yes; then
- :
- else
- HAVE_XFT=no
- fi
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_XAW3D 1
+_ACEOF
- if test "$HAVE_XFT" != no; then
- OLD_CFLAGS="$CPPFLAGS"
- OLD_CPPFLAGS="$CFLAGS"
- OLD_LIBS="$LIBS"
- CPPFLAGS="$CPPFLAGS $XFT_CFLAGS"
- CFLAGS="$CFLAGS $XFT_CFLAGS"
- LIBS="$XFT_LIBS $LIBS"
- if test "${ac_cv_header_X11_Xft_Xft_h+set}" = set; then
- { echo "$as_me:$LINENO: checking for X11/Xft/Xft.h" >&5
-echo $ECHO_N "checking for X11/Xft/Xft.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_X11_Xft_Xft_h+set}" = set; then
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ { echo "$as_me:$LINENO: checking for libXaw" >&5
+echo $ECHO_N "checking for libXaw... $ECHO_C" >&6; }
+ if test "${emacs_cv_xaw+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xft_Xft_h" >&5
-echo "${ECHO_T}$ac_cv_header_X11_Xft_Xft_h" >&6; }
else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking X11/Xft/Xft.h usability" >&5
-echo $ECHO_N "checking X11/Xft/Xft.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
RSVG_LIBS!$RSVG_LIBS$ac_delim
GTK_CFLAGS!$GTK_CFLAGS$ac_delim
GTK_LIBS!$GTK_LIBS$ac_delim
+ DBUS_CFLAGS!$DBUS_CFLAGS$ac_delim
+ DBUS_LIBS!$DBUS_LIBS$ac_delim
XFT_CFLAGS!$XFT_CFLAGS$ac_delim
XFT_LIBS!$XFT_LIBS$ac_delim
+FREETYPE_CFLAGS!$FREETYPE_CFLAGS$ac_delim
+FREETYPE_LIBS!$FREETYPE_LIBS$ac_delim
+FONTCONFIG_CFLAGS!$FONTCONFIG_CFLAGS$ac_delim
+FONTCONFIG_LIBS!$FONTCONFIG_LIBS$ac_delim
+HAVE_LIBOTF!$HAVE_LIBOTF$ac_delim
+LIBOTF_CFLAGS!$LIBOTF_CFLAGS$ac_delim
+LIBOTF_LIBS!$LIBOTF_LIBS$ac_delim
+M17N_FLT_CFLAGS!$M17N_FLT_CFLAGS$ac_delim
+M17N_FLT_LIBS!$M17N_FLT_LIBS$ac_delim
ALLOCA!$ALLOCA$ac_delim
liblockfile!$liblockfile$ac_delim
LIBOBJS!$LIBOBJS$ac_delim
GETLOADAVG_LIBS!$GETLOADAVG_LIBS$ac_delim
GETOPT_H!$GETOPT_H$ac_delim
GETOPTOBJS!$GETOPTOBJS$ac_delim
--version!$version$ac_delim
--configuration!$configuration$ac_delim
-canonical!$canonical$ac_delim
-srcdir!$srcdir$ac_delim
-lispdir!$lispdir$ac_delim
-locallisppath!$locallisppath$ac_delim
-lisppath!$lisppath$ac_delim
-x_default_search_path!$x_default_search_path$ac_delim
-etcdir!$etcdir$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
++version!$version$ac_delim
++configuration!$configuration$ac_delim
+canonical!$canonical$ac_delim
+srcdir!$srcdir$ac_delim
+lispdir!$lispdir$ac_delim
+locallisppath!$locallisppath$ac_delim
+lisppath!$lisppath$ac_delim
+x_default_search_path!$x_default_search_path$ac_delim
+etcdir!$etcdir$ac_delim
archlibdir!$archlibdir$ac_delim
bitmapdir!$bitmapdir$ac_delim
gamedir!$gamedir$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 21; then
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 14; then
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 23; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
fi
fi
-### Link with -lXft if available to work around a bug.
-HAVE_XFT=maybe
-if test "${HAVE_GTK}" = "yes"; then
- dnl Check if --with-pkg-config-prog has been given.
- if test "X${with_pkg_config_prog}" != X; then
- PKG_CONFIG="${with_pkg_config_prog}"
- fi
-
- PKG_CHECK_MODULES(XFT, xft >= 0.13.0, , HAVE_XFT=no)
- if test "$HAVE_XFT" != no; then
- OLD_CFLAGS="$CPPFLAGS"
- OLD_CPPFLAGS="$CFLAGS"
- OLD_LIBS="$LIBS"
- CPPFLAGS="$CPPFLAGS $XFT_CFLAGS"
- CFLAGS="$CFLAGS $XFT_CFLAGS"
- LIBS="$XFT_LIBS $LIBS"
- AC_CHECK_HEADER(X11/Xft/Xft.h,
- [AC_CHECK_LIB(Xft, XftFontOpen, HAVE_XFT=yes, , $XFT_LIBS)])
-
- if test "${HAVE_XFT}" = "yes"; then
- AC_DEFINE(HAVE_XFT, 1, [Define to 1 if you have the Xft library.])
- AC_SUBST(XFT_LIBS)
- C_SWITCH_X_SITE="$C_SWITCH_X_SITE $XFT_CFLAGS"
- else
- CFLAGS="$OLD_CPPFLAGS"
- CFLAGS="$OLD_CFLAGS"
- LIBS="$OLD_LIBS"
- fi
- fi
-fi
-
+ dnl D-Bus has been tested under GNU/Linux only. Must be adapted for
+ dnl other platforms. Support for higher D-Bus versions but 1.0 is
+ dnl also not configured.
+ HAVE_DBUS=no
+ if test "${with_dbus}" = "yes"; then
+ PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0, HAVE_DBUS=yes, HAVE_DBUS=no)
+ if test "$HAVE_DBUS" = yes; then
+ AC_DEFINE(HAVE_DBUS, 1, [Define to 1 if using D-Bus.])
+ fi
+ fi
+
dnl Do not put whitespace before the #include statements below.
dnl Older compilers (eg sunos4 cc) choke on it.
HAVE_XAW3D=no
--- /dev/null
-# $Id: calstbl.rnc,v 1.2 2003/08/30 06:04:02 jjc Exp $
+ # This file was generated automatically by Trang, and then manually
+ # edited to add back definitions for overridden parameter entities and
+ # undefined elements, specifically: bodyatt, secur, paracon,
+ # tbl.table.mdl, tbl.entry.mdl, caution, graphic, legend, note, para,
+ # title, warning. This makes the semantics of this module as close as
+ # possible to the original DTD and also allows this schema to be used
+ # independently of DocBook.
+
+ # ......................................................................
+
+ # DocBook CALS Table Model V4.2 ........................................
+
+ # File calstblx.mod ....................................................
+
+ # Copyright 1992-2002 HaL Computer Systems, Inc.,
+ # O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ # Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ # Organization for the Advancement of Structured Information
+ # Standards (OASIS).
+ #
+ # This DTD is based on the CALS Table Model
+ # PUBLIC "-//USA-DOD//DTD Table Model 951010//EN"
+ #
++# $Id: calstbl.rnc,v 1.1 2007/11/23 06:57:43 hexmode Exp $
+ #
+ # Permission to use, copy, modify and distribute the DocBook DTD
+ # and its accompanying documentation for any purpose and without fee
+ # is hereby granted in perpetuity, provided that the above copyright
+ # notice and this paragraph appear in all copies. The copyright
+ # holders make no representation about the suitability of the DTD for
+ # any purpose. It is provided "as is" without expressed or implied
+ # warranty.
+ #
+ # If you modify the DocBook DTD in any way, except for declaring and
+ # referencing additional sets of general entities and declaring
+ # additional notations, label your DTD as a variant of DocBook. See
+ # the maintenance documentation for more information.
+ #
+ # Please direct all questions, bug reports, or suggestions for
+ # changes to the docbook@lists.oasis-open.org mailing list. For more
+ # information, see http://www.oasis-open.org/docbook/.
+
+ # ......................................................................
+
+ # This module contains the definitions for the CALS Table Model
+ # converted to XML.
+
+ # These definitions are not directly related to the table model, but are
+ # used in the default CALS table model and are usually defined elsewhere
+ # (and prior to the inclusion of this table module) in a CALS DTD.
+
+ bodyatt = empty
+ secur = empty
+
+ # no if zero(s),
+ # yes if any other digits value
+
+ yesorno = string
+ titles = title?
+ # default for use in entry content
+ paracon = text
+
+ # The parameter entities as defined below provide the CALS table model
+ # as published (as part of the Example DTD) in MIL-HDBK-28001.
+ #
+ # These following declarations provide the CALS-compliant default definitions
+ # for these entities. However, these entities can and should be redefined
+ # (by giving the appropriate parameter entity declaration(s) prior to the
+ # reference to this Table Model declaration set entity) to fit the needs
+ # of the current application.
+ tbl.table-titles.mdl = titles
+ tbl.table-main.mdl = tgroup+ | graphic+
+ tbl.table.mdl = tbl.table-titles.mdl | tbl.table-main.mdl
+ tbl.table.att =
+ attribute tabstyle { text }?,
+ attribute tocentry { yesorno }?,
+ attribute shortentry { yesorno }?,
+ attribute orient { "port" | "land" }?,
+ attribute pgwide { yesorno }?
+ tbl.tgroup.mdl = colspec*, spanspec*, thead?, tfoot?, tbody
+ tbl.tgroup.att = attribute tgroupstyle { text }?
+ tbl.hdft.mdl = colspec*, row+
+ tbl.row.mdl = (entry | entrytbl)+
+ tbl.entrytbl.mdl = colspec*, spanspec*, thead?, tbody
+ tbl.entry.mdl = paracon | para | warning | caution | note | legend
+ # ===== Element and attribute declarations follow. =====
+ start = table
+ table = element table { table.attlist, tbl.table.mdl }
+ table.attlist &=
+ attribute frame {
+ "top" | "bottom" | "topbot" | "all" | "sides" | "none"
+ }?,
+ attribute colsep { yesorno }?,
+ attribute rowsep { yesorno }?,
+ tbl.table.att,
+ bodyatt,
+ secur
+ tgroup = element tgroup { tgroup.attlist, tbl.tgroup.mdl }
+ tgroup.attlist &=
+ attribute cols { text },
+ tbl.tgroup.att,
+ attribute colsep { yesorno }?,
+ attribute rowsep { yesorno }?,
+ attribute align { "left" | "right" | "center" | "justify" | "char" }?,
+ attribute char { text }?,
+ attribute charoff { text }?,
+ secur
+ colspec = element colspec { colspec.attlist, empty }
+ colspec.attlist &=
+ attribute colnum { text }?,
+ attribute colname { text }?,
+ attribute colwidth { text }?,
+ attribute colsep { yesorno }?,
+ attribute rowsep { yesorno }?,
+ attribute align { "left" | "right" | "center" | "justify" | "char" }?,
+ attribute char { text }?,
+ attribute charoff { text }?
+ spanspec = element spanspec { spanspec.attlist, empty }
+ spanspec.attlist &=
+ attribute namest { text },
+ attribute nameend { text },
+ attribute spanname { text },
+ attribute colsep { yesorno }?,
+ attribute rowsep { yesorno }?,
+ attribute align { "left" | "right" | "center" | "justify" | "char" }?,
+ attribute char { text }?,
+ attribute charoff { text }?
+ thead = element thead { thead.attlist, tbl.hdft.mdl }
+ thead.attlist &=
+ attribute valign { "top" | "middle" | "bottom" }?,
+ secur
+ tfoot = element tfoot { tfoot.attlist, tbl.hdft.mdl }
+ tfoot.attlist &=
+ attribute valign { "top" | "middle" | "bottom" }?,
+ secur
+ tbody = element tbody { tbody.attlist, row+ }
+ tbody.attlist &=
+ attribute valign { "top" | "middle" | "bottom" }?,
+ secur
+ row = element row { row.attlist, tbl.row.mdl }
+ row.attlist &=
+ attribute rowsep { yesorno }?,
+ attribute valign { "top" | "middle" | "bottom" }?,
+ secur
+ entrytbl = element entrytbl { entrytbl.attlist, tbl.entrytbl.mdl }
+ entrytbl.attlist &=
+ attribute cols { text },
+ tbl.tgroup.att,
+ attribute colname { text }?,
+ attribute spanname { text }?,
+ attribute namest { text }?,
+ attribute nameend { text }?,
+ attribute colsep { yesorno }?,
+ attribute rowsep { yesorno }?,
+ attribute align { "left" | "right" | "center" | "justify" | "char" }?,
+ attribute char { text }?,
+ attribute charoff { text }?,
+ secur
+ entry = element entry { entry.attlist, tbl.entry.mdl* }
+ entry.attlist &=
+ attribute colname { text }?,
+ attribute namest { text }?,
+ attribute nameend { text }?,
+ attribute spanname { text }?,
+ attribute morerows { text }?,
+ attribute colsep { yesorno }?,
+ attribute rowsep { yesorno }?,
+ attribute align { "left" | "right" | "center" | "justify" | "char" }?,
+ attribute char { text }?,
+ attribute charoff { text }?,
+ attribute rotate { yesorno }?,
+ attribute valign { "top" | "middle" | "bottom" }?,
+ secur
+ caution |= notAllowed
+ graphic |= notAllowed
+ legend |= notAllowed
+ note |= notAllowed
+ para |= notAllowed
+ title |= notAllowed
+ warning |= notAllowed
+
+ # End of DocBook CALS Table Model V4.2 .................................
+
+ # ......................................................................
--- /dev/null
-# $Id: dbhier.rnc,v 1.1 2003/08/30 04:19:27 jjc Exp $
+ # ......................................................................
+
+ # DocBook document hierarchy module V4.2 ...............................
+
+ # File dbhierx.mod .....................................................
+
+ # Copyright 1992-2002 HaL Computer Systems, Inc.,
+ # O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ # Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ # Organization for the Advancement of Structured Information
+ # Standards (OASIS).
+ #
++# $Id: dbhier.rnc,v 1.1 2007/11/23 06:57:44 hexmode Exp $
+ #
+ # Permission to use, copy, modify and distribute the DocBook DTD
+ # and its accompanying documentation for any purpose and without fee
+ # is hereby granted in perpetuity, provided that the above copyright
+ # notice and this paragraph appear in all copies. The copyright
+ # holders make no representation about the suitability of the DTD for
+ # any purpose. It is provided "as is" without expressed or implied
+ # warranty.
+ #
+ # If you modify the DocBook DTD in any way, except for declaring and
+ # referencing additional sets of general entities and declaring
+ # additional notations, label your DTD as a variant of DocBook. See
+ # the maintenance documentation for more information.
+ #
+ # Please direct all questions, bug reports, or suggestions for
+ # changes to the docbook@lists.oasis-open.org mailing list. For more
+ # information, see http://www.oasis-open.org/docbook/.
+
+ # ......................................................................
+
+ # This module contains the definitions for the overall document
+ # hierarchies of DocBook documents. It covers computer documentation
+ # manuals and manual fragments, as well as reference entries (such as
+ # man pages) and technical journals or anthologies containing
+ # articles.
+ #
+ # This module depends on the DocBook information pool module. All
+ # elements and entities referenced but not defined here are assumed
+ # to be defined in the information pool module.
+ #
+ # In DTD driver files referring to this module, please use an entity
+ # declaration that uses the public identifier shown below:
+ #
+ # <!ENTITY % dbhier PUBLIC
+ # "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN"
+ # "dbhierx.mod">
+ # %dbhier;
+ #
+ # See the documentation for detailed information on the parameter
+ # entity and module scheme used in DocBook, customizing DocBook and
+ # planning for interchange, and changes made since the last release
+ # of DocBook.
+
+ # ......................................................................
+
+ # Entities for module inclusions .......................................
+
+ # ......................................................................
+
+ # Entities for element classes .........................................
+
+ local.appendix.class = notAllowed
+ appendix.class = appendix | local.appendix.class
+ local.article.class = notAllowed
+ article.class = article | local.article.class
+ local.book.class = notAllowed
+ book.class = book | local.book.class
+ local.chapter.class = notAllowed
+ chapter.class = chapter | local.chapter.class
+ local.index.class = notAllowed
+ index.class = index | setindex | local.index.class
+ local.refentry.class = notAllowed
+ refentry.class = refentry | local.refentry.class
+ local.section.class = notAllowed
+ section.class = section | local.section.class
+ local.nav.class = notAllowed
+ nav.class =
+ toc | lot | index | glossary | bibliography | local.nav.class
+ # Redeclaration placeholder ............................................
+
+ # For redeclaring entities that are declared after this point while
+ # retaining their references to the entities that are declared before
+ # this point
+
+ # ......................................................................
+
+ # Entities for element mixtures ........................................
+
+ # The DocBook TC may produce an official forms module for DocBook.
+
+ # This PE provides the hook by which it can be inserted into the DTD.
+ forms.hook = notAllowed
+ local.divcomponent.mix = notAllowed
+ divcomponent.mix =
+ list.class
+ | admon.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | formal.class
+ | compound.class
+ | genobj.class
+ | descobj.class
+ | ndxterm.class
+ | beginpage
+ | forms.hook
+ | local.divcomponent.mix
+ local.refcomponent.mix = notAllowed
+ refcomponent.mix =
+ list.class
+ | admon.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | formal.class
+ | compound.class
+ | genobj.class
+ | descobj.class
+ | ndxterm.class
+ | beginpage
+ | local.refcomponent.mix
+ local.indexdivcomponent.mix = notAllowed
+ indexdivcomponent.mix =
+ itemizedlist
+ | orderedlist
+ | variablelist
+ | simplelist
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | anchor
+ | remark
+ | link.char.class
+ | beginpage
+ | local.indexdivcomponent.mix
+ local.refname.char.mix = notAllowed
+ refname.char.mix = text | tech.char.class | local.refname.char.mix
+ local.partcontent.mix = notAllowed
+ partcontent.mix =
+ appendix.class
+ | chapter.class
+ | nav.class
+ | article.class
+ | preface
+ | refentry.class
+ | reference
+ | local.partcontent.mix
+ local.refinline.char.mix = notAllowed
+ refinline.char.mix =
+ text
+ | xref.char.class
+ | gen.char.class
+ | link.char.class
+ | tech.char.class
+ | base.char.class
+ | docinfo.char.class
+ | other.char.class
+ | ndxterm.class
+ | beginpage
+ | local.refinline.char.mix
+ local.refclass.char.mix = notAllowed
+ refclass.char.mix = text | application | local.refclass.char.mix
+ # Redeclaration placeholder 2 ..........................................
+
+ # For redeclaring entities that are declared after this point while
+ # retaining their references to the entities that are declared before
+ # this point
+
+ # ......................................................................
+
+ # Entities for content models ..........................................
+ div.title.content = title, subtitle?, titleabbrev?
+ bookcomponent.title.content = title, subtitle?, titleabbrev?
+ sect.title.content = title, subtitle?, titleabbrev?
+ refsect.title.content = title, subtitle?, titleabbrev?
+ bookcomponent.content =
+ (divcomponent.mix+,
+ (sect1* | refentry.class* | simplesect* | section.class*))
+ | (sect1+ | refentry.class+ | simplesect+ | section.class+)
+ # ......................................................................
+
+ # Set and SetInfo ......................................................
+ local.set.attrib = empty
+ set.role.attrib = role.attrib
+ set =
+ element set {
+ set.attlist,
+ div.title.content?,
+ setinfo?,
+ toc?,
+ book.class+,
+ setindex?
+ }
+ # end of set.element
+
+ # FPI: SGML formal public identifier
+ set.attlist &=
+ attribute fpi { text }?,
+ status.attrib,
+ common.attrib,
+ set.role.attrib,
+ local.set.attrib
+ # end of set.attlist
+
+ # end of set.module
+ local.setinfo.attrib = empty
+ setinfo.role.attrib = role.attrib
+ setinfo = element setinfo { setinfo.attlist, info.class+ }
+ # end of setinfo.element
+
+ # Contents: IDs of the ToC, Books, and SetIndex that comprise
+ # the set, in the order of their appearance
+ setinfo.attlist &=
+ attribute contents { xsd:IDREFS }?,
+ common.attrib,
+ setinfo.role.attrib,
+ local.setinfo.attrib
+ # end of setinfo.attlist
+
+ # end of setinfo.module
+
+ # end of set.content.module
+
+ # ......................................................................
+
+ # Book and BookInfo ....................................................
+ local.book.attrib = empty
+ book.role.attrib = role.attrib
+ book =
+ element book {
+ book.attlist,
+ div.title.content?,
+ bookinfo?,
+ (dedication
+ | toc
+ | lot
+ | glossary
+ | bibliography
+ | preface
+ | chapter.class
+ | reference
+ | part
+ | article.class
+ | appendix.class
+ | index.class
+ | colophon)*
+ }
+ # end of book.element
+
+ # FPI: SGML formal public identifier
+ book.attlist &=
+ attribute fpi { text }?,
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ book.role.attrib,
+ local.book.attrib
+ # end of book.attlist
+
+ # end of book.module
+ local.bookinfo.attrib = empty
+ bookinfo.role.attrib = role.attrib
+ bookinfo = element bookinfo { bookinfo.attlist, info.class+ }
+ # end of bookinfo.element
+
+ # Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters,
+ # Appendixes, References, GLossary, Bibliography, and indexes
+ # comprising the Book, in the order of their appearance
+ bookinfo.attlist &=
+ attribute contents { xsd:IDREFS }?,
+ common.attrib,
+ bookinfo.role.attrib,
+ local.bookinfo.attrib
+ # end of bookinfo.attlist
+
+ # end of bookinfo.module
+
+ # end of book.content.module
+
+ # ......................................................................
+
+ # Dedication, ToC, and LoT .............................................
+ local.dedication.attrib = empty
+ dedication.role.attrib = role.attrib
+ dedication =
+ element dedication {
+ dedication.attlist, sect.title.content?, legalnotice.mix+
+ }
+ # end of dedication.element
+ dedication.attlist &=
+ status.attrib,
+ common.attrib,
+ dedication.role.attrib,
+ local.dedication.attrib
+ # end of dedication.attlist
+
+ # end of dedication.module
+ local.colophon.attrib = empty
+ colophon.role.attrib = role.attrib
+ colophon =
+ element colophon {
+ colophon.attlist, sect.title.content?, textobject.mix+
+ }
+ # end of colophon.element
+ colophon.attlist &=
+ status.attrib,
+ common.attrib,
+ colophon.role.attrib,
+ local.colophon.attrib
+ # end of colophon.attlist
+
+ # end of colophon.module
+ local.toc.attrib = empty
+ toc.role.attrib = role.attrib
+ toc =
+ element toc {
+ toc.attlist,
+ beginpage?,
+ bookcomponent.title.content?,
+ tocfront*,
+ (tocpart | tocchap)*,
+ tocback*
+ }
+ # end of toc.element
+ toc.attlist &=
+ pagenum.attrib, common.attrib, toc.role.attrib, local.toc.attrib
+ # end of toc.attlist
+
+ # end of toc.module
+ local.tocfront.attrib = empty
+ tocfront.role.attrib = role.attrib
+ tocfront = element tocfront { tocfront.attlist, para.char.mix* }
+ # end of tocfront.element
+
+ # to element that this entry represents
+ tocfront.attlist &=
+ label.attrib,
+ linkend.attrib,
+ pagenum.attrib,
+ common.attrib,
+ tocfront.role.attrib,
+ local.tocfront.attrib
+ # end of tocfront.attlist
+
+ # end of tocfront.module
+ local.tocentry.attrib = empty
+ tocentry.role.attrib = role.attrib
+ tocentry = element tocentry { tocentry.attlist, para.char.mix* }
+ # end of tocentry.element
+
+ # to element that this entry represents
+ tocentry.attlist &=
+ linkend.attrib,
+ pagenum.attrib,
+ common.attrib,
+ tocentry.role.attrib,
+ local.tocentry.attrib
+ # end of tocentry.attlist
+
+ # end of tocentry.module
+ local.tocpart.attrib = empty
+ tocpart.role.attrib = role.attrib
+ tocpart = element tocpart { tocpart.attlist, tocentry+, tocchap* }
+ # end of tocpart.element
+ tocpart.attlist &=
+ common.attrib, tocpart.role.attrib, local.tocpart.attrib
+ # end of tocpart.attlist
+
+ # end of tocpart.module
+ local.tocchap.attrib = empty
+ tocchap.role.attrib = role.attrib
+ tocchap = element tocchap { tocchap.attlist, tocentry+, toclevel1* }
+ # end of tocchap.element
+ tocchap.attlist &=
+ label.attrib, common.attrib, tocchap.role.attrib, local.tocchap.attrib
+ # end of tocchap.attlist
+
+ # end of tocchap.module
+ local.toclevel1.attrib = empty
+ toclevel1.role.attrib = role.attrib
+ toclevel1 =
+ element toclevel1 { toclevel1.attlist, tocentry+, toclevel2* }
+ # end of toclevel1.element
+ toclevel1.attlist &=
+ common.attrib, toclevel1.role.attrib, local.toclevel1.attrib
+ # end of toclevel1.attlist
+
+ # end of toclevel1.module
+ local.toclevel2.attrib = empty
+ toclevel2.role.attrib = role.attrib
+ toclevel2 =
+ element toclevel2 { toclevel2.attlist, tocentry+, toclevel3* }
+ # end of toclevel2.element
+ toclevel2.attlist &=
+ common.attrib, toclevel2.role.attrib, local.toclevel2.attrib
+ # end of toclevel2.attlist
+
+ # end of toclevel2.module
+ local.toclevel3.attrib = empty
+ toclevel3.role.attrib = role.attrib
+ toclevel3 =
+ element toclevel3 { toclevel3.attlist, tocentry+, toclevel4* }
+ # end of toclevel3.element
+ toclevel3.attlist &=
+ common.attrib, toclevel3.role.attrib, local.toclevel3.attrib
+ # end of toclevel3.attlist
+
+ # end of toclevel3.module
+ local.toclevel4.attrib = empty
+ toclevel4.role.attrib = role.attrib
+ toclevel4 =
+ element toclevel4 { toclevel4.attlist, tocentry+, toclevel5* }
+ # end of toclevel4.element
+ toclevel4.attlist &=
+ common.attrib, toclevel4.role.attrib, local.toclevel4.attrib
+ # end of toclevel4.attlist
+
+ # end of toclevel4.module
+ local.toclevel5.attrib = empty
+ toclevel5.role.attrib = role.attrib
+ toclevel5 = element toclevel5 { toclevel5.attlist, tocentry+ }
+ # end of toclevel5.element
+ toclevel5.attlist &=
+ common.attrib, toclevel5.role.attrib, local.toclevel5.attrib
+ # end of toclevel5.attlist
+
+ # end of toclevel5.module
+ local.tocback.attrib = empty
+ tocback.role.attrib = role.attrib
+ tocback = element tocback { tocback.attlist, para.char.mix* }
+ # end of tocback.element
+
+ # to element that this entry represents
+ tocback.attlist &=
+ label.attrib,
+ linkend.attrib,
+ pagenum.attrib,
+ common.attrib,
+ tocback.role.attrib,
+ local.tocback.attrib
+ # end of tocback.attlist
+
+ # end of tocback.module
+
+ # end of toc.content.module
+ local.lot.attrib = empty
+ lot.role.attrib = role.attrib
+ lot =
+ element lot {
+ lot.attlist, beginpage?, bookcomponent.title.content?, lotentry*
+ }
+ # end of lot.element
+ lot.attlist &=
+ label.attrib, common.attrib, lot.role.attrib, local.lot.attrib
+ # end of lot.attlist
+
+ # end of lot.module
+ local.lotentry.attrib = empty
+ lotentry.role.attrib = role.attrib
+ lotentry = element lotentry { lotentry.attlist, para.char.mix* }
+ # end of lotentry.element
+
+ # SrcCredit: Information about the source of the entry,
+ # as for a list of illustrations
+
+ # linkend: to element that this entry represents
+ lotentry.attlist &=
+ linkend.attrib,
+ pagenum.attrib,
+ attribute srccredit { text }?,
+ common.attrib,
+ lotentry.role.attrib,
+ local.lotentry.attrib
+ # end of lotentry.attlist
+
+ # end of lotentry.module
+
+ # end of lot.content.module
+
+ # ......................................................................
+
+ # Appendix, Chapter, Part, Preface, Reference, PartIntro ...............
+ local.appendix.attrib = empty
+ appendix.role.attrib = role.attrib
+ appendix =
+ element appendix {
+ appendix.attlist,
+ beginpage?,
+ appendixinfo?,
+ bookcomponent.title.content,
+ nav.class*,
+ tocchap?,
+ bookcomponent.content,
+ nav.class*
+ }
+ # end of appendix.element
+ appendix.attlist &=
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ appendix.role.attrib,
+ local.appendix.attrib
+ # end of appendix.attlist
+
+ # end of appendix.module
+ local.chapter.attrib = empty
+ chapter.role.attrib = role.attrib
+ chapter =
+ element chapter {
+ chapter.attlist,
+ beginpage?,
+ chapterinfo?,
+ bookcomponent.title.content,
+ nav.class*,
+ tocchap?,
+ bookcomponent.content,
+ nav.class*
+ }
+ # end of chapter.element
+ chapter.attlist &=
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ chapter.role.attrib,
+ local.chapter.attrib
+ # end of chapter.attlist
+
+ # end of chapter.module
+
+ # Note that Part was to have its content model reduced in V4.2. This
+ # change will not be made after all.
+ local.part.attrib = empty
+ part.role.attrib = role.attrib
+ part =
+ element part {
+ part.attlist,
+ beginpage?,
+ partinfo?,
+ bookcomponent.title.content,
+ partintro?,
+ partcontent.mix+
+ }
+ # end of part.element
+ part.attlist &=
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ part.role.attrib,
+ local.part.attrib
+ # end of part.attlist
+
+ # ELEMENT PartIntro (defined below)
+
+ # end of part.module
+ local.preface.attrib = empty
+ preface.role.attrib = role.attrib
+ preface =
+ element preface {
+ preface.attlist,
+ beginpage?,
+ prefaceinfo?,
+ bookcomponent.title.content,
+ nav.class*,
+ tocchap?,
+ bookcomponent.content,
+ nav.class*
+ }
+ # end of preface.element
+ preface.attlist &=
+ status.attrib,
+ common.attrib,
+ preface.role.attrib,
+ local.preface.attrib
+ # end of preface.attlist
+
+ # end of preface.module
+ local.reference.attrib = empty
+ reference.role.attrib = role.attrib
+ reference =
+ element reference {
+ reference.attlist,
+ beginpage?,
+ referenceinfo?,
+ bookcomponent.title.content,
+ partintro?,
+ refentry.class+
+ }
+ # end of reference.element
+ reference.attlist &=
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ reference.role.attrib,
+ local.reference.attrib
+ # end of reference.attlist
+
+ # ELEMENT PartIntro (defined below)
+
+ # end of reference.module
+ local.partintro.attrib = empty
+ partintro.role.attrib = role.attrib
+ partintro =
+ element partintro {
+ partintro.attlist, div.title.content?, bookcomponent.content
+ }
+ # end of partintro.element
+ partintro.attlist &=
+ label.attrib,
+ common.attrib,
+ partintro.role.attrib,
+ local.partintro.attrib
+ # end of partintro.attlist
+
+ # end of partintro.module
+
+ # ......................................................................
+
+ # Other Info elements ..................................................
+ local.appendixinfo.attrib = empty
+ appendixinfo.role.attrib = role.attrib
+ appendixinfo =
+ element appendixinfo { appendixinfo.attlist, info.class+ }
+ # end of appendixinfo.element
+ appendixinfo.attlist &=
+ common.attrib, appendixinfo.role.attrib, local.appendixinfo.attrib
+ # end of appendixinfo.attlist
+
+ # end of appendixinfo.module
+ local.bibliographyinfo.attrib = empty
+ bibliographyinfo.role.attrib = role.attrib
+ bibliographyinfo =
+ element bibliographyinfo { bibliographyinfo.attlist, info.class+ }
+ # end of bibliographyinfo.element
+ bibliographyinfo.attlist &=
+ common.attrib,
+ bibliographyinfo.role.attrib,
+ local.bibliographyinfo.attrib
+ # end of bibliographyinfo.attlist
+
+ # end of bibliographyinfo.module
+ local.chapterinfo.attrib = empty
+ chapterinfo.role.attrib = role.attrib
+ chapterinfo = element chapterinfo { chapterinfo.attlist, info.class+ }
+ # end of chapterinfo.element
+ chapterinfo.attlist &=
+ common.attrib, chapterinfo.role.attrib, local.chapterinfo.attrib
+ # end of chapterinfo.attlist
+
+ # end of chapterinfo.module
+ local.glossaryinfo.attrib = empty
+ glossaryinfo.role.attrib = role.attrib
+ glossaryinfo =
+ element glossaryinfo { glossaryinfo.attlist, info.class+ }
+ # end of glossaryinfo.element
+ glossaryinfo.attlist &=
+ common.attrib, glossaryinfo.role.attrib, local.glossaryinfo.attrib
+ # end of glossaryinfo.attlist
+
+ # end of glossaryinfo.module
+ local.indexinfo.attrib = empty
+ indexinfo.role.attrib = role.attrib
+ indexinfo = element indexinfo { indexinfo.attlist, info.class+ }
+ # end of indexinfo.element
+ indexinfo.attlist &=
+ common.attrib, indexinfo.role.attrib, local.indexinfo.attrib
+ # end of indexinfo.attlist
+
+ # end of indexinfo.module
+ local.setindexinfo.attrib = empty
+ setindexinfo.role.attrib = role.attrib
+ setindexinfo =
+ element setindexinfo { setindexinfo.attlist, info.class+ }
+ # end of setindexinfo.element
+ setindexinfo.attlist &=
+ common.attrib, setindexinfo.role.attrib, local.setindexinfo.attrib
+ # end of setindexinfo.attlist
+
+ # end of setindexinfo.module
+ local.partinfo.attrib = empty
+ partinfo.role.attrib = role.attrib
+ partinfo = element partinfo { partinfo.attlist, info.class+ }
+ # end of partinfo.element
+ partinfo.attlist &=
+ common.attrib, partinfo.role.attrib, local.partinfo.attrib
+ # end of partinfo.attlist
+
+ # end of partinfo.module
+ local.prefaceinfo.attrib = empty
+ prefaceinfo.role.attrib = role.attrib
+ prefaceinfo = element prefaceinfo { prefaceinfo.attlist, info.class+ }
+ # end of prefaceinfo.element
+ prefaceinfo.attlist &=
+ common.attrib, prefaceinfo.role.attrib, local.prefaceinfo.attrib
+ # end of prefaceinfo.attlist
+
+ # end of prefaceinfo.module
+ local.refentryinfo.attrib = empty
+ refentryinfo.role.attrib = role.attrib
+ refentryinfo =
+ element refentryinfo { refentryinfo.attlist, info.class+ }
+ # end of refentryinfo.element
+ refentryinfo.attlist &=
+ common.attrib, refentryinfo.role.attrib, local.refentryinfo.attrib
+ # end of refentryinfo.attlist
+
+ # end of refentryinfo.module
+ local.refsectioninfo.attrib = empty
+ refsectioninfo.role.attrib = role.attrib
+ refsectioninfo =
+ element refsectioninfo { refsectioninfo.attlist, info.class+ }
+ # end of refsectioninfo.element
+ refsectioninfo.attlist &=
+ common.attrib, refsectioninfo.role.attrib, local.refsectioninfo.attrib
+ # end of refsectioninfo.attlist
+
+ # end of refsectioninfo.module
+ local.refsect1info.attrib = empty
+ refsect1info.role.attrib = role.attrib
+ refsect1info =
+ element refsect1info { refsect1info.attlist, info.class+ }
+ # end of refsect1info.element
+ refsect1info.attlist &=
+ common.attrib, refsect1info.role.attrib, local.refsect1info.attrib
+ # end of refsect1info.attlist
+
+ # end of refsect1info.module
+ local.refsect2info.attrib = empty
+ refsect2info.role.attrib = role.attrib
+ refsect2info =
+ element refsect2info { refsect2info.attlist, info.class+ }
+ # end of refsect2info.element
+ refsect2info.attlist &=
+ common.attrib, refsect2info.role.attrib, local.refsect2info.attrib
+ # end of refsect2info.attlist
+
+ # end of refsect2info.module
+ local.refsect3info.attrib = empty
+ refsect3info.role.attrib = role.attrib
+ refsect3info =
+ element refsect3info { refsect3info.attlist, info.class+ }
+ # end of refsect3info.element
+ refsect3info.attlist &=
+ common.attrib, refsect3info.role.attrib, local.refsect3info.attrib
+ # end of refsect3info.attlist
+
+ # end of refsect3info.module
+ local.refsynopsisdivinfo.attrib = empty
+ refsynopsisdivinfo.role.attrib = role.attrib
+ refsynopsisdivinfo =
+ element refsynopsisdivinfo { refsynopsisdivinfo.attlist, info.class+ }
+ # end of refsynopsisdivinfo.element
+ refsynopsisdivinfo.attlist &=
+ common.attrib,
+ refsynopsisdivinfo.role.attrib,
+ local.refsynopsisdivinfo.attrib
+ # end of refsynopsisdivinfo.attlist
+
+ # end of refsynopsisdivinfo.module
+ local.referenceinfo.attrib = empty
+ referenceinfo.role.attrib = role.attrib
+ referenceinfo =
+ element referenceinfo { referenceinfo.attlist, info.class+ }
+ # end of referenceinfo.element
+ referenceinfo.attlist &=
+ common.attrib, referenceinfo.role.attrib, local.referenceinfo.attrib
+ # end of referenceinfo.attlist
+
+ # end of referenceinfo.module
+ local.sect1info.attrib = empty
+ sect1info.role.attrib = role.attrib
+ sect1info = element sect1info { sect1info.attlist, info.class+ }
+ # end of sect1info.element
+ sect1info.attlist &=
+ common.attrib, sect1info.role.attrib, local.sect1info.attrib
+ # end of sect1info.attlist
+ local.sect2info.attrib = empty
+ sect2info.role.attrib = role.attrib
+ sect2info = element sect2info { sect2info.attlist, info.class+ }
+ # end of sect2info.element
+ sect2info.attlist &=
+ common.attrib, sect2info.role.attrib, local.sect2info.attrib
+ # end of sect2info.attlist
+ local.sect3info.attrib = empty
+ sect3info.role.attrib = role.attrib
+ sect3info = element sect3info { sect3info.attlist, info.class+ }
+ # end of sect3info.element
+ sect3info.attlist &=
+ common.attrib, sect3info.role.attrib, local.sect3info.attrib
+ # end of sect3info.attlist
+ local.sect4info.attrib = empty
+ sect4info.role.attrib = role.attrib
+ sect4info = element sect4info { sect4info.attlist, info.class+ }
+ # end of sect4info.element
+ sect4info.attlist &=
+ common.attrib, sect4info.role.attrib, local.sect4info.attrib
+ # end of sect4info.attlist
+ local.sect5info.attrib = empty
+ sect5info.role.attrib = role.attrib
+ sect5info = element sect5info { sect5info.attlist, info.class+ }
+ # end of sect5info.element
+ sect5info.attlist &=
+ common.attrib, sect5info.role.attrib, local.sect5info.attrib
+ # end of sect5info.attlist
+
+ # ......................................................................
+
+ # Section (parallel to Sect*) .........................................
+ local.section.attrib = empty
+ section.role.attrib = role.attrib
+ section =
+ element section {
+ section.attlist,
+ sectioninfo?,
+ sect.title.content,
+ nav.class*,
+ ((divcomponent.mix+,
+ (refentry.class* | section.class* | simplesect*))
+ | refentry.class+
+ | section.class+
+ | simplesect+),
+ nav.class*
+ }
+ # end of section.element
+ section.attlist &=
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ section.role.attrib,
+ local.section.attrib
+ # end of section.attlist
+
+ # end of section.module
+ sectioninfo.role.attrib = role.attrib
+ local.sectioninfo.attrib = empty
+ sectioninfo = element sectioninfo { sectioninfo.attlist, info.class+ }
+ # end of sectioninfo.element
+ sectioninfo.attlist &=
+ common.attrib, sectioninfo.role.attrib, local.sectioninfo.attrib
+ # end of sectioninfo.attlist
+
+ # end of sectioninfo.module
+
+ # end of section.content.module
+
+ # ......................................................................
+
+ # Sect1, Sect2, Sect3, Sect4, Sect5 ....................................
+ local.sect1.attrib = empty
+ sect1.role.attrib = role.attrib
+ sect1 =
+ element sect1 {
+ sect1.attlist,
+ sect1info?,
+ sect.title.content,
+ nav.class*,
+ ((divcomponent.mix+, (refentry.class* | sect2* | simplesect*))
+ | refentry.class+
+ | sect2+
+ | simplesect+),
+ nav.class*
+ }
+ # end of sect1.element
+
+ # Renderas: Indicates the format in which the heading should
+ # appear
+ sect1.attlist &=
+ attribute renderas { "sect2" | "sect3" | "sect4" | "sect5" }?,
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ sect1.role.attrib,
+ local.sect1.attrib
+ # end of sect1.attlist
+
+ # end of sect1.module
+ local.sect2.attrib = empty
+ sect2.role.attrib = role.attrib
+ sect2 =
+ element sect2 {
+ sect2.attlist,
+ sect2info?,
+ sect.title.content,
+ nav.class*,
+ ((divcomponent.mix+, (refentry.class* | sect3* | simplesect*))
+ | refentry.class+
+ | sect3+
+ | simplesect+),
+ nav.class*
+ }
+ # end of sect2.element
+
+ # Renderas: Indicates the format in which the heading should
+ # appear
+ sect2.attlist &=
+ attribute renderas { "sect1" | "sect3" | "sect4" | "sect5" }?,
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ sect2.role.attrib,
+ local.sect2.attrib
+ # end of sect2.attlist
+
+ # end of sect2.module
+ local.sect3.attrib = empty
+ sect3.role.attrib = role.attrib
+ sect3 =
+ element sect3 {
+ sect3.attlist,
+ sect3info?,
+ sect.title.content,
+ nav.class*,
+ ((divcomponent.mix+, (refentry.class* | sect4* | simplesect*))
+ | refentry.class+
+ | sect4+
+ | simplesect+),
+ nav.class*
+ }
+ # end of sect3.element
+
+ # Renderas: Indicates the format in which the heading should
+ # appear
+ sect3.attlist &=
+ attribute renderas { "sect1" | "sect2" | "sect4" | "sect5" }?,
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ sect3.role.attrib,
+ local.sect3.attrib
+ # end of sect3.attlist
+
+ # end of sect3.module
+ local.sect4.attrib = empty
+ sect4.role.attrib = role.attrib
+ sect4 =
+ element sect4 {
+ sect4.attlist,
+ sect4info?,
+ sect.title.content,
+ nav.class*,
+ ((divcomponent.mix+, (refentry.class* | sect5* | simplesect*))
+ | refentry.class+
+ | sect5+
+ | simplesect+),
+ nav.class*
+ }
+ # end of sect4.element
+
+ # Renderas: Indicates the format in which the heading should
+ # appear
+ sect4.attlist &=
+ attribute renderas { "sect1" | "sect2" | "sect3" | "sect5" }?,
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ sect4.role.attrib,
+ local.sect4.attrib
+ # end of sect4.attlist
+
+ # end of sect4.module
+ local.sect5.attrib = empty
+ sect5.role.attrib = role.attrib
+ sect5 =
+ element sect5 {
+ sect5.attlist,
+ sect5info?,
+ sect.title.content,
+ nav.class*,
+ ((divcomponent.mix+, (refentry.class* | simplesect*))
+ | refentry.class+
+ | simplesect+),
+ nav.class*
+ }
+ # end of sect5.element
+
+ # Renderas: Indicates the format in which the heading should
+ # appear
+ sect5.attlist &=
+ attribute renderas { "sect1" | "sect2" | "sect3" | "sect4" }?,
+ label.attrib,
+ status.attrib,
+ common.attrib,
+ sect5.role.attrib,
+ local.sect5.attrib
+ # end of sect5.attlist
+
+ # end of sect5.module
+ local.simplesect.attrib = empty
+ simplesect.role.attrib = role.attrib
+ simplesect =
+ element simplesect {
+ simplesect.attlist, sect.title.content, divcomponent.mix+
+ }
+ # end of simplesect.element
+ simplesect.attlist &=
+ common.attrib, simplesect.role.attrib, local.simplesect.attrib
+ # end of simplesect.attlist
+
+ # end of simplesect.module
+
+ # ......................................................................
+
+ # Bibliography .........................................................
+ local.bibliography.attrib = empty
+ bibliography.role.attrib = role.attrib
+ bibliography =
+ element bibliography {
+ bibliography.attlist,
+ bibliographyinfo?,
+ bookcomponent.title.content?,
+ component.mix*,
+ (bibliodiv+ | (biblioentry | bibliomixed)+)
+ }
+ # end of bibliography.element
+ bibliography.attlist &=
+ status.attrib,
+ common.attrib,
+ bibliography.role.attrib,
+ local.bibliography.attrib
+ # end of bibliography.attlist
+
+ # end of bibliography.module
+ local.bibliodiv.attrib = empty
+ bibliodiv.role.attrib = role.attrib
+ bibliodiv =
+ element bibliodiv {
+ bibliodiv.attlist,
+ sect.title.content?,
+ component.mix*,
+ (biblioentry | bibliomixed)+
+ }
+ # end of bibliodiv.element
+ bibliodiv.attlist &=
+ status.attrib,
+ common.attrib,
+ bibliodiv.role.attrib,
+ local.bibliodiv.attrib
+ # end of bibliodiv.attlist
+
+ # end of bibliodiv.module
+
+ # end of bibliography.content.module
+
+ # ......................................................................
+
+ # Glossary .............................................................
+ local.glossary.attrib = empty
+ glossary.role.attrib = role.attrib
+ glossary =
+ element glossary {
+ glossary.attlist,
+ glossaryinfo?,
+ bookcomponent.title.content?,
+ component.mix*,
+ (glossdiv+ | glossentry+),
+ bibliography?
+ }
+ # end of glossary.element
+ glossary.attlist &=
+ status.attrib,
+ common.attrib,
+ glossary.role.attrib,
+ local.glossary.attrib
+ # end of glossary.attlist
+
+ # end of glossary.module
+ local.glossdiv.attrib = empty
+ glossdiv.role.attrib = role.attrib
+ glossdiv =
+ element glossdiv {
+ glossdiv.attlist, sect.title.content, component.mix*, glossentry+
+ }
+ # end of glossdiv.element
+ glossdiv.attlist &=
+ status.attrib,
+ common.attrib,
+ glossdiv.role.attrib,
+ local.glossdiv.attrib
+ # end of glossdiv.attlist
+
+ # end of glossdiv.module
+
+ # end of glossary.content.module
+
+ # ......................................................................
+
+ # Index and SetIndex ...................................................
+ local.indexes.attrib = empty
+ indexes.role.attrib = role.attrib
+ index =
+ element index {
+ index.attlist,
+ indexinfo?,
+ bookcomponent.title.content?,
+ component.mix*,
+ (indexdiv* | indexentry*)
+ }
+ # end of index.element
+ index.attlist &=
+ common.attrib, indexes.role.attrib, local.indexes.attrib
+ # end of index.attlist
+ setindex =
+ element setindex {
+ setindex.attlist,
+ setindexinfo?,
+ bookcomponent.title.content?,
+ component.mix*,
+ (indexdiv* | indexentry*)
+ }
+ # end of setindex.element
+ setindex.attlist &=
+ common.attrib, indexes.role.attrib, local.indexes.attrib
+ # end of setindex.attlist
+
+ # end of indexes.module
+
+ # SegmentedList in this content is useful for marking up permuted
+ # indices.
+ local.indexdiv.attrib = empty
+ indexdiv.role.attrib = role.attrib
+ indexdiv =
+ element indexdiv {
+ indexdiv.attlist,
+ sect.title.content?,
+ (indexdivcomponent.mix*, (indexentry+ | segmentedlist))
+ }
+ # end of indexdiv.element
+ indexdiv.attlist &=
+ common.attrib, indexdiv.role.attrib, local.indexdiv.attrib
+ # end of indexdiv.attlist
+
+ # end of indexdiv.module
+
+ # Index entries appear in the index, not the text.
+ local.indexentry.attrib = empty
+ indexentry.role.attrib = role.attrib
+ indexentry =
+ element indexentry {
+ indexentry.attlist,
+ primaryie,
+ (seeie | seealsoie)*,
+ (secondaryie, (seeie | seealsoie | tertiaryie)*)*
+ }
+ # end of indexentry.element
+ indexentry.attlist &=
+ common.attrib, indexentry.role.attrib, local.indexentry.attrib
+ # end of indexentry.attlist
+
+ # end of indexentry.module
+ local.primsecterie.attrib = empty
+ primsecterie.role.attrib = role.attrib
+ primaryie = element primaryie { primaryie.attlist, ndxterm.char.mix* }
+ # end of primaryie.element
+
+ # to IndexTerms that these entries represent
+ primaryie.attlist &=
+ linkends.attrib,
+ common.attrib,
+ primsecterie.role.attrib,
+ local.primsecterie.attrib
+ # end of primaryie.attlist
+ secondaryie =
+ element secondaryie { secondaryie.attlist, ndxterm.char.mix* }
+ # end of secondaryie.element
+
+ # to IndexTerms that these entries represent
+ secondaryie.attlist &=
+ linkends.attrib,
+ common.attrib,
+ primsecterie.role.attrib,
+ local.primsecterie.attrib
+ # end of secondaryie.attlist
+ tertiaryie =
+ element tertiaryie { tertiaryie.attlist, ndxterm.char.mix* }
+ # end of tertiaryie.element
+
+ # to IndexTerms that these entries represent
+ tertiaryie.attlist &=
+ linkends.attrib,
+ common.attrib,
+ primsecterie.role.attrib,
+ local.primsecterie.attrib
+ # end of tertiaryie.attlist
+
+ # end of primsecterie.module
+ local.seeie.attrib = empty
+ seeie.role.attrib = role.attrib
+ seeie = element seeie { seeie.attlist, ndxterm.char.mix* }
+ # end of seeie.element
+
+ # to IndexEntry to look up
+ seeie.attlist &=
+ linkend.attrib, common.attrib, seeie.role.attrib, local.seeie.attrib
+ # end of seeie.attlist
+
+ # end of seeie.module
+ local.seealsoie.attrib = empty
+ seealsoie.role.attrib = role.attrib
+ seealsoie = element seealsoie { seealsoie.attlist, ndxterm.char.mix* }
+ # end of seealsoie.element
+
+ # to related IndexEntries
+ seealsoie.attlist &=
+ linkends.attrib,
+ common.attrib,
+ seealsoie.role.attrib,
+ local.seealsoie.attrib
+ # end of seealsoie.attlist
+
+ # end of seealsoie.module
+
+ # end of index.content.module
+
+ # ......................................................................
+
+ # RefEntry .............................................................
+ local.refentry.attrib = empty
+ refentry.role.attrib = role.attrib
+ refentry =
+ element refentry {
+ refentry.attlist,
+ beginpage?,
+ ndxterm.class*,
+ refentryinfo?,
+ refmeta?,
+ (remark | link.char.class)*,
+ refnamediv,
+ refsynopsisdiv?,
+ (refsect1+ | refsection+)
+ }
+ # end of refentry.element
+ refentry.attlist &=
+ status.attrib,
+ common.attrib,
+ refentry.role.attrib,
+ local.refentry.attrib
+ # end of refentry.attlist
+
+ # end of refentry.module
+ local.refmeta.attrib = empty
+ refmeta.role.attrib = role.attrib
+ refmeta =
+ element refmeta {
+ refmeta.attlist,
+ ndxterm.class*,
+ refentrytitle,
+ manvolnum?,
+ refmiscinfo*,
+ ndxterm.class*
+ }
+ # end of refmeta.element
+ refmeta.attlist &=
+ common.attrib, refmeta.role.attrib, local.refmeta.attrib
+ # end of refmeta.attlist
+
+ # end of refmeta.module
+ local.refmiscinfo.attrib = empty
+ refmiscinfo.role.attrib = role.attrib
+ refmiscinfo =
+ element refmiscinfo { refmiscinfo.attlist, docinfo.char.mix* }
+ # end of refmiscinfo.element
+
+ # Class: Freely assignable parameter; no default
+ refmiscinfo.attlist &=
+ attribute class { text }?,
+ common.attrib,
+ refmiscinfo.role.attrib,
+ local.refmiscinfo.attrib
+ # end of refmiscinfo.attlist
+
+ # end of refmiscinfo.module
+ local.refnamediv.attrib = empty
+ refnamediv.role.attrib = role.attrib
+ refnamediv =
+ element refnamediv {
+ refnamediv.attlist,
+ refdescriptor?,
+ refname+,
+ refpurpose,
+ refclass*,
+ (remark | link.char.class)*
+ }
+ # end of refnamediv.element
+ refnamediv.attlist &=
+ common.attrib, refnamediv.role.attrib, local.refnamediv.attrib
+ # end of refnamediv.attlist
+
+ # end of refnamediv.module
+ local.refdescriptor.attrib = empty
+ refdescriptor.role.attrib = role.attrib
+ refdescriptor =
+ element refdescriptor { refdescriptor.attlist, refname.char.mix* }
+ # end of refdescriptor.element
+ refdescriptor.attlist &=
+ common.attrib, refdescriptor.role.attrib, local.refdescriptor.attrib
+ # end of refdescriptor.attlist
+
+ # end of refdescriptor.module
+ local.refname.attrib = empty
+ refname.role.attrib = role.attrib
+ refname = element refname { refname.attlist, refname.char.mix* }
+ # end of refname.element
+ refname.attlist &=
+ common.attrib, refname.role.attrib, local.refname.attrib
+ # end of refname.attlist
+
+ # end of refname.module
+ local.refpurpose.attrib = empty
+ refpurpose.role.attrib = role.attrib
+ refpurpose =
+ element refpurpose { refpurpose.attlist, refinline.char.mix* }
+ # end of refpurpose.element
+ refpurpose.attlist &=
+ common.attrib, refpurpose.role.attrib, local.refpurpose.attrib
+ # end of refpurpose.attlist
+
+ # end of refpurpose.module
+ local.refclass.attrib = empty
+ refclass.role.attrib = role.attrib
+ refclass = element refclass { refclass.attlist, refclass.char.mix* }
+ # end of refclass.element
+ refclass.attlist &=
+ common.attrib, refclass.role.attrib, local.refclass.attrib
+ # end of refclass.attlist
+
+ # end of refclass.module
+ local.refsynopsisdiv.attrib = empty
+ refsynopsisdiv.role.attrib = role.attrib
+ refsynopsisdiv =
+ element refsynopsisdiv {
+ refsynopsisdiv.attlist,
+ refsynopsisdivinfo?,
+ refsect.title.content?,
+ ((refcomponent.mix+, refsect2*) | refsect2+)
+ }
+ # end of refsynopsisdiv.element
+ refsynopsisdiv.attlist &=
+ common.attrib, refsynopsisdiv.role.attrib, local.refsynopsisdiv.attrib
+ # end of refsynopsisdiv.attlist
+
+ # end of refsynopsisdiv.module
+ local.refsection.attrib = empty
+ refsection.role.attrib = role.attrib
+ refsection =
+ element refsection {
+ refsection.attlist,
+ refsectioninfo?,
+ refsect.title.content,
+ ((refcomponent.mix+, refsection*) | refsection+)
+ }
+ # end of refsection.element
+ refsection.attlist &=
+ status.attrib,
+ common.attrib,
+ refsection.role.attrib,
+ local.refsection.attrib
+ # end of refsection.attlist
+
+ # end of refsection.module
+ local.refsect1.attrib = empty
+ refsect1.role.attrib = role.attrib
+ refsect1 =
+ element refsect1 {
+ refsect1.attlist,
+ refsect1info?,
+ refsect.title.content,
+ ((refcomponent.mix+, refsect2*) | refsect2+)
+ }
+ # end of refsect1.element
+ refsect1.attlist &=
+ status.attrib,
+ common.attrib,
+ refsect1.role.attrib,
+ local.refsect1.attrib
+ # end of refsect1.attlist
+
+ # end of refsect1.module
+ local.refsect2.attrib = empty
+ refsect2.role.attrib = role.attrib
+ refsect2 =
+ element refsect2 {
+ refsect2.attlist,
+ refsect2info?,
+ refsect.title.content,
+ ((refcomponent.mix+, refsect3*) | refsect3+)
+ }
+ # end of refsect2.element
+ refsect2.attlist &=
+ status.attrib,
+ common.attrib,
+ refsect2.role.attrib,
+ local.refsect2.attrib
+ # end of refsect2.attlist
+
+ # end of refsect2.module
+ local.refsect3.attrib = empty
+ refsect3.role.attrib = role.attrib
+ refsect3 =
+ element refsect3 {
+ refsect3.attlist,
+ refsect3info?,
+ refsect.title.content,
+ refcomponent.mix+
+ }
+ # end of refsect3.element
+ refsect3.attlist &=
+ status.attrib,
+ common.attrib,
+ refsect3.role.attrib,
+ local.refsect3.attrib
+ # end of refsect3.attlist
+
+ # end of refsect3.module
+
+ # end of refentry.content.module
+
+ # ......................................................................
+
+ # Article ..............................................................
+
+ # An Article is a chapter-level, stand-alone document that is often,
+ # but need not be, collected into a Book.
+ local.article.attrib = empty
+ article.role.attrib = role.attrib
+ article =
+ element article {
+ article.attlist,
+ div.title.content?,
+ articleinfo?,
+ tocchap?,
+ lot*,
+ bookcomponent.content,
+ (nav.class | appendix.class | ackno)*
+ }
+ # end of article.element
+
+ # Class: Indicates the type of a particular article;
+ # all articles have the same structure and general purpose.
+ # No default.
+
+ # ParentBook: ID of the enclosing Book
+ article.attlist &=
+ attribute class {
+ "journalarticle"
+ | "productsheet"
+ | "whitepaper"
+ | "techreport"
+ | "specification"
+ | "faq"
+ }?,
+ attribute parentbook { xsd:IDREF }?,
+ status.attrib,
+ common.attrib,
+ article.role.attrib,
+ local.article.attrib
+ # end of article.attlist
+
+ # end of article.module
+
+ # End of DocBook document hierarchy module V4.2 ........................
+
+ # ......................................................................
--- /dev/null
-# $Id: dbnotn.rnc,v 1.1 2003/08/30 04:19:27 jjc Exp $
+ # ......................................................................
+
+ # DocBook notations module V4.2 ........................................
+
+ # File dbnotnx.mod .....................................................
+
+ # Copyright 1992-2002 HaL Computer Systems, Inc.,
+ # O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ # Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ # Organization for the Advancement of Structured Information
+ # Standards (OASIS).
+ #
++# $Id: dbnotn.rnc,v 1.1 2007/11/23 06:57:44 hexmode Exp $
+ #
+ # Permission to use, copy, modify and distribute the DocBook DTD
+ # and its accompanying documentation for any purpose and without fee
+ # is hereby granted in perpetuity, provided that the above copyright
+ # notice and this paragraph appear in all copies. The copyright
+ # holders make no representation about the suitability of the DTD for
+ # any purpose. It is provided "as is" without expressed or implied
+ # warranty.
+ #
+ # If you modify the DocBook DTD in any way, except for declaring and
+ # referencing additional sets of general entities and declaring
+ # additional notations, label your DTD as a variant of DocBook. See
+ # the maintenance documentation for more information.
+ #
+ # Please direct all questions, bug reports, or suggestions for
+ # changes to the docbook@lists.oasis-open.org mailing list. For more
+ # information, see http://www.oasis-open.org/docbook/.
+
+ # ......................................................................
+
+ # This module contains the entity declarations for the standard ISO
+ # entity sets used by DocBook.
+ #
+ # In DTD driver files referring to this module, please use an entity
+ # declaration that uses the public identifier shown below:
+ #
+ # <!ENTITY % dbnotn PUBLIC
+ # "-//OASIS//ENTITIES DocBook Notations V4.2//EN"
+ # "dbnotnx.mod">
+ # %dbnotn;
+ #
+ # See the documentation for detailed information on the parameter
+ # entity and module scheme used in DocBook, customizing DocBook and
+ # planning for interchange, and changes made since the last release
+ # of DocBook.
+
+ local.notation.class = notAllowed
+ notation.class =
+ "BMP"
+ | "CGM-CHAR"
+ | "CGM-BINARY"
+ | "CGM-CLEAR"
+ | "DITROFF"
+ | "DVI"
+ | "EPS"
+ | "EQN"
+ | "FAX"
+ | "GIF"
+ | "GIF87a"
+ | "GIF89a"
+ | "JPG"
+ | "JPEG"
+ | "IGES"
+ | "PCX"
+ | "PIC"
+ | "PNG"
+ | "PS"
+ | "SGML"
+ | "TBL"
+ | "TEX"
+ | "TIFF"
+ | "WMF"
+ | "WPG"
+ | "SVG"
+ | "linespecific"
+ | local.notation.class
+ # WordPerfect Graphic format
+
+ # End of DocBook notations module V4.2 .................................
+
+ # ......................................................................
--- /dev/null
-# $Id: dbpool.rnc,v 1.4 2003/08/30 07:48:31 jjc Exp $
+ # This file was generated automatically by Trang. The table model
+ # dependent definitions have been moved into separate files.
+
+ # ......................................................................
+
+ # DocBook XML information pool module V4.2 .............................
+
+ # File dbpoolx.mod .....................................................
+
+ # Copyright 1992-2002 HaL Computer Systems, Inc.,
+ # O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ # Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ # Organization for the Advancement of Structured Information
+ # Standards (OASIS).
+ #
++# $Id: dbpool.rnc,v 1.1 2007/11/23 06:57:44 hexmode Exp $
+ #
+ # Permission to use, copy, modify and distribute the DocBook XML DTD
+ # and its accompanying documentation for any purpose and without fee
+ # is hereby granted in perpetuity, provided that the above copyright
+ # notice and this paragraph appear in all copies. The copyright
+ # holders make no representation about the suitability of the DTD for
+ # any purpose. It is provided "as is" without expressed or implied
+ # warranty.
+ #
+ # If you modify the DocBook XML DTD in any way, except for declaring and
+ # referencing additional sets of general entities and declaring
+ # additional notations, label your DTD as a variant of DocBook. See
+ # the maintenance documentation for more information.
+ #
+ # Please direct all questions, bug reports, or suggestions for
+ # changes to the docbook@lists.oasis-open.org mailing list. For more
+ # information, see http://www.oasis-open.org/docbook/.
+
+ # ......................................................................
+
+ # This module contains the definitions for the objects, inline
+ # elements, and so on that are available to be used as the main
+ # content of DocBook documents. Some elements are useful for general
+ # publishing, and others are useful specifically for computer
+ # documentation.
+ #
+ # This module has the following dependencies on other modules:
+ #
+ # o It assumes that a %notation.class; entity is defined by the
+ # driver file or other high-level module. This entity is
+ # referenced in the NOTATION attributes for the graphic-related and
+ # ModeSpec elements.
+ #
+ # o It assumes that an appropriately parameterized table module is
+ # available for use with the table-related elements.
+ #
+ # In DTD driver files referring to this module, please use an entity
+ # declaration that uses the public identifier shown below:
+ #
+ # <!ENTITY % dbpool PUBLIC
+ # "-//OASIS//ELEMENTS DocBook XML Information Pool V4.2//EN"
+ # "dbpoolx.mod">
+ # %dbpool;
+ #
+ # See the documentation for detailed information on the parameter
+ # entity and module scheme used in DocBook, customizing DocBook and
+ # planning for interchange, and changes made since the last release
+ # of DocBook.
+
+ # ......................................................................
+
+ # General-purpose semantics entities ...................................
+
+ namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+ yesorno.attvals = string
+ # ......................................................................
+
+ # Entities for module inclusions .......................................
+
+ # ......................................................................
+
+ # Entities for element classes and mixtures ............................
+
+ # "Ubiquitous" classes: ndxterm.class and beginpage
+ local.ndxterm.class = notAllowed
+ ndxterm.class = indexterm | local.ndxterm.class
+ # Object-level classes .................................................
+ local.list.class = notAllowed
+ list.class =
+ calloutlist
+ | glosslist
+ | itemizedlist
+ | orderedlist
+ | segmentedlist
+ | simplelist
+ | variablelist
+ | local.list.class
+ local.admon.class = notAllowed
+ admon.class =
+ caution | important | note | tip | warning | local.admon.class
+ local.linespecific.class = notAllowed
+ linespecific.class =
+ literallayout
+ | programlisting
+ | programlistingco
+ | screen
+ | screenco
+ | screenshot
+ | local.linespecific.class
+ local.method.synop.class = notAllowed
+ method.synop.class =
+ constructorsynopsis
+ | destructorsynopsis
+ | methodsynopsis
+ | local.method.synop.class
+ local.synop.class = notAllowed
+ synop.class =
+ synopsis
+ | cmdsynopsis
+ | funcsynopsis
+ | classsynopsis
+ | fieldsynopsis
+ | method.synop.class
+ | local.synop.class
+ local.para.class = notAllowed
+ para.class = formalpara | para | simpara | local.para.class
+ local.informal.class = notAllowed
+ informal.class =
+ address
+ | blockquote
+ | graphic
+ | graphicco
+ | mediaobject
+ | mediaobjectco
+ | informalequation
+ | informalexample
+ | informalfigure
+ | informaltable
+ | local.informal.class
+ local.formal.class = notAllowed
+ formal.class = equation | example | figure | table | local.formal.class
+ # The DocBook TC may produce an official EBNF module for DocBook.
+
+ # This PE provides the hook by which it can be inserted into the DTD.
+ ebnf.block.hook = notAllowed
+ local.compound.class = notAllowed
+ compound.class =
+ msgset
+ | procedure
+ | sidebar
+ | qandaset
+ | ebnf.block.hook
+ | local.compound.class
+ local.genobj.class = notAllowed
+ genobj.class =
+ anchor | bridgehead | remark | highlights | local.genobj.class
+ local.descobj.class = notAllowed
+ descobj.class = abstract | authorblurb | epigraph | local.descobj.class
+ # Character-level classes ..............................................
+ local.xref.char.class = notAllowed
+ xref.char.class = footnoteref | xref | local.xref.char.class
+ local.gen.char.class = notAllowed
+ gen.char.class =
+ abbrev
+ | acronym
+ | citation
+ | citerefentry
+ | citetitle
+ | emphasis
+ | firstterm
+ | foreignphrase
+ | glossterm
+ | footnote
+ | phrase
+ | quote
+ | trademark
+ | wordasword
+ | personname
+ | local.gen.char.class
+ local.link.char.class = notAllowed
+ link.char.class = link | olink | ulink | local.link.char.class
+ # The DocBook TC may produce an official EBNF module for DocBook.
+
+ # This PE provides the hook by which it can be inserted into the DTD.
+ ebnf.inline.hook = notAllowed
+ local.tech.char.class = notAllowed
+ tech.char.class =
+ action
+ | application
+ | classname
+ | methodname
+ | interfacename
+ | exceptionname
+ | ooclass
+ | oointerface
+ | ooexception
+ | command
+ | computeroutput
+ | database
+ | email
+ | envar
+ | errorcode
+ | errorname
+ | errortype
+ | errortext
+ | filename
+ | function
+ | guibutton
+ | guiicon
+ | guilabel
+ | guimenu
+ | guimenuitem
+ | guisubmenu
+ | hardware
+ | interface
+ | keycap
+ | keycode
+ | keycombo
+ | keysym
+ | literal
+ | constant
+ | markup
+ | medialabel
+ | menuchoice
+ | mousebutton
+ | option
+ | optional
+ | parameter
+ | prompt
+ | property
+ | replaceable
+ | returnvalue
+ | sgmltag
+ | structfield
+ | structname
+ | symbol
+ | systemitem
+ | \token
+ | type
+ | userinput
+ | varname
+ | ebnf.inline.hook
+ | local.tech.char.class
+ local.base.char.class = notAllowed
+ base.char.class = anchor | local.base.char.class
+ local.docinfo.char.class = notAllowed
+ docinfo.char.class =
+ author
+ | authorinitials
+ | corpauthor
+ | modespec
+ | othercredit
+ | productname
+ | productnumber
+ | revhistory
+ | local.docinfo.char.class
+ local.other.char.class = notAllowed
+ other.char.class =
+ remark | subscript | superscript | local.other.char.class
+ local.inlineobj.char.class = notAllowed
+ inlineobj.char.class =
+ inlinegraphic
+ | inlinemediaobject
+ | inlineequation
+ | local.inlineobj.char.class
+ # ......................................................................
+
+ # Entities for content models ..........................................
+ formalobject.title.content = title, titleabbrev?
+ # Redeclaration placeholder ............................................
+
+ # For redeclaring entities that are declared after this point while
+ # retaining their references to the entities that are declared before
+ # this point
+
+ # Object-level mixtures ................................................
+
+ # list admn line synp para infm form cmpd gen desc
+ # Component mixture X X X X X X X X X X
+ # Sidebar mixture X X X X X X X a X
+ # Footnote mixture X X X X X
+ # Example mixture X X X X X
+ # Highlights mixture X X X
+ # Paragraph mixture X X X X
+ # Admonition mixture X X X X X X b c
+ # Figure mixture X X X
+ # Table entry mixture X X X X d
+ # Glossary def mixture X X X X X e
+ # Legal notice mixture X X X X f
+ #
+ # a. Just Procedure; not Sidebar itself or MsgSet.
+ # b. No MsgSet.
+ # c. No Highlights.
+ # d. Just Graphic; no other informal objects.
+ # e. No Anchor, BridgeHead, or Highlights.
+ # f. Just BlockQuote; no other informal objects.
+ local.component.mix = notAllowed
+ component.mix =
+ list.class
+ | admon.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | formal.class
+ | compound.class
+ | genobj.class
+ | descobj.class
+ | ndxterm.class
+ | beginpage
+ | local.component.mix
+ local.sidebar.mix = notAllowed
+ sidebar.mix =
+ list.class
+ | admon.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | formal.class
+ | procedure
+ | genobj.class
+ | ndxterm.class
+ | beginpage
+ | local.sidebar.mix
+ local.qandaset.mix = notAllowed
+ qandaset.mix =
+ list.class
+ | admon.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | formal.class
+ | procedure
+ | genobj.class
+ | ndxterm.class
+ | local.qandaset.mix
+ local.revdescription.mix = notAllowed
+ revdescription.mix =
+ list.class
+ | admon.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | formal.class
+ | procedure
+ | genobj.class
+ | ndxterm.class
+ | local.revdescription.mix
+ local.footnote.mix = notAllowed
+ footnote.mix =
+ list.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | local.footnote.mix
+ local.example.mix = notAllowed
+ example.mix =
+ list.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | ndxterm.class
+ | beginpage
+ | local.example.mix
+ local.highlights.mix = notAllowed
+ highlights.mix =
+ list.class
+ | admon.class
+ | para.class
+ | ndxterm.class
+ | local.highlights.mix
+ # %formal.class; is explicitly excluded from many contexts in which
+ # paragraphs are used
+ local.para.mix = notAllowed
+ para.mix =
+ list.class
+ | admon.class
+ | linespecific.class
+ | informal.class
+ | formal.class
+ | local.para.mix
+ local.admon.mix = notAllowed
+ admon.mix =
+ list.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | formal.class
+ | procedure
+ | sidebar
+ | anchor
+ | bridgehead
+ | remark
+ | ndxterm.class
+ | beginpage
+ | local.admon.mix
+ local.figure.mix = notAllowed
+ figure.mix =
+ linespecific.class
+ | synop.class
+ | informal.class
+ | ndxterm.class
+ | beginpage
+ | local.figure.mix
+ local.tabentry.mix = notAllowed
+ tabentry.mix =
+ list.class
+ | admon.class
+ | linespecific.class
+ | para.class
+ | graphic
+ | mediaobject
+ | local.tabentry.mix
+ local.glossdef.mix = notAllowed
+ glossdef.mix =
+ list.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | formal.class
+ | remark
+ | ndxterm.class
+ | beginpage
+ | local.glossdef.mix
+ local.legalnotice.mix = notAllowed
+ legalnotice.mix =
+ list.class
+ | admon.class
+ | linespecific.class
+ | para.class
+ | blockquote
+ | ndxterm.class
+ | beginpage
+ | local.legalnotice.mix
+ local.textobject.mix = notAllowed
+ textobject.mix =
+ list.class
+ | admon.class
+ | linespecific.class
+ | para.class
+ | blockquote
+ | local.textobject.mix
+ local.mediaobject.mix = notAllowed
+ mediaobject.mix =
+ videoobject
+ | audioobject
+ | imageobject
+ | textobject
+ | local.mediaobject.mix
+ local.listpreamble.mix = notAllowed
+ listpreamble.mix =
+ admon.class
+ | linespecific.class
+ | synop.class
+ | para.class
+ | informal.class
+ | genobj.class
+ | descobj.class
+ | ndxterm.class
+ | beginpage
+ | local.listpreamble.mix
+ # Character-level mixtures .............................................
+
+ # sgml.features
+
+ # not [sgml.features[
+
+ # ]] not sgml.features
+
+ # #PCD xref word link cptr base dnfo othr inob (synop)
+ # para.char.mix X X X X X X X X X
+ # title.char.mix X X X X X X X X X
+ # ndxterm.char.mix X X X X X X X X a
+ # cptr.char.mix X X X X X a
+ # smallcptr.char.mix X b a
+ # word.char.mix X c X X X a
+ # docinfo.char.mix X d X b X a
+ #
+ # a. Just InlineGraphic; no InlineEquation.
+ # b. Just Replaceable; no other computer terms.
+ # c. Just Emphasis and Trademark; no other word elements.
+ # d. Just Acronym, Emphasis, and Trademark; no other word elements.
+
+ # The DocBook TC may produce an official forms module for DocBook.
+
+ # This PE provides the hook by which it can be inserted into the DTD.
+ forminlines.hook = notAllowed
+ local.para.char.mix = notAllowed
+ para.char.mix =
+ text
+ | xref.char.class
+ | gen.char.class
+ | link.char.class
+ | tech.char.class
+ | base.char.class
+ | docinfo.char.class
+ | other.char.class
+ | inlineobj.char.class
+ | synop.class
+ | ndxterm.class
+ | beginpage
+ | forminlines.hook
+ | local.para.char.mix
+ local.title.char.mix = notAllowed
+ title.char.mix =
+ text
+ | xref.char.class
+ | gen.char.class
+ | link.char.class
+ | tech.char.class
+ | base.char.class
+ | docinfo.char.class
+ | other.char.class
+ | inlineobj.char.class
+ | ndxterm.class
+ | local.title.char.mix
+ local.ndxterm.char.mix = notAllowed
+ ndxterm.char.mix =
+ text
+ | xref.char.class
+ | gen.char.class
+ | link.char.class
+ | tech.char.class
+ | base.char.class
+ | docinfo.char.class
+ | other.char.class
+ | inlinegraphic
+ | inlinemediaobject
+ | local.ndxterm.char.mix
+ local.cptr.char.mix = notAllowed
+ cptr.char.mix =
+ text
+ | link.char.class
+ | tech.char.class
+ | base.char.class
+ | other.char.class
+ | inlinegraphic
+ | inlinemediaobject
+ | ndxterm.class
+ | beginpage
+ | local.cptr.char.mix
+ local.smallcptr.char.mix = notAllowed
+ smallcptr.char.mix =
+ text
+ | replaceable
+ | inlinegraphic
+ | inlinemediaobject
+ | ndxterm.class
+ | beginpage
+ | local.smallcptr.char.mix
+ local.word.char.mix = notAllowed
+ word.char.mix =
+ text
+ | acronym
+ | emphasis
+ | trademark
+ | link.char.class
+ | base.char.class
+ | other.char.class
+ | inlinegraphic
+ | inlinemediaobject
+ | ndxterm.class
+ | beginpage
+ | local.word.char.mix
+ local.docinfo.char.mix = notAllowed
+ docinfo.char.mix =
+ text
+ | link.char.class
+ | emphasis
+ | trademark
+ | replaceable
+ | other.char.class
+ | inlinegraphic
+ | inlinemediaobject
+ | ndxterm.class
+ | local.docinfo.char.mix
+ # ENTITY % bibliocomponent.mix (see Bibliographic section, below)
+
+ # ENTITY % person.ident.mix (see Bibliographic section, below)
+
+ # ......................................................................
+
+ # Entities for attributes and attribute components .....................
+
+ # Effectivity attributes ...............................................
+
+ # Arch: Computer or chip architecture to which element applies; no
+ # default
+ arch.attrib = attribute arch { text }?
+ # Condition: General-purpose effectivity attribute
+ condition.attrib = attribute condition { text }?
+ # Conformance: Standards conformance characteristics
+ conformance.attrib = attribute conformance { xsd:NMTOKENS }?
+ # OS: Operating system to which element applies; no default
+ os.attrib = attribute os { text }?
+ # Revision: Editorial revision to which element belongs; no default
+ revision.attrib = attribute revision { text }?
+ # Security: Security classification; no default
+ security.attrib = attribute security { text }?
+ # UserLevel: Level of user experience to which element applies; no
+ # default
+ userlevel.attrib = attribute userlevel { text }?
+ # Vendor: Computer vendor to which element applies; no default
+ vendor.attrib = attribute vendor { text }?
+ local.effectivity.attrib = empty
+ effectivity.attrib =
+ arch.attrib,
+ condition.attrib,
+ conformance.attrib,
+ os.attrib,
+ revision.attrib,
+ security.attrib,
+ userlevel.attrib,
+ vendor.attrib,
+ local.effectivity.attrib
+ # Common attributes ....................................................
+
+ # Id: Unique identifier of element; no default
+ id.attrib = attribute id { xsd:ID }?
+ # Id: Unique identifier of element; a value must be supplied; no
+ # default
+ idreq.attrib = attribute id { xsd:ID }
+ # Lang: Indicator of language in which element is written, for
+ # translation, character set management, etc.; no default
+ lang.attrib = attribute lang { text }?
+ # Remap: Previous role of element before conversion; no default
+ remap.attrib = attribute remap { text }?
+ # Role: New role of element in local environment; no default
+ role.attrib = attribute role { text }?
+ # XRefLabel: Alternate labeling string for XRef text generation;
+ # default is usually title or other appropriate label text already
+ # contained in element
+ xreflabel.attrib = attribute xreflabel { text }?
+ # RevisionFlag: Revision status of element; default is that element
+ # wasn't revised
+ revisionflag.attrib =
+ attribute revisionflag { "changed" | "added" | "deleted" | "off" }?
+ local.common.attrib = empty
+ # Role is included explicitly on each element
+ common.attrib =
+ id.attrib,
+ lang.attrib,
+ remap.attrib,
+ xreflabel.attrib,
+ revisionflag.attrib,
+ effectivity.attrib,
+ local.common.attrib
+ # Role is included explicitly on each element
+ idreq.common.attrib =
+ idreq.attrib,
+ lang.attrib,
+ remap.attrib,
+ xreflabel.attrib,
+ revisionflag.attrib,
+ effectivity.attrib,
+ local.common.attrib
+ # Semi-common attributes and other attribute entities ..................
+ local.graphics.attrib = empty
+ # EntityRef: Name of an external entity containing the content
+ # of the graphic
+
+ # FileRef: Filename, qualified by a pathname if desired,
+ # designating the file containing the content of the graphic
+
+ # Format: Notation of the element content, if any
+
+ # SrcCredit: Information about the source of the Graphic
+
+ # Width: Same as CALS reprowid (desired width)
+
+ # Depth: Same as CALS reprodep (desired depth)
+
+ # Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+ # application-specific
+
+ # Scale: Conflation of CALS hscale and vscale
+
+ # Scalefit: Same as CALS scalefit
+ graphics.attrib =
+ attribute entityref { xsd:ENTITY }?,
+ attribute fileref { text }?,
+ attribute format { notation.class }?,
+ attribute srccredit { text }?,
+ attribute width { text }?,
+ attribute contentwidth { text }?,
+ attribute depth { text }?,
+ attribute contentdepth { text }?,
+ attribute align { "left" | "right" | "center" }?,
+ attribute valign { "top" | "middle" | "bottom" }?,
+ attribute scale { text }?,
+ attribute scalefit { yesorno.attvals }?,
+ local.graphics.attrib
+ local.keyaction.attrib = empty
+ # Action: Key combination type; default is unspecified if one
+ # child element, Simul if there is more than one; if value is
+ # Other, the OtherAction attribute must have a nonempty value
+
+ # OtherAction: User-defined key combination type
+ keyaction.attrib =
+ attribute action {
+ "click" | "double-click" | "press" | "seq" | "simul" | "other"
+ }?,
+ attribute otheraction { text }?,
+ local.keyaction.attrib
+ # Label: Identifying number or string; default is usually the
+ # appropriate number or string autogenerated by a formatter
+ label.attrib = attribute label { text }?
+ # Format: whether element is assumed to contain significant white
+ # space
+ linespecific.attrib =
+ [ a:defaultValue = "linespecific" ]
+ attribute format { "linespecific" }?,
+ attribute linenumbering { "numbered" | "unnumbered" }?
+ # Linkend: link to related information; no default
+ linkend.attrib = attribute linkend { xsd:IDREF }?
+ # Linkend: required link to related information
+ linkendreq.attrib = attribute linkend { xsd:IDREF }
+ # Linkends: link to one or more sets of related information; no
+ # default
+ linkends.attrib = attribute linkends { xsd:IDREFS }?
+ local.mark.attrib = empty
+ mark.attrib =
+ attribute mark { text }?,
+ local.mark.attrib
+ # MoreInfo: whether element's content has an associated RefEntry
+ moreinfo.attrib =
+ [ a:defaultValue = "none" ]
+ attribute moreinfo { "refentry" | "none" }?
+ # Pagenum: number of page on which element appears; no default
+ pagenum.attrib = attribute pagenum { text }?
+ local.status.attrib = empty
+ # Status: Editorial or publication status of the element
+ # it applies to, such as "in review" or "approved for distribution"
+ status.attrib =
+ attribute status { text }?,
+ local.status.attrib
+ # Width: width of the longest line in the element to which it
+ # pertains, in number of characters
+ width.attrib = attribute width { text }?
+ # ......................................................................
+
+ # Title elements .......................................................
+ local.title.attrib = empty
+ title.role.attrib = role.attrib
+ title = element title { title.attlist, title.char.mix* }
+ # end of title.element
+ title.attlist &=
+ pagenum.attrib, common.attrib, title.role.attrib, local.title.attrib
+ # end of title.attlist
+
+ # end of title.module
+ local.titleabbrev.attrib = empty
+ titleabbrev.role.attrib = role.attrib
+ titleabbrev =
+ element titleabbrev { titleabbrev.attlist, title.char.mix* }
+ # end of titleabbrev.element
+ titleabbrev.attlist &=
+ common.attrib, titleabbrev.role.attrib, local.titleabbrev.attrib
+ # end of titleabbrev.attlist
+
+ # end of titleabbrev.module
+ local.subtitle.attrib = empty
+ subtitle.role.attrib = role.attrib
+ subtitle = element subtitle { subtitle.attlist, title.char.mix* }
+ # end of subtitle.element
+ subtitle.attlist &=
+ common.attrib, subtitle.role.attrib, local.subtitle.attrib
+ # end of subtitle.attlist
+
+ # end of subtitle.module
+
+ # ......................................................................
+
+ # Bibliographic entities and elements ..................................
+
+ # The bibliographic elements are typically used in the document
+ # hierarchy. They do not appear in content models of information
+ # pool elements. See also the document information elements,
+ # below.
+ local.person.ident.mix = notAllowed
+ person.ident.mix =
+ honorific
+ | firstname
+ | surname
+ | lineage
+ | othername
+ | affiliation
+ | authorblurb
+ | contrib
+ | local.person.ident.mix
+ local.bibliocomponent.mix = notAllowed
+ bibliocomponent.mix =
+ abbrev
+ | abstract
+ | address
+ | artpagenums
+ | author
+ | authorgroup
+ | authorinitials
+ | bibliomisc
+ | biblioset
+ | collab
+ | confgroup
+ | contractnum
+ | contractsponsor
+ | copyright
+ | corpauthor
+ | corpname
+ | date
+ | edition
+ | editor
+ | invpartnumber
+ | isbn
+ | issn
+ | issuenum
+ | orgname
+ | biblioid
+ | citebiblioid
+ | bibliosource
+ | bibliorelation
+ | bibliocoverage
+ | othercredit
+ | pagenums
+ | printhistory
+ | productname
+ | productnumber
+ | pubdate
+ | publisher
+ | publishername
+ | pubsnumber
+ | releaseinfo
+ | revhistory
+ | seriesvolnums
+ | subtitle
+ | title
+ | titleabbrev
+ | volumenum
+ | citetitle
+ | personname
+ | person.ident.mix
+ | ndxterm.class
+ | local.bibliocomponent.mix
+ # I don't think this is well placed, but it needs to be here because of
+
+ # the reference to bibliocomponent.mix
+ local.info.class = notAllowed
+ info.class =
+ graphic
+ | mediaobject
+ | legalnotice
+ | modespec
+ | subjectset
+ | keywordset
+ | itermset
+ | bibliocomponent.mix
+ | local.info.class
+ local.biblioentry.attrib = empty
+ biblioentry.role.attrib = role.attrib
+ biblioentry =
+ element biblioentry {
+ biblioentry.attlist, (articleinfo | bibliocomponent.mix)+
+ }
+ # end of biblioentry.element
+ biblioentry.attlist &=
+ common.attrib, biblioentry.role.attrib, local.biblioentry.attrib
+ # end of biblioentry.attlist
+
+ # end of biblioentry.module
+ local.bibliomixed.attrib = empty
+ bibliomixed.role.attrib = role.attrib
+ bibliomixed =
+ element bibliomixed {
+ bibliomixed.attlist, (text | bibliocomponent.mix | bibliomset)*
+ }
+ # end of bibliomixed.element
+ bibliomixed.attlist &=
+ common.attrib, bibliomixed.role.attrib, local.bibliomixed.attrib
+ # end of bibliomixed.attlist
+
+ # end of bibliomixed.module
+ local.articleinfo.attrib = empty
+ articleinfo.role.attrib = role.attrib
+ articleinfo = element articleinfo { articleinfo.attlist, info.class+ }
+ # end of articleinfo.element
+ articleinfo.attlist &=
+ common.attrib, articleinfo.role.attrib, local.articleinfo.attrib
+ # end of articleinfo.attlist
+
+ # end of articleinfo.module
+ local.biblioset.attrib = empty
+ biblioset.role.attrib = role.attrib
+ biblioset =
+ element biblioset { biblioset.attlist, bibliocomponent.mix+ }
+ # end of biblioset.element
+
+ # Relation: Relationship of elements contained within BiblioSet
+ biblioset.attlist &=
+ attribute relation { text }?,
+ common.attrib,
+ biblioset.role.attrib,
+ local.biblioset.attrib
+ # end of biblioset.attlist
+
+ # end of biblioset.module
+ bibliomset.role.attrib = role.attrib
+ local.bibliomset.attrib = empty
+ bibliomset =
+ element bibliomset {
+ bibliomset.attlist, (text | bibliocomponent.mix | bibliomset)*
+ }
+ # end of bibliomset.element
+
+ # Relation: Relationship of elements contained within BiblioMSet
+ bibliomset.attlist &=
+ attribute relation { text }?,
+ common.attrib,
+ bibliomset.role.attrib,
+ local.bibliomset.attrib
+ # end of bibliomset.attlist
+
+ # end of bibliomset.module
+ local.bibliomisc.attrib = empty
+ bibliomisc.role.attrib = role.attrib
+ bibliomisc = element bibliomisc { bibliomisc.attlist, para.char.mix* }
+ # end of bibliomisc.element
+ bibliomisc.attlist &=
+ common.attrib, bibliomisc.role.attrib, local.bibliomisc.attrib
+ # end of bibliomisc.attlist
+
+ # end of bibliomisc.module
+
+ # ......................................................................
+
+ # Subject, Keyword, and ITermSet elements ..............................
+ local.subjectset.attrib = empty
+ subjectset.role.attrib = role.attrib
+ subjectset = element subjectset { subjectset.attlist, subject+ }
+ # end of subjectset.element
+
+ # Scheme: Controlled vocabulary employed in SubjectTerms
+ subjectset.attlist &=
+ attribute scheme { xsd:NMTOKEN }?,
+ common.attrib,
+ subjectset.role.attrib,
+ local.subjectset.attrib
+ # end of subjectset.attlist
+
+ # end of subjectset.module
+ local.subject.attrib = empty
+ subject.role.attrib = role.attrib
+ subject = element subject { subject.attlist, subjectterm+ }
+ # end of subject.element
+
+ # Weight: Ranking of this group of SubjectTerms relative
+ # to others, 0 is low, no highest value specified
+ subject.attlist &=
+ attribute weight { text }?,
+ common.attrib,
+ subject.role.attrib,
+ local.subject.attrib
+ # end of subject.attlist
+
+ # end of subject.module
+ local.subjectterm.attrib = empty
+ subjectterm.role.attrib = role.attrib
+ subjectterm = element subjectterm { subjectterm.attlist, text }
+ # end of subjectterm.element
+ subjectterm.attlist &=
+ common.attrib, subjectterm.role.attrib, local.subjectterm.attrib
+ # end of subjectterm.attlist
+
+ # end of subjectterm.module
+
+ # end of subjectset.content.module
+ local.keywordset.attrib = empty
+ keywordset.role.attrib = role.attrib
+ keywordset = element keywordset { keywordset.attlist, keyword+ }
+ # end of keywordset.element
+ keywordset.attlist &=
+ common.attrib, keywordset.role.attrib, local.keywordset.attrib
+ # end of keywordset.attlist
+
+ # end of keywordset.module
+ local.keyword.attrib = empty
+ keyword.role.attrib = role.attrib
+ keyword = element keyword { keyword.attlist, text }
+ # end of keyword.element
+ keyword.attlist &=
+ common.attrib, keyword.role.attrib, local.keyword.attrib
+ # end of keyword.attlist
+
+ # end of keyword.module
+
+ # end of keywordset.content.module
+ local.itermset.attrib = empty
+ itermset.role.attrib = role.attrib
+ itermset = element itermset { itermset.attlist, indexterm+ }
+ # end of itermset.element
+ itermset.attlist &=
+ common.attrib, itermset.role.attrib, local.itermset.attrib
+ # end of itermset.attlist
+
+ # end of itermset.module
+
+ # Bibliographic info for "blocks"
+ local.blockinfo.attrib = empty
+ blockinfo.role.attrib = role.attrib
+ blockinfo = element blockinfo { blockinfo.attlist, info.class+ }
+ # end of blockinfo.element
+ blockinfo.attlist &=
+ common.attrib, blockinfo.role.attrib, local.blockinfo.attrib
+ # end of blockinfo.attlist
+
+ # end of blockinfo.module
+
+ # ......................................................................
+
+ # Compound (section-ish) elements ......................................
+
+ # Message set ......................
+ local.msgset.attrib = empty
+ msgset.role.attrib = role.attrib
+ msgset =
+ element msgset {
+ msgset.attlist,
+ blockinfo?,
+ formalobject.title.content?,
+ (msgentry+ | simplemsgentry+)
+ }
+ # end of msgset.element
+ msgset.attlist &= common.attrib, msgset.role.attrib, local.msgset.attrib
+ # end of msgset.attlist
+
+ # end of msgset.module
+ local.msgentry.attrib = empty
+ msgentry.role.attrib = role.attrib
+ msgentry =
+ element msgentry { msgentry.attlist, msg+, msginfo?, msgexplan* }
+ # end of msgentry.element
+ msgentry.attlist &=
+ common.attrib, msgentry.role.attrib, local.msgentry.attrib
+ # end of msgentry.attlist
+
+ # end of msgentry.module
+ local.simplemsgentry.attrib = empty
+ simplemsgentry.role.attrib = role.attrib
+ simplemsgentry =
+ element simplemsgentry { simplemsgentry.attlist, msgtext, msgexplan+ }
+ # end of simplemsgentry.element
+ simplemsgentry.attlist &=
+ attribute audience { text }?,
+ attribute level { text }?,
+ attribute origin { text }?,
+ common.attrib,
+ simplemsgentry.role.attrib,
+ local.simplemsgentry.attrib
+ # end of simplemsgentry.attlist
+
+ # end of simplemsgentry.module
+ local.msg.attrib = empty
+ msg.role.attrib = role.attrib
+ msg = element msg { msg.attlist, title?, msgmain, (msgsub | msgrel)* }
+ # end of msg.element
+ msg.attlist &= common.attrib, msg.role.attrib, local.msg.attrib
+ # end of msg.attlist
+
+ # end of msg.module
+ local.msgmain.attrib = empty
+ msgmain.role.attrib = role.attrib
+ msgmain = element msgmain { msgmain.attlist, title?, msgtext }
+ # end of msgmain.element
+ msgmain.attlist &=
+ common.attrib, msgmain.role.attrib, local.msgmain.attrib
+ # end of msgmain.attlist
+
+ # end of msgmain.module
+ local.msgsub.attrib = empty
+ msgsub.role.attrib = role.attrib
+ msgsub = element msgsub { msgsub.attlist, title?, msgtext }
+ # end of msgsub.element
+ msgsub.attlist &= common.attrib, msgsub.role.attrib, local.msgsub.attrib
+ # end of msgsub.attlist
+
+ # end of msgsub.module
+ local.msgrel.attrib = empty
+ msgrel.role.attrib = role.attrib
+ msgrel = element msgrel { msgrel.attlist, title?, msgtext }
+ # end of msgrel.element
+ msgrel.attlist &= common.attrib, msgrel.role.attrib, local.msgrel.attrib
+ # end of msgrel.attlist
+
+ # end of msgrel.module
+
+ # MsgText (defined in the Inlines section, below)
+ local.msginfo.attrib = empty
+ msginfo.role.attrib = role.attrib
+ msginfo =
+ element msginfo { msginfo.attlist, (msglevel | msgorig | msgaud)* }
+ # end of msginfo.element
+ msginfo.attlist &=
+ common.attrib, msginfo.role.attrib, local.msginfo.attrib
+ # end of msginfo.attlist
+
+ # end of msginfo.module
+ local.msglevel.attrib = empty
+ msglevel.role.attrib = role.attrib
+ msglevel = element msglevel { msglevel.attlist, smallcptr.char.mix* }
+ # end of msglevel.element
+ msglevel.attlist &=
+ common.attrib, msglevel.role.attrib, local.msglevel.attrib
+ # end of msglevel.attlist
+
+ # end of msglevel.module
+ local.msgorig.attrib = empty
+ msgorig.role.attrib = role.attrib
+ msgorig = element msgorig { msgorig.attlist, smallcptr.char.mix* }
+ # end of msgorig.element
+ msgorig.attlist &=
+ common.attrib, msgorig.role.attrib, local.msgorig.attrib
+ # end of msgorig.attlist
+
+ # end of msgorig.module
+ local.msgaud.attrib = empty
+ msgaud.role.attrib = role.attrib
+ msgaud = element msgaud { msgaud.attlist, para.char.mix* }
+ # end of msgaud.element
+ msgaud.attlist &= common.attrib, msgaud.role.attrib, local.msgaud.attrib
+ # end of msgaud.attlist
+
+ # end of msgaud.module
+ local.msgexplan.attrib = empty
+ msgexplan.role.attrib = role.attrib
+ msgexplan =
+ element msgexplan { msgexplan.attlist, title?, component.mix+ }
+ # end of msgexplan.element
+ msgexplan.attlist &=
+ common.attrib, msgexplan.role.attrib, local.msgexplan.attrib
+ # end of msgexplan.attlist
+
+ # end of msgexplan.module
+
+ # end of msgset.content.module
+
+ # QandASet ........................
+ local.qandaset.attrib = empty
+ qandaset.role.attrib = role.attrib
+ qandaset =
+ element qandaset {
+ qandaset.attlist,
+ blockinfo?,
+ formalobject.title.content?,
+ qandaset.mix*,
+ (qandadiv+ | qandaentry+)
+ }
+ # end of qandaset.element
+ qandaset.attlist &=
+ attribute defaultlabel { "qanda" | "number" | "none" }?,
+ common.attrib,
+ qandaset.role.attrib,
+ local.qandaset.attrib
+ # end of qandaset.attlist
+
+ # end of qandaset.module
+ local.qandadiv.attrib = empty
+ qandadiv.role.attrib = role.attrib
+ qandadiv =
+ element qandadiv {
+ qandadiv.attlist,
+ blockinfo?,
+ formalobject.title.content?,
+ qandaset.mix*,
+ (qandadiv+ | qandaentry+)
+ }
+ # end of qandadiv.element
+ qandadiv.attlist &=
+ common.attrib, qandadiv.role.attrib, local.qandadiv.attrib
+ # end of qandadiv.attlist
+
+ # end of qandadiv.module
+ local.qandaentry.attrib = empty
+ qandaentry.role.attrib = role.attrib
+ qandaentry =
+ element qandaentry {
+ qandaentry.attlist, blockinfo?, revhistory?, question, answer*
+ }
+ # end of qandaentry.element
+ qandaentry.attlist &=
+ common.attrib, qandaentry.role.attrib, local.qandaentry.attrib
+ # end of qandaentry.attlist
+
+ # end of qandaentry.module
+ local.question.attrib = empty
+ question.role.attrib = role.attrib
+ question = element question { question.attlist, label?, qandaset.mix+ }
+ # end of question.element
+ question.attlist &=
+ common.attrib, question.role.attrib, local.question.attrib
+ # end of question.attlist
+
+ # end of question.module
+ local.answer.attrib = empty
+ answer.role.attrib = role.attrib
+ answer =
+ element answer { answer.attlist, label?, qandaset.mix*, qandaentry* }
+ # end of answer.element
+ answer.attlist &= common.attrib, answer.role.attrib, local.answer.attrib
+ # end of answer.attlist
+
+ # end of answer.module
+ local.label.attrib = empty
+ label.role.attrib = role.attrib
+ label = element label { label.attlist, word.char.mix* }
+ # end of label.element
+ label.attlist &= common.attrib, label.role.attrib, local.label.attrib
+ # end of label.attlist
+
+ # end of label.module
+
+ # end of qandaset.content.module
+
+ # Procedure ........................
+ local.procedure.attrib = empty
+ procedure.role.attrib = role.attrib
+ procedure =
+ element procedure {
+ procedure.attlist,
+ blockinfo?,
+ formalobject.title.content?,
+ component.mix*,
+ step+
+ }
+ # end of procedure.element
+ procedure.attlist &=
+ common.attrib, procedure.role.attrib, local.procedure.attrib
+ # end of procedure.attlist
+
+ # end of procedure.module
+ local.step.attrib = empty
+ step.role.attrib = role.attrib
+ step =
+ element step {
+ step.attlist,
+ title?,
+ ((component.mix+, (substeps, component.mix*)?)
+ | (substeps, component.mix*))
+ }
+ # end of step.element
+
+ # Performance: Whether the Step must be performed
+
+ # not #REQUIRED!
+ step.attlist &=
+ [ a:defaultValue = "required" ]
+ attribute performance { "optional" | "required" }?,
+ common.attrib,
+ step.role.attrib,
+ local.step.attrib
+ # end of step.attlist
+
+ # end of step.module
+ local.substeps.attrib = empty
+ substeps.role.attrib = role.attrib
+ substeps = element substeps { substeps.attlist, step+ }
+ # end of substeps.element
+
+ # Performance: whether entire set of substeps must be performed
+
+ # not #REQUIRED!
+ substeps.attlist &=
+ [ a:defaultValue = "required" ]
+ attribute performance { "optional" | "required" }?,
+ common.attrib,
+ substeps.role.attrib,
+ local.substeps.attrib
+ # end of substeps.attlist
+
+ # end of substeps.module
+
+ # end of procedure.content.module
+
+ # Sidebar ..........................
+ local.sidebarinfo.attrib = empty
+ sidebarinfo.role.attrib = role.attrib
+ sidebarinfo = element sidebarinfo { sidebarinfo.attlist, info.class+ }
+ # end of sidebarinfo.element
+ sidebarinfo.attlist &=
+ common.attrib, sidebarinfo.role.attrib, local.sidebarinfo.attrib
+ # end of sidebarinfo.attlist
+
+ # end of sidebarinfo.module
+ local.sidebar.attrib = empty
+ sidebar.role.attrib = role.attrib
+ sidebar =
+ element sidebar {
+ sidebar.attlist,
+ sidebarinfo?,
+ formalobject.title.content?,
+ sidebar.mix+
+ }
+ # end of sidebar.element
+ sidebar.attlist &=
+ common.attrib, sidebar.role.attrib, local.sidebar.attrib
+ # end of sidebar.attlist
+
+ # end of sidebar.module
+
+ # end of sidebar.content.model
+
+ # ......................................................................
+
+ # Paragraph-related elements ...........................................
+ local.abstract.attrib = empty
+ abstract.role.attrib = role.attrib
+ abstract = element abstract { abstract.attlist, title?, para.class+ }
+ # end of abstract.element
+ abstract.attlist &=
+ common.attrib, abstract.role.attrib, local.abstract.attrib
+ # end of abstract.attlist
+
+ # end of abstract.module
+ local.authorblurb.attrib = empty
+ authorblurb.role.attrib = role.attrib
+ authorblurb =
+ element authorblurb { authorblurb.attlist, title?, para.class+ }
+ # end of authorblurb.element
+ authorblurb.attlist &=
+ common.attrib, authorblurb.role.attrib, local.authorblurb.attrib
+ # end of authorblurb.attlist
+
+ # end of authorblurb.module
+ local.personblurb.attrib = empty
+ personblurb.role.attrib = role.attrib
+ personblurb =
+ element personblurb { personblurb.attlist, title?, para.class+ }
+ # end of personblurb.element
+ personblurb.attlist &=
+ common.attrib, personblurb.role.attrib, local.personblurb.attrib
+ # end of personblurb.attlist
+
+ # end of personblurb.module
+ local.blockquote.attrib = empty
+ blockquote.role.attrib = role.attrib
+ blockquote =
+ element blockquote {
+ blockquote.attlist, title?, attribution?, component.mix+
+ }
+ # end of blockquote.element
+ blockquote.attlist &=
+ common.attrib, blockquote.role.attrib, local.blockquote.attrib
+ # end of blockquote.attlist
+
+ # end of blockquote.module
+ local.attribution.attrib = empty
+ attribution.role.attrib = role.attrib
+ attribution =
+ element attribution { attribution.attlist, para.char.mix* }
+ # end of attribution.element
+ attribution.attlist &=
+ common.attrib, attribution.role.attrib, local.attribution.attrib
+ # end of attribution.attlist
+
+ # end of attribution.module
+ local.bridgehead.attrib = empty
+ bridgehead.role.attrib = role.attrib
+ bridgehead = element bridgehead { bridgehead.attlist, title.char.mix* }
+ # end of bridgehead.element
+
+ # Renderas: Indicates the format in which the BridgeHead
+ # should appear
+ bridgehead.attlist &=
+ attribute renderas {
+ "other" | "sect1" | "sect2" | "sect3" | "sect4" | "sect5"
+ }?,
+ common.attrib,
+ bridgehead.role.attrib,
+ local.bridgehead.attrib
+ # end of bridgehead.attlist
+
+ # end of bridgehead.module
+ local.remark.attrib = empty
+ remark.role.attrib = role.attrib
+ remark = element remark { remark.attlist, para.char.mix* }
+ # end of remark.element
+ remark.attlist &= common.attrib, remark.role.attrib, local.remark.attrib
+ # end of remark.attlist
+
+ # end of remark.module
+ local.epigraph.attrib = empty
+ epigraph.role.attrib = role.attrib
+ epigraph =
+ element epigraph {
+ epigraph.attlist, attribution?, (para.class | literallayout)+
+ }
+ # end of epigraph.element
+ epigraph.attlist &=
+ common.attrib, epigraph.role.attrib, local.epigraph.attrib
+ # end of epigraph.attlist
+
+ # Attribution (defined above)
+
+ # end of epigraph.module
+ local.footnote.attrib = empty
+ footnote.role.attrib = role.attrib
+ footnote = element footnote { footnote.attlist, footnote.mix+ }
+ # end of footnote.element
+ footnote.attlist &=
+ label.attrib,
+ common.attrib,
+ footnote.role.attrib,
+ local.footnote.attrib
+ # end of footnote.attlist
+
+ # end of footnote.module
+ local.highlights.attrib = empty
+ highlights.role.attrib = role.attrib
+ highlights = element highlights { highlights.attlist, highlights.mix+ }
+ # end of highlights.element
+ highlights.attlist &=
+ common.attrib, highlights.role.attrib, local.highlights.attrib
+ # end of highlights.attlist
+
+ # end of highlights.module
+ local.formalpara.attrib = empty
+ formalpara.role.attrib = role.attrib
+ formalpara =
+ element formalpara { formalpara.attlist, title, ndxterm.class*, para }
+ # end of formalpara.element
+ formalpara.attlist &=
+ common.attrib, formalpara.role.attrib, local.formalpara.attrib
+ # end of formalpara.attlist
+
+ # end of formalpara.module
+ local.para.attrib = empty
+ para.role.attrib = role.attrib
+ para = element para { para.attlist, (para.char.mix | para.mix)* }
+ # end of para.element
+ para.attlist &= common.attrib, para.role.attrib, local.para.attrib
+ # end of para.attlist
+
+ # end of para.module
+ local.simpara.attrib = empty
+ simpara.role.attrib = role.attrib
+ simpara = element simpara { simpara.attlist, para.char.mix* }
+ # end of simpara.element
+ simpara.attlist &=
+ common.attrib, simpara.role.attrib, local.simpara.attrib
+ # end of simpara.attlist
+
+ # end of simpara.module
+ local.admon.attrib = empty
+ admon.role.attrib = role.attrib
+ caution = element caution { caution.attlist, title?, admon.mix+ }
+ # end of caution.element
+ caution.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
+ # end of caution.attlist
+ important = element important { important.attlist, title?, admon.mix+ }
+ # end of important.element
+ important.attlist &=
+ common.attrib, admon.role.attrib, local.admon.attrib
+ # end of important.attlist
+ note = element note { note.attlist, title?, admon.mix+ }
+ # end of note.element
+ note.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
+ # end of note.attlist
+ tip = element tip { tip.attlist, title?, admon.mix+ }
+ # end of tip.element
+ tip.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
+ # end of tip.attlist
+ warning = element warning { warning.attlist, title?, admon.mix+ }
+ # end of warning.element
+ warning.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
+ # end of warning.attlist
+
+ # end of admon.module
+
+ # ......................................................................
+
+ # Lists ................................................................
+
+ # GlossList ........................
+ local.glosslist.attrib = empty
+ glosslist.role.attrib = role.attrib
+ glosslist = element glosslist { glosslist.attlist, glossentry+ }
+ # end of glosslist.element
+ glosslist.attlist &=
+ common.attrib, glosslist.role.attrib, local.glosslist.attrib
+ # end of glosslist.attlist
+
+ # end of glosslist.module
+ local.glossentry.attrib = empty
+ glossentry.role.attrib = role.attrib
+ glossentry =
+ element glossentry {
+ glossentry.attlist,
+ glossterm,
+ acronym?,
+ abbrev?,
+ ndxterm.class*,
+ revhistory?,
+ (glosssee | glossdef+)
+ }
+ # end of glossentry.element
+
+ # SortAs: String by which the GlossEntry is to be sorted
+ # (alphabetized) in lieu of its proper content
+ glossentry.attlist &=
+ attribute sortas { text }?,
+ common.attrib,
+ glossentry.role.attrib,
+ local.glossentry.attrib
+ # end of glossentry.attlist
+
+ # end of glossentry.module
+
+ # GlossTerm (defined in the Inlines section, below)
+ local.glossdef.attrib = empty
+ glossdef.role.attrib = role.attrib
+ glossdef =
+ element glossdef { glossdef.attlist, glossdef.mix+, glossseealso* }
+ # end of glossdef.element
+
+ # Subject: List of subjects; keywords for the definition
+ glossdef.attlist &=
+ attribute subject { text }?,
+ common.attrib,
+ glossdef.role.attrib,
+ local.glossdef.attrib
+ # end of glossdef.attlist
+
+ # end of glossdef.module
+ local.glosssee.attrib = empty
+ glosssee.role.attrib = role.attrib
+ glosssee = element glosssee { glosssee.attlist, para.char.mix* }
+ # end of glosssee.element
+
+ # OtherTerm: Reference to the GlossEntry whose GlossTerm
+ # should be displayed at the point of the GlossSee
+ glosssee.attlist &=
+ attribute otherterm { xsd:IDREF }?,
+ common.attrib,
+ glosssee.role.attrib,
+ local.glosssee.attrib
+ # end of glosssee.attlist
+
+ # end of glosssee.module
+ local.glossseealso.attrib = empty
+ glossseealso.role.attrib = role.attrib
+ glossseealso =
+ element glossseealso { glossseealso.attlist, para.char.mix* }
+ # end of glossseealso.element
+
+ # OtherTerm: Reference to the GlossEntry whose GlossTerm
+ # should be displayed at the point of the GlossSeeAlso
+ glossseealso.attlist &=
+ attribute otherterm { xsd:IDREF }?,
+ common.attrib,
+ glossseealso.role.attrib,
+ local.glossseealso.attrib
+ # end of glossseealso.attlist
+
+ # end of glossseealso.module
+
+ # end of glossentry.content.module
+
+ # ItemizedList and OrderedList .....
+ local.itemizedlist.attrib = empty
+ itemizedlist.role.attrib = role.attrib
+ itemizedlist =
+ element itemizedlist {
+ itemizedlist.attlist,
+ blockinfo?,
+ formalobject.title.content?,
+ listpreamble.mix*,
+ listitem+
+ }
+ # end of itemizedlist.element
+
+ # Spacing: Whether the vertical space in the list should be
+ # compressed
+
+ # Mark: Keyword, e.g., bullet, dash, checkbox, none;
+ # list of keywords and defaults are implementation specific
+ itemizedlist.attlist &=
+ attribute spacing { "normal" | "compact" }?,
+ mark.attrib,
+ common.attrib,
+ itemizedlist.role.attrib,
+ local.itemizedlist.attrib
+ # end of itemizedlist.attlist
+
+ # end of itemizedlist.module
+ local.orderedlist.attrib = empty
+ orderedlist.role.attrib = role.attrib
+ orderedlist =
+ element orderedlist {
+ orderedlist.attlist,
+ blockinfo?,
+ formalobject.title.content?,
+ listpreamble.mix*,
+ listitem+
+ }
+ # end of orderedlist.element
+
+ # Numeration: Style of ListItem numbered; default is expected
+ # to be Arabic
+
+ # InheritNum: Specifies for a nested list that the numbering
+ # of ListItems should include the number of the item
+ # within which they are nested (e.g., 1a and 1b within 1,
+ # rather than a and b)
+
+ # Continuation: Where list numbering begins afresh (Restarts,
+ # the default) or continues that of the immediately preceding
+ # list (Continues)
+
+ # Spacing: Whether the vertical space in the list should be
+ # compressed
+ orderedlist.attlist &=
+ attribute numeration {
+ "arabic" | "upperalpha" | "loweralpha" | "upperroman" | "lowerroman"
+ }?,
+ [ a:defaultValue = "ignore" ]
+ attribute inheritnum { "inherit" | "ignore" }?,
+ [ a:defaultValue = "restarts" ]
+ attribute continuation { "continues" | "restarts" }?,
+ attribute spacing { "normal" | "compact" }?,
+ common.attrib,
+ orderedlist.role.attrib,
+ local.orderedlist.attrib
+ # end of orderedlist.attlist
+
+ # end of orderedlist.module
+ local.listitem.attrib = empty
+ listitem.role.attrib = role.attrib
+ listitem = element listitem { listitem.attlist, component.mix+ }
+ # end of listitem.element
+
+ # Override: Indicates the mark to be used for this ListItem
+ # instead of the default mark or the mark specified by
+ # the Mark attribute on the enclosing ItemizedList
+ listitem.attlist &=
+ attribute override { text }?,
+ common.attrib,
+ listitem.role.attrib,
+ local.listitem.attrib
+ # end of listitem.attlist
+
+ # end of listitem.module
+
+ # SegmentedList ....................
+ local.segmentedlist.attrib = empty
+ segmentedlist.role.attrib = role.attrib
+ segmentedlist =
+ element segmentedlist {
+ segmentedlist.attlist,
+ formalobject.title.content?,
+ segtitle+,
+ seglistitem+
+ }
+ # end of segmentedlist.element
+ segmentedlist.attlist &=
+ common.attrib, segmentedlist.role.attrib, local.segmentedlist.attrib
+ # end of segmentedlist.attlist
+
+ # end of segmentedlist.module
+ local.segtitle.attrib = empty
+ segtitle.role.attrib = role.attrib
+ segtitle = element segtitle { segtitle.attlist, title.char.mix* }
+ # end of segtitle.element
+ segtitle.attlist &=
+ common.attrib, segtitle.role.attrib, local.segtitle.attrib
+ # end of segtitle.attlist
+
+ # end of segtitle.module
+ local.seglistitem.attrib = empty
+ seglistitem.role.attrib = role.attrib
+ seglistitem = element seglistitem { seglistitem.attlist, seg+ }
+ # end of seglistitem.element
+ seglistitem.attlist &=
+ common.attrib, seglistitem.role.attrib, local.seglistitem.attrib
+ # end of seglistitem.attlist
+
+ # end of seglistitem.module
+ local.seg.attrib = empty
+ seg.role.attrib = role.attrib
+ seg = element seg { seg.attlist, para.char.mix* }
+ # end of seg.element
+ seg.attlist &= common.attrib, seg.role.attrib, local.seg.attrib
+ # end of seg.attlist
+
+ # end of seg.module
+
+ # end of segmentedlist.content.module
+
+ # SimpleList .......................
+ local.simplelist.attrib = empty
+ simplelist.role.attrib = role.attrib
+ simplelist = element simplelist { simplelist.attlist, member+ }
+ # end of simplelist.element
+
+ # Columns: The number of columns the array should contain
+
+ # Type: How the Members of the SimpleList should be
+ # formatted: Inline (members separated with commas etc.
+ # inline), Vert (top to bottom in n Columns), or Horiz (in
+ # the direction of text flow) in n Columns. If Column
+ # is 1 or implied, Type=Vert and Type=Horiz give the same
+ # results.
+ simplelist.attlist &=
+ attribute columns { text }?,
+ [ a:defaultValue = "vert" ]
+ attribute type { "inline" | "vert" | "horiz" }?,
+ common.attrib,
+ simplelist.role.attrib,
+ local.simplelist.attrib
+ # end of simplelist.attlist
+
+ # end of simplelist.module
+ local.member.attrib = empty
+ member.role.attrib = role.attrib
+ member = element member { member.attlist, para.char.mix* }
+ # end of member.element
+ member.attlist &= common.attrib, member.role.attrib, local.member.attrib
+ # end of member.attlist
+
+ # end of member.module
+
+ # end of simplelist.content.module
+
+ # VariableList .....................
+ local.variablelist.attrib = empty
+ variablelist.role.attrib = role.attrib
+ variablelist =
+ element variablelist {
+ variablelist.attlist,
+ blockinfo?,
+ formalobject.title.content?,
+ listpreamble.mix*,
+ varlistentry+
+ }
+ # end of variablelist.element
+
+ # TermLength: Length beyond which the presentation engine
+ # may consider the Term too long and select an alternate
+ # presentation of the Term and, or, its associated ListItem.
+ variablelist.attlist &=
+ attribute termlength { text }?,
+ common.attrib,
+ variablelist.role.attrib,
+ local.variablelist.attrib
+ # end of variablelist.attlist
+
+ # end of variablelist.module
+ local.varlistentry.attrib = empty
+ varlistentry.role.attrib = role.attrib
+ varlistentry =
+ element varlistentry { varlistentry.attlist, term+, listitem }
+ # end of varlistentry.element
+ varlistentry.attlist &=
+ common.attrib, varlistentry.role.attrib, local.varlistentry.attrib
+ # end of varlistentry.attlist
+
+ # end of varlistentry.module
+ local.term.attrib = empty
+ term.role.attrib = role.attrib
+ term = element term { term.attlist, para.char.mix* }
+ # end of term.element
+ term.attlist &= common.attrib, term.role.attrib, local.term.attrib
+ # end of term.attlist
+
+ # end of term.module
+
+ # ListItem (defined above)
+
+ # end of variablelist.content.module
+
+ # CalloutList ......................
+ local.calloutlist.attrib = empty
+ calloutlist.role.attrib = role.attrib
+ calloutlist =
+ element calloutlist {
+ calloutlist.attlist, formalobject.title.content?, callout+
+ }
+ # end of calloutlist.element
+ calloutlist.attlist &=
+ common.attrib, calloutlist.role.attrib, local.calloutlist.attrib
+ # end of calloutlist.attlist
+
+ # end of calloutlist.module
+ local.callout.attrib = empty
+ callout.role.attrib = role.attrib
+ callout = element callout { callout.attlist, component.mix+ }
+ # end of callout.element
+
+ # AreaRefs: IDs of one or more Areas or AreaSets described
+ # by this Callout
+ callout.attlist &=
+ attribute arearefs { xsd:IDREFS },
+ common.attrib,
+ callout.role.attrib,
+ local.callout.attrib
+ # end of callout.attlist
+
+ # end of callout.module
+
+ # end of calloutlist.content.module
+
+ # ......................................................................
+
+ # Objects ..............................................................
+
+ # Examples etc. ....................
+ local.example.attrib = empty
+ example.role.attrib = role.attrib
+ example =
+ element example {
+ example.attlist,
+ blockinfo?,
+ formalobject.title.content,
+ example.mix+
+ }
+ # end of example.element
+ example.attlist &=
+ label.attrib,
+ width.attrib,
+ common.attrib,
+ example.role.attrib,
+ local.example.attrib
+ # end of example.attlist
+
+ # end of example.module
+ local.informalexample.attrib = empty
+ informalexample.role.attrib = role.attrib
+ informalexample =
+ element informalexample {
+ informalexample.attlist, blockinfo?, example.mix+
+ }
+ # end of informalexample.element
+ informalexample.attlist &=
+ width.attrib,
+ common.attrib,
+ informalexample.role.attrib,
+ local.informalexample.attrib
+ # end of informalexample.attlist
+
+ # end of informalexample.module
+ local.programlistingco.attrib = empty
+ programlistingco.role.attrib = role.attrib
+ programlistingco =
+ element programlistingco {
+ programlistingco.attlist, areaspec, programlisting, calloutlist*
+ }
+ # end of programlistingco.element
+ programlistingco.attlist &=
+ common.attrib,
+ programlistingco.role.attrib,
+ local.programlistingco.attrib
+ # end of programlistingco.attlist
+
+ # CalloutList (defined above in Lists)
+
+ # end of informalexample.module
+ local.areaspec.attrib = empty
+ areaspec.role.attrib = role.attrib
+ areaspec = element areaspec { areaspec.attlist, (area | areaset)+ }
+ # end of areaspec.element
+
+ # Units: global unit of measure in which coordinates in
+ # this spec are expressed:
+ #
+ # - CALSPair "x1,y1 x2,y2": lower-left and upper-right
+ # coordinates in a rectangle describing repro area in which
+ # graphic is placed, where X and Y dimensions are each some
+ # number 0..10000 (taken from CALS graphic attributes)
+ #
+ # - LineColumn "line column": line number and column number
+ # at which to start callout text in "linespecific" content
+ #
+ # - LineRange "startline endline": whole lines from startline
+ # to endline in "linespecific" content
+ #
+ # - LineColumnPair "line1 col1 line2 col2": starting and ending
+ # points of area in "linespecific" content that starts at
+ # first position and ends at second position (including the
+ # beginnings of any intervening lines)
+ #
+ # - Other: directive to look at value of OtherUnits attribute
+ # to get implementation-specific keyword
+ #
+ # The default is implementation-specific; usually dependent on
+ # the parent element (GraphicCO gets CALSPair, ProgramListingCO
+ # and ScreenCO get LineColumn)
+
+ # OtherUnits: User-defined units
+ areaspec.attlist &=
+ attribute units {
+ "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
+ }?,
+ attribute otherunits { xsd:NMTOKEN }?,
+ common.attrib,
+ areaspec.role.attrib,
+ local.areaspec.attrib
+ # end of areaspec.attlist
+
+ # end of areaspec.module
+ local.area.attrib = empty
+ area.role.attrib = role.attrib
+ area = element area { area.attlist, empty }
+ # end of area.element
+
+ # bug number/symbol override or initialization
+
+ # to any related information
+
+ # Units: unit of measure in which coordinates in this
+ # area are expressed; inherits from AreaSet and AreaSpec
+
+ # OtherUnits: User-defined units
+ area.attlist &=
+ label.attrib,
+ linkends.attrib,
+ attribute units {
+ "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
+ }?,
+ attribute otherunits { xsd:NMTOKEN }?,
+ attribute coords { text },
+ idreq.common.attrib,
+ area.role.attrib,
+ local.area.attrib
+ # end of area.attlist
+
+ # end of area.module
+ local.areaset.attrib = empty
+ areaset.role.attrib = role.attrib
+ areaset = element areaset { areaset.attlist, area+ }
+ # end of areaset.element
+
+ # bug number/symbol override or initialization
+
+ # Units: unit of measure in which coordinates in this
+ # area are expressed; inherits from AreaSpec
+ areaset.attlist &=
+ label.attrib,
+ attribute units {
+ "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
+ }?,
+ attribute otherunits { xsd:NMTOKEN }?,
+ attribute coords { text },
+ idreq.common.attrib,
+ areaset.role.attrib,
+ local.areaset.attrib
+ # end of areaset.attlist
+
+ # end of areaset.module
+
+ # end of areaspec.content.module
+ local.programlisting.attrib = empty
+ programlisting.role.attrib = role.attrib
+ programlisting =
+ element programlisting {
+ programlisting.attlist,
+ (para.char.mix | co | coref | lineannotation | textobject)*
+ }
+ # end of programlisting.element
+ programlisting.attlist &=
+ width.attrib,
+ linespecific.attrib,
+ common.attrib,
+ programlisting.role.attrib,
+ local.programlisting.attrib
+ # end of programlisting.attlist
+
+ # end of programlisting.module
+ local.literallayout.attrib = empty
+ literallayout.role.attrib = role.attrib
+ literallayout =
+ element literallayout {
+ literallayout.attlist,
+ (para.char.mix | co | coref | textobject | lineannotation)*
+ }
+ # end of literallayout.element
+ literallayout.attlist &=
+ width.attrib,
+ linespecific.attrib,
+ [ a:defaultValue = "normal" ]
+ attribute class { "monospaced" | "normal" }?,
+ common.attrib,
+ literallayout.role.attrib,
+ local.literallayout.attrib
+ # end of literallayout.attlist
+
+ # LineAnnotation (defined in the Inlines section, below)
+
+ # end of literallayout.module
+ local.screenco.attrib = empty
+ screenco.role.attrib = role.attrib
+ screenco =
+ element screenco { screenco.attlist, areaspec, screen, calloutlist* }
+ # end of screenco.element
+ screenco.attlist &=
+ common.attrib, screenco.role.attrib, local.screenco.attrib
+ # end of screenco.attlist
+
+ # AreaSpec (defined above)
+
+ # CalloutList (defined above in Lists)
+
+ # end of screenco.module
+ local.screen.attrib = empty
+ screen.role.attrib = role.attrib
+ screen =
+ element screen {
+ screen.attlist,
+ (para.char.mix | co | coref | textobject | lineannotation)*
+ }
+ # end of screen.element
+ screen.attlist &=
+ width.attrib,
+ linespecific.attrib,
+ common.attrib,
+ screen.role.attrib,
+ local.screen.attrib
+ # end of screen.attlist
+
+ # end of screen.module
+ local.screenshot.attrib = empty
+ screenshot.role.attrib = role.attrib
+ screenshot =
+ element screenshot {
+ screenshot.attlist,
+ screeninfo?,
+ (graphic | graphicco | mediaobject | mediaobjectco)
+ }
+ # end of screenshot.element
+ screenshot.attlist &=
+ common.attrib, screenshot.role.attrib, local.screenshot.attrib
+ # end of screenshot.attlist
+
+ # end of screenshot.module
+ local.screeninfo.attrib = empty
+ screeninfo.role.attrib = role.attrib
+ screeninfo = element screeninfo { screeninfo.attlist, para.char.mix* }
+ # end of screeninfo.element
+ screeninfo.attlist &=
+ common.attrib, screeninfo.role.attrib, local.screeninfo.attrib
+ # end of screeninfo.attlist
+
+ # end of screeninfo.module
+
+ # end of screenshot.content.module
+
+ # Figures etc. .....................
+ local.figure.attrib = empty
+ figure.role.attrib = role.attrib
+ figure =
+ element figure {
+ figure.attlist,
+ blockinfo?,
+ formalobject.title.content,
+ (figure.mix | link.char.class)+
+ }
+ # end of figure.element
+
+ # Float: Whether the Figure is supposed to be rendered
+ # where convenient (yes (1) value) or at the place it occurs
+ # in the text (no (0) value, the default)
+ figure.attlist &=
+ [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?,
+ attribute pgwide { yesorno.attvals }?,
+ label.attrib,
+ common.attrib,
+ figure.role.attrib,
+ local.figure.attrib
+ # end of figure.attlist
+
+ # end of figure.module
+ local.informalfigure.attrib = empty
+ informalfigure.role.attrib = role.attrib
+ informalfigure =
+ element informalfigure {
+ informalfigure.attlist, blockinfo?, (figure.mix | link.char.class)+
+ }
+ # end of informalfigure.element
+
+ # Float: Whether the Figure is supposed to be rendered
+ # where convenient (yes (1) value) or at the place it occurs
+ # in the text (no (0) value, the default)
+ informalfigure.attlist &=
+ [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?,
+ attribute pgwide { yesorno.attvals }?,
+ label.attrib,
+ common.attrib,
+ informalfigure.role.attrib,
+ local.informalfigure.attrib
+ # end of informalfigure.attlist
+
+ # end of informalfigure.module
+ local.graphicco.attrib = empty
+ graphicco.role.attrib = role.attrib
+ graphicco =
+ element graphicco {
+ graphicco.attlist, areaspec, graphic, calloutlist*
+ }
+ # end of graphicco.element
+ graphicco.attlist &=
+ common.attrib, graphicco.role.attrib, local.graphicco.attrib
+ # end of graphicco.attlist
+
+ # AreaSpec (defined above in Examples)
+
+ # CalloutList (defined above in Lists)
+
+ # end of graphicco.module
+
+ # Graphical data can be the content of Graphic, or you can reference
+ # an external file either as an entity (Entitref) or a filename
+ # (Fileref).
+ local.graphic.attrib = empty
+ graphic.role.attrib = role.attrib
+ graphic = element graphic { graphic.attlist, empty }
+ # end of graphic.element
+ graphic.attlist &=
+ graphics.attrib,
+ common.attrib,
+ graphic.role.attrib,
+ local.graphic.attrib
+ # end of graphic.attlist
+
+ # end of graphic.module
+ local.inlinegraphic.attrib = empty
+ inlinegraphic.role.attrib = role.attrib
+ inlinegraphic = element inlinegraphic { inlinegraphic.attlist, empty }
+ # end of inlinegraphic.element
+ inlinegraphic.attlist &=
+ graphics.attrib,
+ common.attrib,
+ inlinegraphic.role.attrib,
+ local.inlinegraphic.attrib
+ # end of inlinegraphic.attlist
+
+ # end of inlinegraphic.module
+ local.mediaobject.attrib = empty
+ mediaobject.role.attrib = role.attrib
+ mediaobject =
+ element mediaobject {
+ mediaobject.attlist, objectinfo?, mediaobject.mix+, caption?
+ }
+ # end of mediaobject.element
+ mediaobject.attlist &=
+ common.attrib, mediaobject.role.attrib, local.mediaobject.attrib
+ # end of mediaobject.attlist
+
+ # end of mediaobject.module
+ local.inlinemediaobject.attrib = empty
+ inlinemediaobject.role.attrib = role.attrib
+ inlinemediaobject =
+ element inlinemediaobject {
+ inlinemediaobject.attlist, objectinfo?, mediaobject.mix+
+ }
+ # end of inlinemediaobject.element
+ inlinemediaobject.attlist &=
+ common.attrib,
+ inlinemediaobject.role.attrib,
+ local.inlinemediaobject.attrib
+ # end of inlinemediaobject.attlist
+
+ # end of inlinemediaobject.module
+ local.videoobject.attrib = empty
+ videoobject.role.attrib = role.attrib
+ videoobject =
+ element videoobject { videoobject.attlist, objectinfo?, videodata }
+ # end of videoobject.element
+ videoobject.attlist &=
+ common.attrib, videoobject.role.attrib, local.videoobject.attrib
+ # end of videoobject.attlist
+
+ # end of videoobject.module
+ local.audioobject.attrib = empty
+ audioobject.role.attrib = role.attrib
+ audioobject =
+ element audioobject { audioobject.attlist, objectinfo?, audiodata }
+ # end of audioobject.element
+ audioobject.attlist &=
+ common.attrib, audioobject.role.attrib, local.audioobject.attrib
+ # end of audioobject.attlist
+
+ # end of audioobject.module
+ local.imageobject.attrib = empty
+ imageobject.role.attrib = role.attrib
+ imageobject =
+ element imageobject { imageobject.attlist, objectinfo?, imagedata }
+ # end of imageobject.element
+ imageobject.attlist &=
+ common.attrib, imageobject.role.attrib, local.imageobject.attrib
+ # end of imageobject.attlist
+
+ # end of imageobject.module
+ local.textobject.attrib = empty
+ textobject.role.attrib = role.attrib
+ textobject =
+ element textobject {
+ textobject.attlist,
+ objectinfo?,
+ (phrase | textdata | textobject.mix+)
+ }
+ # end of textobject.element
+ textobject.attlist &=
+ common.attrib, textobject.role.attrib, local.textobject.attrib
+ # end of textobject.attlist
+
+ # end of textobject.module
+ local.objectinfo.attrib = empty
+ objectinfo.role.attrib = role.attrib
+ objectinfo = element objectinfo { objectinfo.attlist, info.class+ }
+ # end of objectinfo.element
+ objectinfo.attlist &=
+ common.attrib, objectinfo.role.attrib, local.objectinfo.attrib
+ # end of objectinfo.attlist
+
+ # end of objectinfo.module
+
+ # EntityRef: Name of an external entity containing the content
+ # of the object data
+
+ # FileRef: Filename, qualified by a pathname if desired,
+ # designating the file containing the content of the object data
+
+ # Format: Notation of the element content, if any
+
+ # SrcCredit: Information about the source of the image
+ local.objectdata.attrib = empty
+ objectdata.attrib =
+ attribute entityref { xsd:ENTITY }?,
+ attribute fileref { text }?,
+ attribute format { notation.class }?,
+ attribute srccredit { text }?,
+ local.objectdata.attrib
+ local.videodata.attrib = empty
+ videodata.role.attrib = role.attrib
+ videodata = element videodata { videodata.attlist, empty }
+ # end of videodata.element
+
+ # Width: Same as CALS reprowid (desired width)
+
+ # Depth: Same as CALS reprodep (desired depth)
+
+ # Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+ # application-specific
+
+ # Scale: Conflation of CALS hscale and vscale
+
+ # Scalefit: Same as CALS scalefit
+ videodata.attlist &=
+ attribute width { text }?,
+ attribute contentwidth { text }?,
+ attribute depth { text }?,
+ attribute contentdepth { text }?,
+ attribute align { "left" | "right" | "center" }?,
+ attribute valign { "top" | "middle" | "bottom" }?,
+ attribute scale { text }?,
+ attribute scalefit { yesorno.attvals }?,
+ objectdata.attrib,
+ common.attrib,
+ videodata.role.attrib,
+ local.videodata.attrib
+ # end of videodata.attlist
+
+ # end of videodata.module
+ local.audiodata.attrib = empty
+ audiodata.role.attrib = role.attrib
+ audiodata = element audiodata { audiodata.attlist, empty }
+ # end of audiodata.element
+ audiodata.attlist &=
+ objectdata.attrib,
+ common.attrib,
+ audiodata.role.attrib,
+ local.audiodata.attrib
+ # end of audiodata.attlist
+
+ # end of audiodata.module
+ local.imagedata.attrib = empty
+ imagedata.role.attrib = role.attrib
+ imagedata = element imagedata { imagedata.attlist, empty }
+ # end of imagedata.element
+
+ # Width: Same as CALS reprowid (desired width)
+
+ # Depth: Same as CALS reprodep (desired depth)
+
+ # Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+ # application-specific
+
+ # Scale: Conflation of CALS hscale and vscale
+
+ # Scalefit: Same as CALS scalefit
+ imagedata.attlist &=
+ attribute width { text }?,
+ attribute contentwidth { text }?,
+ attribute depth { text }?,
+ attribute contentdepth { text }?,
+ attribute align { "left" | "right" | "center" }?,
+ attribute valign { "top" | "middle" | "bottom" }?,
+ attribute scale { text }?,
+ attribute scalefit { yesorno.attvals }?,
+ objectdata.attrib,
+ common.attrib,
+ imagedata.role.attrib,
+ local.imagedata.attrib
+ # end of imagedata.attlist
+
+ # end of imagedata.module
+ local.textdata.attrib = empty
+ textdata.role.attrib = role.attrib
+ textdata = element textdata { textdata.attlist, empty }
+ # end of textdata.element
+ textdata.attlist &=
+ attribute encoding { text }?,
+ objectdata.attrib,
+ common.attrib,
+ textdata.role.attrib,
+ local.textdata.attrib
+ # end of textdata.attlist
+
+ # end of textdata.module
+ local.caption.attrib = empty
+ caption.role.attrib = role.attrib
+ caption = element caption { caption.attlist, textobject.mix* }
+ # end of caption.element
+ caption.attlist &=
+ common.attrib, caption.role.attrib, local.caption.attrib
+ # end of caption.attlist
+
+ # end of caption.module
+ local.mediaobjectco.attrib = empty
+ mediaobjectco.role.attrib = role.attrib
+ mediaobjectco =
+ element mediaobjectco {
+ mediaobjectco.attlist,
+ objectinfo?,
+ imageobjectco,
+ (imageobjectco | textobject)*
+ }
+ # end of mediaobjectco.element
+ mediaobjectco.attlist &=
+ common.attrib, mediaobjectco.role.attrib, local.mediaobjectco.attrib
+ # end of mediaobjectco.attlist
+
+ # end of mediaobjectco.module
+ local.imageobjectco.attrib = empty
+ imageobjectco.role.attrib = role.attrib
+ imageobjectco =
+ element imageobjectco {
+ imageobjectco.attlist, areaspec, imageobject, calloutlist*
+ }
+ # end of imageobjectco.element
+ imageobjectco.attlist &=
+ common.attrib, imageobjectco.role.attrib, local.imageobjectco.attrib
+ # end of imageobjectco.attlist
+
+ # end of imageobjectco.module
+
+ # end of mediaobject.content.module
+
+ # Equations ........................
+
+ # This PE provides a mechanism for replacing equation content,
+
+ # perhaps adding a new or different model (e.g., MathML)
+ equation.content = alt?, (graphic+ | mediaobject+)
+ inlineequation.content = alt?, (graphic+ | inlinemediaobject+)
+ local.equation.attrib = empty
+ equation.role.attrib = role.attrib
+ equation =
+ element equation {
+ equation.attlist,
+ blockinfo?,
+ formalobject.title.content?,
+ (informalequation | equation.content)
+ }
+ # end of equation.element
+ equation.attlist &=
+ label.attrib,
+ common.attrib,
+ equation.role.attrib,
+ local.equation.attrib
+ # end of equation.attlist
+
+ # end of equation.module
+ local.informalequation.attrib = empty
+ informalequation.role.attrib = role.attrib
+ informalequation =
+ element informalequation {
+ informalequation.attlist, blockinfo?, equation.content
+ }
+ # end of informalequation.element
+ informalequation.attlist &=
+ common.attrib,
+ informalequation.role.attrib,
+ local.informalequation.attrib
+ # end of informalequation.attlist
+
+ # end of informalequation.module
+ local.inlineequation.attrib = empty
+ inlineequation.role.attrib = role.attrib
+ inlineequation =
+ element inlineequation {
+ inlineequation.attlist, inlineequation.content
+ }
+ # end of inlineequation.element
+ inlineequation.attlist &=
+ common.attrib, inlineequation.role.attrib, local.inlineequation.attrib
+ # end of inlineequation.attlist
+
+ # end of inlineequation.module
+ local.alt.attrib = empty
+ alt.role.attrib = role.attrib
+ alt = element alt { alt.attlist, text }
+ # end of alt.element
+ alt.attlist &= common.attrib, alt.role.attrib, local.alt.attrib
+ # end of alt.attlist
+
+ # end of alt.module
+
+ # Tables ...........................
+
+ tables.role.attrib = role.attrib
+
+ # Note that InformalTable is dependent on some of the entity
+ # declarations that customize Table.
+ local.informaltable.attrib = empty
+ informaltable =
+ element informaltable {
+ informaltable.attlist,
+ blockinfo?,
+ textobject*,
+ (graphic+ | mediaobject+ | tgroup+)
+ }
+ # end of informaltable.element
+
+ # Frame, Colsep, and Rowsep must be repeated because
+ # they are not in entities in the table module.
+
+ # includes TabStyle, ToCentry, ShortEntry,
+ # Orient, PgWide
+
+ # includes Label
+
+ # includes common attributes
+ informaltable.attlist &=
+ attribute frame {
+ "top" | "bottom" | "topbot" | "all" | "sides" | "none"
+ }?,
+ attribute colsep { yesorno.attvals }?,
+ attribute rowsep { yesorno.attvals }?,
+ common.table.attribs,
+ tbl.table.att,
+ local.informaltable.attrib
+ # end of informaltable.attlist
+
+ # end of informaltable.module
+
+ # ......................................................................
+
+ # Synopses .............................................................
+
+ # Synopsis .........................
+ local.synopsis.attrib = empty
+ synopsis.role.attrib = role.attrib
+ synopsis =
+ element synopsis {
+ synopsis.attlist,
+ (para.char.mix
+ | graphic
+ | mediaobject
+ | co
+ | coref
+ | textobject
+ | lineannotation)*
+ }
+ # end of synopsis.element
+ synopsis.attlist &=
+ label.attrib,
+ linespecific.attrib,
+ common.attrib,
+ synopsis.role.attrib,
+ local.synopsis.attrib
+ # end of synopsis.attlist
+
+ # LineAnnotation (defined in the Inlines section, below)
+
+ # end of synopsis.module
+
+ # CmdSynopsis ......................
+ local.cmdsynopsis.attrib = empty
+ cmdsynopsis.role.attrib = role.attrib
+ cmdsynopsis =
+ element cmdsynopsis {
+ cmdsynopsis.attlist, (command | arg | group | sbr)+, synopfragment*
+ }
+ # end of cmdsynopsis.element
+
+ # Sepchar: Character that should separate command and all
+ # top-level arguments; alternate value might be e.g., Δ
+ cmdsynopsis.attlist &=
+ label.attrib,
+ [ a:defaultValue = " " ] attribute sepchar { text }?,
+ attribute cmdlength { text }?,
+ common.attrib,
+ cmdsynopsis.role.attrib,
+ local.cmdsynopsis.attrib
+ # end of cmdsynopsis.attlist
+
+ # end of cmdsynopsis.module
+ local.arg.attrib = empty
+ arg.role.attrib = role.attrib
+ arg =
+ element arg {
+ arg.attlist,
+ (text
+ | arg
+ | group
+ | option
+ | synopfragmentref
+ | replaceable
+ | sbr)*
+ }
+ # end of arg.element
+
+ # Choice: Whether Arg must be supplied: Opt (optional to
+ # supply, e.g. [arg]; the default), Req (required to supply,
+ # e.g. {arg}), or Plain (required to supply, e.g. arg)
+
+ # Rep: whether Arg is repeatable: Norepeat (e.g. arg without
+ # ellipsis; the default), or Repeat (e.g. arg...)
+ arg.attlist &=
+ [ a:defaultValue = "opt" ]
+ attribute choice { "opt" | "req" | "plain" }?,
+ [ a:defaultValue = "norepeat" ]
+ attribute rep { "norepeat" | "repeat" }?,
+ common.attrib,
+ arg.role.attrib,
+ local.arg.attrib
+ # end of arg.attlist
+
+ # end of arg.module
+ local.group.attrib = empty
+ group.role.attrib = role.attrib
+ group =
+ element group {
+ group.attlist,
+ (arg | group | option | synopfragmentref | replaceable | sbr)+
+ }
+ # end of group.element
+
+ # Choice: Whether Group must be supplied: Opt (optional to
+ # supply, e.g. [g1|g2|g3]; the default), Req (required to
+ # supply, e.g. {g1|g2|g3}), Plain (required to supply,
+ # e.g. g1|g2|g3), OptMult (can supply zero or more, e.g.
+ # [[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.
+ # {{g1|g2|g3}})
+
+ # Rep: whether Group is repeatable: Norepeat (e.g. group
+ # without ellipsis; the default), or Repeat (e.g. group...)
+ group.attlist &=
+ [ a:defaultValue = "opt" ]
+ attribute choice { "opt" | "req" | "plain" }?,
+ [ a:defaultValue = "norepeat" ]
+ attribute rep { "norepeat" | "repeat" }?,
+ common.attrib,
+ group.role.attrib,
+ local.group.attrib
+ # end of group.attlist
+
+ # end of group.module
+ local.sbr.attrib = empty
+ # Synopsis break
+ sbr.role.attrib = role.attrib
+ sbr = element sbr { sbr.attlist, empty }
+ # end of sbr.element
+ sbr.attlist &= common.attrib, sbr.role.attrib, local.sbr.attrib
+ # end of sbr.attlist
+
+ # end of sbr.module
+ local.synopfragmentref.attrib = empty
+ synopfragmentref.role.attrib = role.attrib
+ synopfragmentref =
+ element synopfragmentref { synopfragmentref.attlist, text }
+ # end of synopfragmentref.element
+
+ # to SynopFragment of complex synopsis
+ # material for separate referencing
+ synopfragmentref.attlist &=
+ linkendreq.attrib,
+ common.attrib,
+ synopfragmentref.role.attrib,
+ local.synopfragmentref.attrib
+ # end of synopfragmentref.attlist
+
+ # end of synopfragmentref.module
+ local.synopfragment.attrib = empty
+ synopfragment.role.attrib = role.attrib
+ synopfragment =
+ element synopfragment { synopfragment.attlist, (arg | group)+ }
+ # end of synopfragment.element
+ synopfragment.attlist &=
+ idreq.common.attrib,
+ synopfragment.role.attrib,
+ local.synopfragment.attrib
+ # end of synopfragment.attlist
+
+ # end of synopfragment.module
+
+ # Command (defined in the Inlines section, below)
+
+ # Option (defined in the Inlines section, below)
+
+ # Replaceable (defined in the Inlines section, below)
+
+ # end of cmdsynopsis.content.module
+
+ # FuncSynopsis .....................
+ local.funcsynopsis.attrib = empty
+ funcsynopsis.role.attrib = role.attrib
+ funcsynopsis =
+ element funcsynopsis {
+ funcsynopsis.attlist, (funcsynopsisinfo | funcprototype)+
+ }
+ # end of funcsynopsis.element
+ funcsynopsis.attlist &=
+ label.attrib,
+ common.attrib,
+ funcsynopsis.role.attrib,
+ local.funcsynopsis.attrib
+ # end of funcsynopsis.attlist
+
+ # end of funcsynopsis.module
+ local.funcsynopsisinfo.attrib = empty
+ funcsynopsisinfo.role.attrib = role.attrib
+ funcsynopsisinfo =
+ element funcsynopsisinfo {
+ funcsynopsisinfo.attlist,
+ (cptr.char.mix | textobject | lineannotation)*
+ }
+ # end of funcsynopsisinfo.element
+ funcsynopsisinfo.attlist &=
+ linespecific.attrib,
+ common.attrib,
+ funcsynopsisinfo.role.attrib,
+ local.funcsynopsisinfo.attrib
+ # end of funcsynopsisinfo.attlist
+
+ # end of funcsynopsisinfo.module
+ local.funcprototype.attrib = empty
+ funcprototype.role.attrib = role.attrib
+ funcprototype =
+ element funcprototype {
+ funcprototype.attlist, funcdef, (void | varargs | paramdef+)
+ }
+ # end of funcprototype.element
+ funcprototype.attlist &=
+ common.attrib, funcprototype.role.attrib, local.funcprototype.attrib
+ # end of funcprototype.attlist
+
+ # end of funcprototype.module
+ local.funcdef.attrib = empty
+ funcdef.role.attrib = role.attrib
+ funcdef =
+ element funcdef {
+ funcdef.attlist, (text | type | replaceable | function)*
+ }
+ # end of funcdef.element
+ funcdef.attlist &=
+ common.attrib, funcdef.role.attrib, local.funcdef.attrib
+ # end of funcdef.attlist
+
+ # end of funcdef.module
+ local.void.attrib = empty
+ void.role.attrib = role.attrib
+ void = element void { void.attlist, empty }
+ # end of void.element
+ void.attlist &= common.attrib, void.role.attrib, local.void.attrib
+ # end of void.attlist
+
+ # end of void.module
+ local.varargs.attrib = empty
+ varargs.role.attrib = role.attrib
+ varargs = element varargs { varargs.attlist, empty }
+ # end of varargs.element
+ varargs.attlist &=
+ common.attrib, varargs.role.attrib, local.varargs.attrib
+ # end of varargs.attlist
+
+ # end of varargs.module
+
+ # Processing assumes that only one Parameter will appear in a
+ # ParamDef, and that FuncParams will be used at most once, for
+ # providing information on the "inner parameters" for parameters that
+ # are pointers to functions.
+ local.paramdef.attrib = empty
+ paramdef.role.attrib = role.attrib
+ paramdef =
+ element paramdef {
+ paramdef.attlist,
+ (text | type | replaceable | parameter | funcparams)*
+ }
+ # end of paramdef.element
+ paramdef.attlist &=
+ common.attrib, paramdef.role.attrib, local.paramdef.attrib
+ # end of paramdef.attlist
+
+ # end of paramdef.module
+ local.funcparams.attrib = empty
+ funcparams.role.attrib = role.attrib
+ funcparams = element funcparams { funcparams.attlist, cptr.char.mix* }
+ # end of funcparams.element
+ funcparams.attlist &=
+ common.attrib, funcparams.role.attrib, local.funcparams.attrib
+ # end of funcparams.attlist
+
+ # end of funcparams.module
+
+ # LineAnnotation (defined in the Inlines section, below)
+
+ # Replaceable (defined in the Inlines section, below)
+
+ # Function (defined in the Inlines section, below)
+
+ # Parameter (defined in the Inlines section, below)
+
+ # end of funcsynopsis.content.module
+
+ # ClassSynopsis .....................
+ local.classsynopsis.attrib = empty
+ classsynopsis.role.attrib = role.attrib
+ classsynopsis =
+ element classsynopsis {
+ classsynopsis.attlist,
+ (ooclass | oointerface | ooexception)+,
+ (classsynopsisinfo | fieldsynopsis | method.synop.class)*
+ }
+ # end of classsynopsis.element
+ classsynopsis.attlist &=
+ attribute language { text }?,
+ [ a:defaultValue = "class" ]
+ attribute class { "class" | "interface" }?,
+ common.attrib,
+ classsynopsis.role.attrib,
+ local.classsynopsis.attrib
+ # end of classsynopsis.attlist
+
+ # end of classsynopsis.module
+ local.classsynopsisinfo.attrib = empty
+ classsynopsisinfo.role.attrib = role.attrib
+ classsynopsisinfo =
+ element classsynopsisinfo {
+ classsynopsisinfo.attlist,
+ (cptr.char.mix | textobject | lineannotation)*
+ }
+ # end of classsynopsisinfo.element
+ classsynopsisinfo.attlist &=
+ linespecific.attrib,
+ common.attrib,
+ classsynopsisinfo.role.attrib,
+ local.classsynopsisinfo.attrib
+ # end of classsynopsisinfo.attlist
+
+ # end of classsynopsisinfo.module
+ local.ooclass.attrib = empty
+ ooclass.role.attrib = role.attrib
+ ooclass = element ooclass { ooclass.attlist, modifier*, classname }
+ # end of ooclass.element
+ ooclass.attlist &=
+ common.attrib, ooclass.role.attrib, local.ooclass.attrib
+ # end of ooclass.attlist
+
+ # end of ooclass.module
+ local.oointerface.attrib = empty
+ oointerface.role.attrib = role.attrib
+ oointerface =
+ element oointerface { oointerface.attlist, modifier*, interfacename }
+ # end of oointerface.element
+ oointerface.attlist &=
+ common.attrib, oointerface.role.attrib, local.oointerface.attrib
+ # end of oointerface.attlist
+
+ # end of oointerface.module
+ local.ooexception.attrib = empty
+ ooexception.role.attrib = role.attrib
+ ooexception =
+ element ooexception { ooexception.attlist, modifier*, exceptionname }
+ # end of ooexception.element
+ ooexception.attlist &=
+ common.attrib, ooexception.role.attrib, local.ooexception.attrib
+ # end of ooexception.attlist
+
+ # end of ooexception.module
+ local.modifier.attrib = empty
+ modifier.role.attrib = role.attrib
+ modifier = element modifier { modifier.attlist, smallcptr.char.mix* }
+ # end of modifier.element
+ modifier.attlist &=
+ common.attrib, modifier.role.attrib, local.modifier.attrib
+ # end of modifier.attlist
+
+ # end of modifier.module
+ local.interfacename.attrib = empty
+ interfacename.role.attrib = role.attrib
+ interfacename =
+ element interfacename { interfacename.attlist, cptr.char.mix* }
+ # end of interfacename.element
+ interfacename.attlist &=
+ common.attrib, interfacename.role.attrib, local.interfacename.attrib
+ # end of interfacename.attlist
+
+ # end of interfacename.module
+ local.exceptionname.attrib = empty
+ exceptionname.role.attrib = role.attrib
+ exceptionname =
+ element exceptionname { exceptionname.attlist, smallcptr.char.mix* }
+ # end of exceptionname.element
+ exceptionname.attlist &=
+ common.attrib, exceptionname.role.attrib, local.exceptionname.attrib
+ # end of exceptionname.attlist
+
+ # end of exceptionname.module
+ local.fieldsynopsis.attrib = empty
+ fieldsynopsis.role.attrib = role.attrib
+ fieldsynopsis =
+ element fieldsynopsis {
+ fieldsynopsis.attlist, modifier*, type?, varname, initializer?
+ }
+ # end of fieldsynopsis.element
+ fieldsynopsis.attlist &=
+ attribute language { text }?,
+ common.attrib,
+ fieldsynopsis.role.attrib,
+ local.fieldsynopsis.attrib
+ # end of fieldsynopsis.attlist
+
+ # end of fieldsynopsis.module
+ local.initializer.attrib = empty
+ initializer.role.attrib = role.attrib
+ initializer =
+ element initializer { initializer.attlist, smallcptr.char.mix* }
+ # end of initializer.element
+ initializer.attlist &=
+ common.attrib, initializer.role.attrib, local.initializer.attrib
+ # end of initializer.attlist
+
+ # end of initializer.module
+ local.constructorsynopsis.attrib = empty
+ constructorsynopsis.role.attrib = role.attrib
+ constructorsynopsis =
+ element constructorsynopsis {
+ constructorsynopsis.attlist,
+ modifier*,
+ methodname?,
+ (methodparam+ | void),
+ exceptionname*
+ }
+ # end of constructorsynopsis.element
+ constructorsynopsis.attlist &=
+ attribute language { text }?,
+ common.attrib,
+ constructorsynopsis.role.attrib,
+ local.constructorsynopsis.attrib
+ # end of constructorsynopsis.attlist
+
+ # end of constructorsynopsis.module
+ local.destructorsynopsis.attrib = empty
+ destructorsynopsis.role.attrib = role.attrib
+ destructorsynopsis =
+ element destructorsynopsis {
+ destructorsynopsis.attlist,
+ modifier*,
+ methodname?,
+ (methodparam+ | void),
+ exceptionname*
+ }
+ # end of destructorsynopsis.element
+ destructorsynopsis.attlist &=
+ attribute language { text }?,
+ common.attrib,
+ destructorsynopsis.role.attrib,
+ local.destructorsynopsis.attrib
+ # end of destructorsynopsis.attlist
+
+ # end of destructorsynopsis.module
+ local.methodsynopsis.attrib = empty
+ methodsynopsis.role.attrib = role.attrib
+ methodsynopsis =
+ element methodsynopsis {
+ methodsynopsis.attlist,
+ modifier*,
+ (type | void)?,
+ methodname,
+ (methodparam+ | void),
+ exceptionname*,
+ modifier*
+ }
+ # end of methodsynopsis.element
+ methodsynopsis.attlist &=
+ attribute language { text }?,
+ common.attrib,
+ methodsynopsis.role.attrib,
+ local.methodsynopsis.attrib
+ # end of methodsynopsis.attlist
+
+ # end of methodsynopsis.module
+ local.methodname.attrib = empty
+ methodname.role.attrib = role.attrib
+ methodname =
+ element methodname { methodname.attlist, smallcptr.char.mix* }
+ # end of methodname.element
+ methodname.attlist &=
+ common.attrib, methodname.role.attrib, local.methodname.attrib
+ # end of methodname.attlist
+
+ # end of methodname.module
+ local.methodparam.attrib = empty
+ methodparam.role.attrib = role.attrib
+ methodparam =
+ element methodparam {
+ methodparam.attlist,
+ modifier*,
+ type?,
+ ((parameter, initializer?) | funcparams),
+ modifier*
+ }
+ # end of methodparam.element
+ methodparam.attlist &=
+ [ a:defaultValue = "req" ]
+ attribute choice { "opt" | "req" | "plain" }?,
+ [ a:defaultValue = "norepeat" ]
+ attribute rep { "norepeat" | "repeat" }?,
+ common.attrib,
+ methodparam.role.attrib,
+ local.methodparam.attrib
+ # end of methodparam.attlist
+
+ # end of methodparam.module
+
+ # end of classsynopsis.content.module
+
+ # ......................................................................
+
+ # Document information entities and elements ...........................
+
+ # The document information elements include some elements that are
+ # currently used only in the document hierarchy module. They are
+ # defined here so that they will be available for use in customized
+ # document hierarchies.
+
+ # ..................................
+
+ # Ackno ............................
+ local.ackno.attrib = empty
+ ackno.role.attrib = role.attrib
+ ackno = element ackno { ackno.attlist, docinfo.char.mix* }
+ # end of ackno.element
+ ackno.attlist &= common.attrib, ackno.role.attrib, local.ackno.attrib
+ # end of ackno.attlist
+
+ # end of ackno.module
+
+ # Address ..........................
+ local.address.attrib = empty
+ address.role.attrib = role.attrib
+ address =
+ element address {
+ address.attlist,
+ (text
+ | personname
+ | person.ident.mix
+ | street
+ | pob
+ | postcode
+ | city
+ | state
+ | country
+ | phone
+ | fax
+ | email
+ | otheraddr)*
+ }
+ # end of address.element
+ address.attlist &=
+ linespecific.attrib,
+ common.attrib,
+ address.role.attrib,
+ local.address.attrib
+ # end of address.attlist
+
+ # end of address.module
+ local.street.attrib = empty
+ street.role.attrib = role.attrib
+ street = element street { street.attlist, docinfo.char.mix* }
+ # end of street.element
+ street.attlist &= common.attrib, street.role.attrib, local.street.attrib
+ # end of street.attlist
+
+ # end of street.module
+ local.pob.attrib = empty
+ pob.role.attrib = role.attrib
+ pob = element pob { pob.attlist, docinfo.char.mix* }
+ # end of pob.element
+ pob.attlist &= common.attrib, pob.role.attrib, local.pob.attrib
+ # end of pob.attlist
+
+ # end of pob.module
+ local.postcode.attrib = empty
+ postcode.role.attrib = role.attrib
+ postcode = element postcode { postcode.attlist, docinfo.char.mix* }
+ # end of postcode.element
+ postcode.attlist &=
+ common.attrib, postcode.role.attrib, local.postcode.attrib
+ # end of postcode.attlist
+
+ # end of postcode.module
+ local.city.attrib = empty
+ city.role.attrib = role.attrib
+ city = element city { city.attlist, docinfo.char.mix* }
+ # end of city.element
+ city.attlist &= common.attrib, city.role.attrib, local.city.attrib
+ # end of city.attlist
+
+ # end of city.module
+ local.state.attrib = empty
+ state.role.attrib = role.attrib
+ state = element state { state.attlist, docinfo.char.mix* }
+ # end of state.element
+ state.attlist &= common.attrib, state.role.attrib, local.state.attrib
+ # end of state.attlist
+
+ # end of state.module
+ local.country.attrib = empty
+ country.role.attrib = role.attrib
+ country = element country { country.attlist, docinfo.char.mix* }
+ # end of country.element
+ country.attlist &=
+ common.attrib, country.role.attrib, local.country.attrib
+ # end of country.attlist
+
+ # end of country.module
+ local.phone.attrib = empty
+ phone.role.attrib = role.attrib
+ phone = element phone { phone.attlist, docinfo.char.mix* }
+ # end of phone.element
+ phone.attlist &= common.attrib, phone.role.attrib, local.phone.attrib
+ # end of phone.attlist
+
+ # end of phone.module
+ local.fax.attrib = empty
+ fax.role.attrib = role.attrib
+ fax = element fax { fax.attlist, docinfo.char.mix* }
+ # end of fax.element
+ fax.attlist &= common.attrib, fax.role.attrib, local.fax.attrib
+ # end of fax.attlist
+
+ # end of fax.module
+
+ # Email (defined in the Inlines section, below)
+ local.otheraddr.attrib = empty
+ otheraddr.role.attrib = role.attrib
+ otheraddr = element otheraddr { otheraddr.attlist, docinfo.char.mix* }
+ # end of otheraddr.element
+ otheraddr.attlist &=
+ common.attrib, otheraddr.role.attrib, local.otheraddr.attrib
+ # end of otheraddr.attlist
+
+ # end of otheraddr.module
+
+ # end of address.content.module
+
+ # Affiliation ......................
+ local.affiliation.attrib = empty
+ affiliation.role.attrib = role.attrib
+ affiliation =
+ element affiliation {
+ affiliation.attlist,
+ shortaffil?,
+ jobtitle*,
+ orgname?,
+ orgdiv*,
+ address*
+ }
+ # end of affiliation.element
+ affiliation.attlist &=
+ common.attrib, affiliation.role.attrib, local.affiliation.attrib
+ # end of affiliation.attlist
+
+ # end of affiliation.module
+ local.shortaffil.attrib = empty
+ shortaffil.role.attrib = role.attrib
+ shortaffil =
+ element shortaffil { shortaffil.attlist, docinfo.char.mix* }
+ # end of shortaffil.element
+ shortaffil.attlist &=
+ common.attrib, shortaffil.role.attrib, local.shortaffil.attrib
+ # end of shortaffil.attlist
+
+ # end of shortaffil.module
+ local.jobtitle.attrib = empty
+ jobtitle.role.attrib = role.attrib
+ jobtitle = element jobtitle { jobtitle.attlist, docinfo.char.mix* }
+ # end of jobtitle.element
+ jobtitle.attlist &=
+ common.attrib, jobtitle.role.attrib, local.jobtitle.attrib
+ # end of jobtitle.attlist
+
+ # end of jobtitle.module
+
+ # OrgName (defined elsewhere in this section)
+ local.orgdiv.attrib = empty
+ orgdiv.role.attrib = role.attrib
+ orgdiv = element orgdiv { orgdiv.attlist, docinfo.char.mix* }
+ # end of orgdiv.element
+ orgdiv.attlist &= common.attrib, orgdiv.role.attrib, local.orgdiv.attrib
+ # end of orgdiv.attlist
+
+ # end of orgdiv.module
+
+ # Address (defined elsewhere in this section)
+
+ # end of affiliation.content.module
+
+ # ArtPageNums ......................
+ local.artpagenums.attrib = empty
+ artpagenums.role.attrib = role.attrib
+ artpagenums =
+ element artpagenums { artpagenums.attlist, docinfo.char.mix* }
+ # end of artpagenums.element
+ artpagenums.attlist &=
+ common.attrib, artpagenums.role.attrib, local.artpagenums.attrib
+ # end of artpagenums.attlist
+
+ # end of artpagenums.module
+
+ # PersonName
+ local.personname.attrib = empty
+ personname.role.attrib = role.attrib
+ personname =
+ element personname {
+ personname.attlist,
+ (honorific | firstname | surname | lineage | othername)+
+ }
+ # end of personname.element
+ personname.attlist &=
+ common.attrib, personname.role.attrib, local.personname.attrib
+ # end of personname.attlist
+
+ # end of personname.module
+
+ # Author ...........................
+ local.author.attrib = empty
+ author.role.attrib = role.attrib
+ author =
+ element author {
+ author.attlist,
+ (personname | person.ident.mix+),
+ (personblurb | email | address)*
+ }
+ # end of author.element
+ author.attlist &= common.attrib, author.role.attrib, local.author.attrib
+ # end of author.attlist
+
+ # (see "Personal identity elements" for %person.ident.mix;)
+
+ # end of author.module
+
+ # AuthorGroup ......................
+ local.authorgroup.attrib = empty
+ authorgroup.role.attrib = role.attrib
+ authorgroup =
+ element authorgroup {
+ authorgroup.attlist,
+ (author | editor | collab | corpauthor | othercredit)+
+ }
+ # end of authorgroup.element
+ authorgroup.attlist &=
+ common.attrib, authorgroup.role.attrib, local.authorgroup.attrib
+ # end of authorgroup.attlist
+
+ # end of authorgroup.module
+
+ # Author (defined elsewhere in this section)
+
+ # Editor (defined elsewhere in this section)
+ local.collab.attrib = empty
+ collab.role.attrib = role.attrib
+ collab = element collab { collab.attlist, collabname, affiliation* }
+ # end of collab.element
+ collab.attlist &= common.attrib, collab.role.attrib, local.collab.attrib
+ # end of collab.attlist
+
+ # end of collab.module
+ local.collabname.attrib = empty
+ collabname.role.attrib = role.attrib
+ collabname =
+ element collabname { collabname.attlist, docinfo.char.mix* }
+ # end of collabname.element
+ collabname.attlist &=
+ common.attrib, collabname.role.attrib, local.collabname.attrib
+ # end of collabname.attlist
+
+ # end of collabname.module
+
+ # Affiliation (defined elsewhere in this section)
+
+ # end of collab.content.module
+
+ # CorpAuthor (defined elsewhere in this section)
+
+ # OtherCredit (defined elsewhere in this section)
+
+ # end of authorgroup.content.module
+
+ # AuthorInitials ...................
+ local.authorinitials.attrib = empty
+ authorinitials.role.attrib = role.attrib
+ authorinitials =
+ element authorinitials { authorinitials.attlist, docinfo.char.mix* }
+ # end of authorinitials.element
+ authorinitials.attlist &=
+ common.attrib, authorinitials.role.attrib, local.authorinitials.attrib
+ # end of authorinitials.attlist
+
+ # end of authorinitials.module
+
+ # ConfGroup ........................
+ local.confgroup.attrib = empty
+ confgroup.role.attrib = role.attrib
+ confgroup =
+ element confgroup {
+ confgroup.attlist,
+ (confdates | conftitle | confnum | address | confsponsor)*
+ }
+ # end of confgroup.element
+ confgroup.attlist &=
+ common.attrib, confgroup.role.attrib, local.confgroup.attrib
+ # end of confgroup.attlist
+
+ # end of confgroup.module
+ local.confdates.attrib = empty
+ confdates.role.attrib = role.attrib
+ confdates = element confdates { confdates.attlist, docinfo.char.mix* }
+ # end of confdates.element
+ confdates.attlist &=
+ common.attrib, confdates.role.attrib, local.confdates.attrib
+ # end of confdates.attlist
+
+ # end of confdates.module
+ local.conftitle.attrib = empty
+ conftitle.role.attrib = role.attrib
+ conftitle = element conftitle { conftitle.attlist, docinfo.char.mix* }
+ # end of conftitle.element
+ conftitle.attlist &=
+ common.attrib, conftitle.role.attrib, local.conftitle.attrib
+ # end of conftitle.attlist
+
+ # end of conftitle.module
+ local.confnum.attrib = empty
+ confnum.role.attrib = role.attrib
+ confnum = element confnum { confnum.attlist, docinfo.char.mix* }
+ # end of confnum.element
+ confnum.attlist &=
+ common.attrib, confnum.role.attrib, local.confnum.attrib
+ # end of confnum.attlist
+
+ # end of confnum.module
+
+ # Address (defined elsewhere in this section)
+ local.confsponsor.attrib = empty
+ confsponsor.role.attrib = role.attrib
+ confsponsor =
+ element confsponsor { confsponsor.attlist, docinfo.char.mix* }
+ # end of confsponsor.element
+ confsponsor.attlist &=
+ common.attrib, confsponsor.role.attrib, local.confsponsor.attrib
+ # end of confsponsor.attlist
+
+ # end of confsponsor.module
+
+ # end of confgroup.content.module
+
+ # ContractNum ......................
+ local.contractnum.attrib = empty
+ contractnum.role.attrib = role.attrib
+ contractnum =
+ element contractnum { contractnum.attlist, docinfo.char.mix* }
+ # end of contractnum.element
+ contractnum.attlist &=
+ common.attrib, contractnum.role.attrib, local.contractnum.attrib
+ # end of contractnum.attlist
+
+ # end of contractnum.module
+
+ # ContractSponsor ..................
+ local.contractsponsor.attrib = empty
+ contractsponsor.role.attrib = role.attrib
+ contractsponsor =
+ element contractsponsor { contractsponsor.attlist, docinfo.char.mix* }
+ # end of contractsponsor.element
+ contractsponsor.attlist &=
+ common.attrib,
+ contractsponsor.role.attrib,
+ local.contractsponsor.attrib
+ # end of contractsponsor.attlist
+
+ # end of contractsponsor.module
+
+ # Copyright ........................
+ local.copyright.attrib = empty
+ copyright.role.attrib = role.attrib
+ copyright = element copyright { copyright.attlist, year+, holder* }
+ # end of copyright.element
+ copyright.attlist &=
+ common.attrib, copyright.role.attrib, local.copyright.attrib
+ # end of copyright.attlist
+
+ # end of copyright.module
+ local.year.attrib = empty
+ year.role.attrib = role.attrib
+ year = element year { year.attlist, docinfo.char.mix* }
+ # end of year.element
+ year.attlist &= common.attrib, year.role.attrib, local.year.attrib
+ # end of year.attlist
+
+ # end of year.module
+ local.holder.attrib = empty
+ holder.role.attrib = role.attrib
+ holder = element holder { holder.attlist, docinfo.char.mix* }
+ # end of holder.element
+ holder.attlist &= common.attrib, holder.role.attrib, local.holder.attrib
+ # end of holder.attlist
+
+ # end of holder.module
+
+ # end of copyright.content.module
+
+ # CorpAuthor .......................
+ local.corpauthor.attrib = empty
+ corpauthor.role.attrib = role.attrib
+ corpauthor =
+ element corpauthor { corpauthor.attlist, docinfo.char.mix* }
+ # end of corpauthor.element
+ corpauthor.attlist &=
+ common.attrib, corpauthor.role.attrib, local.corpauthor.attrib
+ # end of corpauthor.attlist
+
+ # end of corpauthor.module
+
+ # CorpName .........................
+ local.corpname.attrib = empty
+ corpname = element corpname { corpname.attlist, docinfo.char.mix* }
+ # end of corpname.element
+ corpname.role.attrib = role.attrib
+ corpname.attlist &=
+ common.attrib, corpname.role.attrib, local.corpname.attrib
+ # end of corpname.attlist
+
+ # end of corpname.module
+
+ # Date .............................
+ local.date.attrib = empty
+ date.role.attrib = role.attrib
+ date = element date { date.attlist, docinfo.char.mix* }
+ # end of date.element
+ date.attlist &= common.attrib, date.role.attrib, local.date.attrib
+ # end of date.attlist
+
+ # end of date.module
+
+ # Edition ..........................
+ local.edition.attrib = empty
+ edition.role.attrib = role.attrib
+ edition = element edition { edition.attlist, docinfo.char.mix* }
+ # end of edition.element
+ edition.attlist &=
+ common.attrib, edition.role.attrib, local.edition.attrib
+ # end of edition.attlist
+
+ # end of edition.module
+
+ # Editor ...........................
+ local.editor.attrib = empty
+ editor.role.attrib = role.attrib
+ editor =
+ element editor {
+ editor.attlist,
+ (personname | person.ident.mix+),
+ (personblurb | email | address)*
+ }
+ # end of editor.element
+ editor.attlist &= common.attrib, editor.role.attrib, local.editor.attrib
+ # end of editor.attlist
+
+ # (see "Personal identity elements" for %person.ident.mix;)
+
+ # end of editor.module
+
+ # ISBN .............................
+ local.isbn.attrib = empty
+ isbn.role.attrib = role.attrib
+ isbn = element isbn { isbn.attlist, docinfo.char.mix* }
+ # end of isbn.element
+ isbn.attlist &= common.attrib, isbn.role.attrib, local.isbn.attrib
+ # end of isbn.attlist
+
+ # end of isbn.module
+
+ # ISSN .............................
+ local.issn.attrib = empty
+ issn.role.attrib = role.attrib
+ issn = element issn { issn.attlist, docinfo.char.mix* }
+ # end of issn.element
+ issn.attlist &= common.attrib, issn.role.attrib, local.issn.attrib
+ # end of issn.attlist
+
+ # end of issn.module
+
+ # BiblioId .................
+ biblio.class.attrib =
+ attribute class {
+ "uri"
+ | "doi"
+ | "isbn"
+ | "issn"
+ | "libraryofcongress"
+ | "pubnumber"
+ | "other"
+ }?,
+ attribute otherclass { text }?
+ local.biblioid.attrib = empty
+ biblioid.role.attrib = role.attrib
+ biblioid = element biblioid { biblioid.attlist, docinfo.char.mix* }
+ # end of biblioid.element
+ biblioid.attlist &=
+ biblio.class.attrib,
+ common.attrib,
+ biblioid.role.attrib,
+ local.biblioid.attrib
+ # end of biblioid.attlist
+
+ # end of biblioid.module
+
+ # CiteBiblioId .................
+ local.citebiblioid.attrib = empty
+ citebiblioid.role.attrib = role.attrib
+ citebiblioid =
+ element citebiblioid { citebiblioid.attlist, docinfo.char.mix* }
+ # end of citebiblioid.element
+ citebiblioid.attlist &=
+ biblio.class.attrib,
+ common.attrib,
+ citebiblioid.role.attrib,
+ local.citebiblioid.attrib
+ # end of citebiblioid.attlist
+
+ # end of citebiblioid.module
+
+ # BiblioSource .................
+ local.bibliosource.attrib = empty
+ bibliosource.role.attrib = role.attrib
+ bibliosource =
+ element bibliosource { bibliosource.attlist, docinfo.char.mix* }
+ # end of bibliosource.element
+ bibliosource.attlist &=
+ biblio.class.attrib,
+ common.attrib,
+ bibliosource.role.attrib,
+ local.bibliosource.attrib
+ # end of bibliosource.attlist
+
+ # end of bibliosource.module
+
+ # BiblioRelation .................
+ local.bibliorelation.attrib = empty
+ local.bibliorelation.types = notAllowed
+ bibliorelation.type.attrib =
+ attribute type {
+ "isversionof"
+ | "hasversion"
+ | "isreplacedby"
+ | "replaces"
+ | "isrequiredby"
+ | "requires"
+ | "ispartof"
+ | "haspart"
+ | "isreferencedby"
+ | "references"
+ | "isformatof"
+ | "hasformat"
+ | "othertype"
+ | local.bibliorelation.types
+ }?,
+ attribute othertype { text }?
+ bibliorelation.role.attrib = role.attrib
+ bibliorelation =
+ element bibliorelation { bibliorelation.attlist, docinfo.char.mix* }
+ # end of bibliorelation.element
+ bibliorelation.attlist &=
+ biblio.class.attrib,
+ bibliorelation.type.attrib,
+ common.attrib,
+ bibliorelation.role.attrib,
+ local.bibliorelation.attrib
+ # end of bibliorelation.attlist
+
+ # end of bibliorelation.module
+
+ # BiblioCoverage .................
+ local.bibliocoverage.attrib = empty
+ bibliocoverage.role.attrib = role.attrib
+ bibliocoverage =
+ element bibliocoverage { bibliocoverage.attlist, docinfo.char.mix* }
+ # end of bibliocoverage.element
+ bibliocoverage.attlist &=
+ attribute spatial {
+ "dcmipoint" | "iso3166" | "dcmibox" | "tgn" | "otherspatial"
+ }?,
+ attribute otherspatial { text }?,
+ attribute temporal { "dcmiperiod" | "w3c-dtf" | "othertemporal" }?,
+ attribute othertemporal { text }?,
+ common.attrib,
+ bibliocoverage.role.attrib,
+ local.bibliocoverage.attrib
+ # end of bibliocoverage.attlist
+
+ # end of bibliocoverage.module
+
+ # InvPartNumber ....................
+ local.invpartnumber.attrib = empty
+ invpartnumber.role.attrib = role.attrib
+ invpartnumber =
+ element invpartnumber { invpartnumber.attlist, docinfo.char.mix* }
+ # end of invpartnumber.element
+ invpartnumber.attlist &=
+ common.attrib, invpartnumber.role.attrib, local.invpartnumber.attrib
+ # end of invpartnumber.attlist
+
+ # end of invpartnumber.module
+
+ # IssueNum .........................
+ local.issuenum.attrib = empty
+ issuenum.role.attrib = role.attrib
+ issuenum = element issuenum { issuenum.attlist, docinfo.char.mix* }
+ # end of issuenum.element
+ issuenum.attlist &=
+ common.attrib, issuenum.role.attrib, local.issuenum.attrib
+ # end of issuenum.attlist
+
+ # end of issuenum.module
+
+ # LegalNotice ......................
+ local.legalnotice.attrib = empty
+ legalnotice.role.attrib = role.attrib
+ legalnotice =
+ element legalnotice {
+ legalnotice.attlist, blockinfo?, title?, legalnotice.mix+
+ }
+ # end of legalnotice.element
+ legalnotice.attlist &=
+ common.attrib, legalnotice.role.attrib, local.legalnotice.attrib
+ # end of legalnotice.attlist
+
+ # end of legalnotice.module
+
+ # ModeSpec .........................
+ local.modespec.attrib = empty
+ modespec.role.attrib = role.attrib
+ modespec = element modespec { modespec.attlist, docinfo.char.mix* }
+ # end of modespec.element
+
+ # Application: Type of action required for completion
+ # of the links to which the ModeSpec is relevant (e.g.,
+ # retrieval query)
+ modespec.attlist &=
+ attribute application { notation.class }?,
+ common.attrib,
+ modespec.role.attrib,
+ local.modespec.attrib
+ # end of modespec.attlist
+
+ # end of modespec.module
+
+ # OrgName ..........................
+ local.orgname.attrib = empty
+ orgname.role.attrib = role.attrib
+ orgname = element orgname { orgname.attlist, docinfo.char.mix* }
+ # end of orgname.element
+ orgname.attlist &=
+ common.attrib,
+ attribute class {
+ "corporation" | "nonprofit" | "consortium" | "informal" | "other"
+ }?,
+ attribute otherclass { text }?,
+ orgname.role.attrib,
+ local.orgname.attrib
+ # end of orgname.attlist
+
+ # end of orgname.module
+
+ # OtherCredit ......................
+ local.othercredit.attrib = empty
+ othercredit.role.attrib = role.attrib
+ othercredit =
+ element othercredit {
+ othercredit.attlist,
+ (personname | person.ident.mix+),
+ (personblurb | email | address)*
+ }
+ # end of othercredit.element
+ othercredit.attlist &=
+ common.attrib, othercredit.role.attrib, local.othercredit.attrib
+ # end of othercredit.attlist
+
+ # (see "Personal identity elements" for %person.ident.mix;)
+
+ # end of othercredit.module
+
+ # PageNums .........................
+ local.pagenums.attrib = empty
+ pagenums.role.attrib = role.attrib
+ pagenums = element pagenums { pagenums.attlist, docinfo.char.mix* }
+ # end of pagenums.element
+ pagenums.attlist &=
+ common.attrib, pagenums.role.attrib, local.pagenums.attrib
+ # end of pagenums.attlist
+
+ # end of pagenums.module
+
+ # Personal identity elements .......
+
+ # These elements are used only within Author, Editor, and
+ # OtherCredit.
+ local.contrib.attrib = empty
+ contrib.role.attrib = role.attrib
+ contrib = element contrib { contrib.attlist, docinfo.char.mix* }
+ # end of contrib.element
+ contrib.attlist &=
+ common.attrib, contrib.role.attrib, local.contrib.attrib
+ # end of contrib.attlist
+
+ # end of contrib.module
+ local.firstname.attrib = empty
+ firstname.role.attrib = role.attrib
+ firstname = element firstname { firstname.attlist, docinfo.char.mix* }
+ # end of firstname.element
+ firstname.attlist &=
+ common.attrib, firstname.role.attrib, local.firstname.attrib
+ # end of firstname.attlist
+
+ # end of firstname.module
+ local.honorific.attrib = empty
+ honorific.role.attrib = role.attrib
+ honorific = element honorific { honorific.attlist, docinfo.char.mix* }
+ # end of honorific.element
+ honorific.attlist &=
+ common.attrib, honorific.role.attrib, local.honorific.attrib
+ # end of honorific.attlist
+
+ # end of honorific.module
+ local.lineage.attrib = empty
+ lineage.role.attrib = role.attrib
+ lineage = element lineage { lineage.attlist, docinfo.char.mix* }
+ # end of lineage.element
+ lineage.attlist &=
+ common.attrib, lineage.role.attrib, local.lineage.attrib
+ # end of lineage.attlist
+
+ # end of lineage.module
+ local.othername.attrib = empty
+ othername.role.attrib = role.attrib
+ othername = element othername { othername.attlist, docinfo.char.mix* }
+ # end of othername.element
+ othername.attlist &=
+ common.attrib, othername.role.attrib, local.othername.attrib
+ # end of othername.attlist
+
+ # end of othername.module
+ local.surname.attrib = empty
+ surname.role.attrib = role.attrib
+ surname = element surname { surname.attlist, docinfo.char.mix* }
+ # end of surname.element
+ surname.attlist &=
+ common.attrib, surname.role.attrib, local.surname.attrib
+ # end of surname.attlist
+
+ # end of surname.module
+
+ # end of person.ident.module
+
+ # PrintHistory .....................
+ local.printhistory.attrib = empty
+ printhistory.role.attrib = role.attrib
+ printhistory =
+ element printhistory { printhistory.attlist, para.class+ }
+ # end of printhistory.element
+ printhistory.attlist &=
+ common.attrib, printhistory.role.attrib, local.printhistory.attrib
+ # end of printhistory.attlist
+
+ # end of printhistory.module
+
+ # ProductName ......................
+ local.productname.attrib = empty
+ productname.role.attrib = role.attrib
+ productname =
+ element productname { productname.attlist, para.char.mix* }
+ # end of productname.element
+
+ # Class: More precisely identifies the item the element names
+ productname.attlist &=
+ [ a:defaultValue = "trade" ]
+ attribute class { "service" | "trade" | "registered" | "copyright" }?,
+ common.attrib,
+ productname.role.attrib,
+ local.productname.attrib
+ # end of productname.attlist
+
+ # end of productname.module
+
+ # ProductNumber ....................
+ local.productnumber.attrib = empty
+ productnumber.role.attrib = role.attrib
+ productnumber =
+ element productnumber { productnumber.attlist, docinfo.char.mix* }
+ # end of productnumber.element
+ productnumber.attlist &=
+ common.attrib, productnumber.role.attrib, local.productnumber.attrib
+ # end of productnumber.attlist
+
+ # end of productnumber.module
+
+ # PubDate ..........................
+ local.pubdate.attrib = empty
+ pubdate.role.attrib = role.attrib
+ pubdate = element pubdate { pubdate.attlist, docinfo.char.mix* }
+ # end of pubdate.element
+ pubdate.attlist &=
+ common.attrib, pubdate.role.attrib, local.pubdate.attrib
+ # end of pubdate.attlist
+
+ # end of pubdate.module
+
+ # Publisher ........................
+ local.publisher.attrib = empty
+ publisher.role.attrib = role.attrib
+ publisher =
+ element publisher { publisher.attlist, publishername, address* }
+ # end of publisher.element
+ publisher.attlist &=
+ common.attrib, publisher.role.attrib, local.publisher.attrib
+ # end of publisher.attlist
+
+ # end of publisher.module
+ local.publishername.attrib = empty
+ publishername.role.attrib = role.attrib
+ publishername =
+ element publishername { publishername.attlist, docinfo.char.mix* }
+ # end of publishername.element
+ publishername.attlist &=
+ common.attrib, publishername.role.attrib, local.publishername.attrib
+ # end of publishername.attlist
+
+ # end of publishername.module
+
+ # Address (defined elsewhere in this section)
+
+ # end of publisher.content.module
+
+ # PubsNumber .......................
+ local.pubsnumber.attrib = empty
+ pubsnumber.role.attrib = role.attrib
+ pubsnumber =
+ element pubsnumber { pubsnumber.attlist, docinfo.char.mix* }
+ # end of pubsnumber.element
+ pubsnumber.attlist &=
+ common.attrib, pubsnumber.role.attrib, local.pubsnumber.attrib
+ # end of pubsnumber.attlist
+
+ # end of pubsnumber.module
+
+ # ReleaseInfo ......................
+ local.releaseinfo.attrib = empty
+ releaseinfo.role.attrib = role.attrib
+ releaseinfo =
+ element releaseinfo { releaseinfo.attlist, docinfo.char.mix* }
+ # end of releaseinfo.element
+ releaseinfo.attlist &=
+ common.attrib, releaseinfo.role.attrib, local.releaseinfo.attrib
+ # end of releaseinfo.attlist
+
+ # end of releaseinfo.module
+
+ # RevHistory .......................
+ local.revhistory.attrib = empty
+ revhistory.role.attrib = role.attrib
+ revhistory = element revhistory { revhistory.attlist, revision+ }
+ # end of revhistory.element
+ revhistory.attlist &=
+ common.attrib, revhistory.role.attrib, local.revhistory.attrib
+ # end of revhistory.attlist
+
+ # end of revhistory.module
+ local.revision.attrib = empty
+ revision.role.attrib = role.attrib
+ revision =
+ element revision {
+ revision.attlist,
+ revnumber,
+ date,
+ authorinitials*,
+ (revremark | revdescription)?
+ }
+ # end of revision.element
+ revision.attlist &=
+ common.attrib, revision.role.attrib, local.revision.attrib
+ # end of revision.attlist
+
+ # end of revision.module
+ local.revnumber.attrib = empty
+ revnumber.role.attrib = role.attrib
+ revnumber = element revnumber { revnumber.attlist, docinfo.char.mix* }
+ # end of revnumber.element
+ revnumber.attlist &=
+ common.attrib, revnumber.role.attrib, local.revnumber.attrib
+ # end of revnumber.attlist
+
+ # end of revnumber.module
+
+ # Date (defined elsewhere in this section)
+
+ # AuthorInitials (defined elsewhere in this section)
+ local.revremark.attrib = empty
+ revremark.role.attrib = role.attrib
+ revremark = element revremark { revremark.attlist, docinfo.char.mix* }
+ # end of revremark.element
+ revremark.attlist &=
+ common.attrib, revremark.role.attrib, local.revremark.attrib
+ # end of revremark.attlist
+
+ # end of revremark.module
+ local.revdescription.attrib = empty
+ revdescription.role.attrib = role.attrib
+ revdescription =
+ element revdescription { revdescription.attlist, revdescription.mix+ }
+ # end of revdescription.element
+ revdescription.attlist &=
+ common.attrib, revdescription.role.attrib, local.revdescription.attrib
+ # end of revdescription.attlist
+
+ # end of revdescription.module
+
+ # end of revhistory.content.module
+
+ # SeriesVolNums ....................
+ local.seriesvolnums.attrib = empty
+ seriesvolnums.role.attrib = role.attrib
+ seriesvolnums =
+ element seriesvolnums { seriesvolnums.attlist, docinfo.char.mix* }
+ # end of seriesvolnums.element
+ seriesvolnums.attlist &=
+ common.attrib, seriesvolnums.role.attrib, local.seriesvolnums.attrib
+ # end of seriesvolnums.attlist
+
+ # end of seriesvolnums.module
+
+ # VolumeNum ........................
+ local.volumenum.attrib = empty
+ volumenum.role.attrib = role.attrib
+ volumenum = element volumenum { volumenum.attlist, docinfo.char.mix* }
+ # end of volumenum.element
+ volumenum.attlist &=
+ common.attrib, volumenum.role.attrib, local.volumenum.attrib
+ # end of volumenum.attlist
+
+ # end of volumenum.module
+
+ # ..................................
+
+ # end of docinfo.content.module
+
+ # ......................................................................
+
+ # Inline, link, and ubiquitous elements ................................
+
+ # Technical and computer terms .........................................
+ local.accel.attrib = empty
+ accel.role.attrib = role.attrib
+ accel = element accel { accel.attlist, smallcptr.char.mix* }
+ # end of accel.element
+ accel.attlist &= common.attrib, accel.role.attrib, local.accel.attrib
+ # end of accel.attlist
+
+ # end of accel.module
+ local.action.attrib = empty
+ action.role.attrib = role.attrib
+ action = element action { action.attlist, cptr.char.mix* }
+ # end of action.element
+ action.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ action.role.attrib,
+ local.action.attrib
+ # end of action.attlist
+
+ # end of action.module
+ local.application.attrib = empty
+ application.role.attrib = role.attrib
+ application =
+ element application { application.attlist, para.char.mix* }
+ # end of application.element
+ application.attlist &=
+ attribute class { "hardware" | "software" }?,
+ moreinfo.attrib,
+ common.attrib,
+ application.role.attrib,
+ local.application.attrib
+ # end of application.attlist
+
+ # end of application.module
+ local.classname.attrib = empty
+ classname.role.attrib = role.attrib
+ classname = element classname { classname.attlist, smallcptr.char.mix* }
+ # end of classname.element
+ classname.attlist &=
+ common.attrib, classname.role.attrib, local.classname.attrib
+ # end of classname.attlist
+
+ # end of classname.module
+ local.co.attrib = empty
+ # CO is a callout area of the LineColumn unit type (a single character
+ # position); the position is directly indicated by the location of CO.
+ co.role.attrib = role.attrib
+ co = element co { co.attlist, empty }
+ # end of co.element
+
+ # bug number/symbol override or initialization
+
+ # to any related information
+ co.attlist &=
+ label.attrib,
+ linkends.attrib,
+ idreq.common.attrib,
+ co.role.attrib,
+ local.co.attrib
+ # end of co.attlist
+
+ # end of co.module
+ local.coref.attrib = empty
+ # COREF is a reference to a CO
+ coref.role.attrib = role.attrib
+ coref = element coref { coref.attlist, empty }
+ # end of coref.element
+
+ # bug number/symbol override or initialization
+
+ # to any related information
+ coref.attlist &=
+ label.attrib,
+ linkendreq.attrib,
+ common.attrib,
+ coref.role.attrib,
+ local.coref.attrib
+ # end of coref.attlist
+
+ # end of coref.module
+ local.command.attrib = empty
+ command.role.attrib = role.attrib
+ command = element command { command.attlist, cptr.char.mix* }
+ # end of command.element
+ command.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ command.role.attrib,
+ local.command.attrib
+ # end of command.attlist
+
+ # end of command.module
+ local.computeroutput.attrib = empty
+ computeroutput.role.attrib = role.attrib
+ computeroutput =
+ element computeroutput {
+ computeroutput.attlist, (cptr.char.mix | co)*
+ }
+ # end of computeroutput.element
+ computeroutput.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ computeroutput.role.attrib,
+ local.computeroutput.attrib
+ # end of computeroutput.attlist
+
+ # end of computeroutput.module
+ local.database.attrib = empty
+ database.role.attrib = role.attrib
+ database = element database { database.attlist, cptr.char.mix* }
+ # end of database.element
+
+ # Class: Type of database the element names; no default
+ database.attlist &=
+ attribute class {
+ "name" | "table" | "field" | "key1" | "key2" | "record"
+ }?,
+ moreinfo.attrib,
+ common.attrib,
+ database.role.attrib,
+ local.database.attrib
+ # end of database.attlist
+
+ # end of database.module
+ local.email.attrib = empty
+ email.role.attrib = role.attrib
+ email = element email { email.attlist, docinfo.char.mix* }
+ # end of email.element
+ email.attlist &= common.attrib, email.role.attrib, local.email.attrib
+ # end of email.attlist
+
+ # end of email.module
+ local.envar.attrib = empty
+ envar.role.attrib = role.attrib
+ envar = element envar { envar.attlist, smallcptr.char.mix* }
+ # end of envar.element
+ envar.attlist &= common.attrib, envar.role.attrib, local.envar.attrib
+ # end of envar.attlist
+
+ # end of envar.module
+ local.errorcode.attrib = empty
+ errorcode.role.attrib = role.attrib
+ errorcode = element errorcode { errorcode.attlist, smallcptr.char.mix* }
+ # end of errorcode.element
+ errorcode.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ errorcode.role.attrib,
+ local.errorcode.attrib
+ # end of errorcode.attlist
+
+ # end of errorcode.module
+ local.errorname.attrib = empty
+ errorname.role.attrib = role.attrib
+ errorname = element errorname { errorname.attlist, smallcptr.char.mix* }
+ # end of errorname.element
+ errorname.attlist &=
+ common.attrib, errorname.role.attrib, local.errorname.attrib
+ # end of errorname.attlist
+
+ # end of errorname.module
+ local.errortext.attrib = empty
+ errortext.role.attrib = role.attrib
+ errortext = element errortext { errortext.attlist, smallcptr.char.mix* }
+ # end of errortext.element
+ errortext.attlist &=
+ common.attrib, errortext.role.attrib, local.errortext.attrib
+ # end of errortext.attlist
+
+ # end of errortext.module
+ local.errortype.attrib = empty
+ errortype.role.attrib = role.attrib
+ errortype = element errortype { errortype.attlist, smallcptr.char.mix* }
+ # end of errortype.element
+ errortype.attlist &=
+ common.attrib, errortype.role.attrib, local.errortype.attrib
+ # end of errortype.attlist
+
+ # end of errortype.module
+ local.filename.attrib = empty
+ filename.role.attrib = role.attrib
+ filename = element filename { filename.attlist, cptr.char.mix* }
+ # end of filename.element
+
+ # Class: Type of filename the element names; no default
+
+ # Path: Search path (possibly system-specific) in which
+ # file can be found
+ filename.attlist &=
+ attribute class {
+ "headerfile"
+ | "partition"
+ | "devicefile"
+ | "libraryfile"
+ | "directory"
+ | "extension"
+ | "symlink"
+ }?,
+ attribute path { text }?,
+ moreinfo.attrib,
+ common.attrib,
+ filename.role.attrib,
+ local.filename.attrib
+ # end of filename.attlist
+
+ # end of filename.module
+ local.function.attrib = empty
+ function.role.attrib = role.attrib
+ function = element function { function.attlist, cptr.char.mix* }
+ # end of function.element
+ function.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ function.role.attrib,
+ local.function.attrib
+ # end of function.attlist
+
+ # end of function.module
+ local.guibutton.attrib = empty
+ guibutton.role.attrib = role.attrib
+ guibutton =
+ element guibutton { guibutton.attlist, (smallcptr.char.mix | accel)* }
+ # end of guibutton.element
+ guibutton.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ guibutton.role.attrib,
+ local.guibutton.attrib
+ # end of guibutton.attlist
+
+ # end of guibutton.module
+ local.guiicon.attrib = empty
+ guiicon.role.attrib = role.attrib
+ guiicon =
+ element guiicon { guiicon.attlist, (smallcptr.char.mix | accel)* }
+ # end of guiicon.element
+ guiicon.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ guiicon.role.attrib,
+ local.guiicon.attrib
+ # end of guiicon.attlist
+
+ # end of guiicon.module
+ local.guilabel.attrib = empty
+ guilabel.role.attrib = role.attrib
+ guilabel =
+ element guilabel { guilabel.attlist, (smallcptr.char.mix | accel)* }
+ # end of guilabel.element
+ guilabel.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ guilabel.role.attrib,
+ local.guilabel.attrib
+ # end of guilabel.attlist
+
+ # end of guilabel.module
+ local.guimenu.attrib = empty
+ guimenu.role.attrib = role.attrib
+ guimenu =
+ element guimenu { guimenu.attlist, (smallcptr.char.mix | accel)* }
+ # end of guimenu.element
+ guimenu.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ guimenu.role.attrib,
+ local.guimenu.attrib
+ # end of guimenu.attlist
+
+ # end of guimenu.module
+ local.guimenuitem.attrib = empty
+ guimenuitem.role.attrib = role.attrib
+ guimenuitem =
+ element guimenuitem {
+ guimenuitem.attlist, (smallcptr.char.mix | accel)*
+ }
+ # end of guimenuitem.element
+ guimenuitem.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ guimenuitem.role.attrib,
+ local.guimenuitem.attrib
+ # end of guimenuitem.attlist
+
+ # end of guimenuitem.module
+ local.guisubmenu.attrib = empty
+ guisubmenu.role.attrib = role.attrib
+ guisubmenu =
+ element guisubmenu {
+ guisubmenu.attlist, (smallcptr.char.mix | accel)*
+ }
+ # end of guisubmenu.element
+ guisubmenu.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ guisubmenu.role.attrib,
+ local.guisubmenu.attrib
+ # end of guisubmenu.attlist
+
+ # end of guisubmenu.module
+ local.hardware.attrib = empty
+ hardware.role.attrib = role.attrib
+ hardware = element hardware { hardware.attlist, cptr.char.mix* }
+ # end of hardware.element
+ hardware.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ hardware.role.attrib,
+ local.hardware.attrib
+ # end of hardware.attlist
+
+ # end of hardware.module
+ local.interface.attrib = empty
+ interface.role.attrib = role.attrib
+ interface =
+ element interface { interface.attlist, (smallcptr.char.mix | accel)* }
+ # end of interface.element
+
+ # Class: Type of the Interface item; no default
+ interface.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ interface.role.attrib,
+ local.interface.attrib
+ # end of interface.attlist
+
+ # end of interface.module
+ local.keycap.attrib = empty
+ keycap.role.attrib = role.attrib
+ keycap = element keycap { keycap.attlist, cptr.char.mix* }
+ # end of keycap.element
+ keycap.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ keycap.role.attrib,
+ local.keycap.attrib
+ # end of keycap.attlist
+
+ # end of keycap.module
+ local.keycode.attrib = empty
+ keycode.role.attrib = role.attrib
+ keycode = element keycode { keycode.attlist, smallcptr.char.mix* }
+ # end of keycode.element
+ keycode.attlist &=
+ common.attrib, keycode.role.attrib, local.keycode.attrib
+ # end of keycode.attlist
+
+ # end of keycode.module
+ local.keycombo.attrib = empty
+ keycombo.role.attrib = role.attrib
+ keycombo =
+ element keycombo {
+ keycombo.attlist, (keycap | keycombo | keysym | mousebutton)+
+ }
+ # end of keycombo.element
+ keycombo.attlist &=
+ keyaction.attrib,
+ moreinfo.attrib,
+ common.attrib,
+ keycombo.role.attrib,
+ local.keycombo.attrib
+ # end of keycombo.attlist
+
+ # end of keycombo.module
+ local.keysym.attrib = empty
+ keysysm.role.attrib = role.attrib
+ keysym = element keysym { keysym.attlist, smallcptr.char.mix* }
+ # end of keysym.element
+ keysym.attlist &=
+ common.attrib, keysysm.role.attrib, local.keysym.attrib
+ # end of keysym.attlist
+
+ # end of keysym.module
+ local.lineannotation.attrib = empty
+ lineannotation.role.attrib = role.attrib
+ lineannotation =
+ element lineannotation { lineannotation.attlist, para.char.mix* }
+ # end of lineannotation.element
+ lineannotation.attlist &=
+ common.attrib, lineannotation.role.attrib, local.lineannotation.attrib
+ # end of lineannotation.attlist
+
+ # end of lineannotation.module
+ local.literal.attrib = empty
+ literal.role.attrib = role.attrib
+ literal = element literal { literal.attlist, cptr.char.mix* }
+ # end of literal.element
+ literal.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ literal.role.attrib,
+ local.literal.attrib
+ # end of literal.attlist
+
+ # end of literal.module
+ local.constant.attrib = empty
+ constant.role.attrib = role.attrib
+ constant = element constant { constant.attlist, smallcptr.char.mix* }
+ # end of constant.element
+ constant.attlist &=
+ attribute class { "limit" }?,
+ common.attrib,
+ constant.role.attrib,
+ local.constant.attrib
+ # end of constant.attlist
+
+ # end of constant.module
+ local.varname.attrib = empty
+ varname.role.attrib = role.attrib
+ varname = element varname { varname.attlist, smallcptr.char.mix* }
+ # end of varname.element
+ varname.attlist &=
+ common.attrib, varname.role.attrib, local.varname.attrib
+ # end of varname.attlist
+
+ # end of varname.module
+ local.markup.attrib = empty
+ markup.role.attrib = role.attrib
+ markup = element markup { markup.attlist, smallcptr.char.mix* }
+ # end of markup.element
+ markup.attlist &= common.attrib, markup.role.attrib, local.markup.attrib
+ # end of markup.attlist
+
+ # end of markup.module
+ local.medialabel.attrib = empty
+ medialabel.role.attrib = role.attrib
+ medialabel =
+ element medialabel { medialabel.attlist, smallcptr.char.mix* }
+ # end of medialabel.element
+
+ # Class: Type of medium named by the element; no default
+ medialabel.attlist &=
+ attribute class { "cartridge" | "cdrom" | "disk" | "tape" }?,
+ common.attrib,
+ medialabel.role.attrib,
+ local.medialabel.attrib
+ # end of medialabel.attlist
+
+ # end of medialabel.module
+ local.menuchoice.attrib = empty
+ menuchoice.role.attrib = role.attrib
+ menuchoice =
+ element menuchoice {
+ menuchoice.attlist,
+ shortcut?,
+ (guibutton
+ | guiicon
+ | guilabel
+ | guimenu
+ | guimenuitem
+ | guisubmenu
+ | interface)+
+ }
+ # end of menuchoice.element
+ menuchoice.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ menuchoice.role.attrib,
+ local.menuchoice.attrib
+ # end of menuchoice.attlist
+
+ # end of menuchoice.module
+
+ # See also KeyCombo
+ local.shortcut.attrib = empty
+ shortcut.role.attrib = role.attrib
+ shortcut =
+ element shortcut {
+ shortcut.attlist, (keycap | keycombo | keysym | mousebutton)+
+ }
+ # end of shortcut.element
+ shortcut.attlist &=
+ keyaction.attrib,
+ moreinfo.attrib,
+ common.attrib,
+ shortcut.role.attrib,
+ local.shortcut.attrib
+ # end of shortcut.attlist
+
+ # end of shortcut.module
+
+ # end of menuchoice.content.module
+ local.mousebutton.attrib = empty
+ mousebutton.role.attrib = role.attrib
+ mousebutton =
+ element mousebutton { mousebutton.attlist, smallcptr.char.mix* }
+ # end of mousebutton.element
+ mousebutton.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ mousebutton.role.attrib,
+ local.mousebutton.attrib
+ # end of mousebutton.attlist
+
+ # end of mousebutton.module
+ local.msgtext.attrib = empty
+ msgtext.role.attrib = role.attrib
+ msgtext = element msgtext { msgtext.attlist, component.mix+ }
+ # end of msgtext.element
+ msgtext.attlist &=
+ common.attrib, msgtext.role.attrib, local.msgtext.attrib
+ # end of msgtext.attlist
+
+ # end of msgtext.module
+ local.option.attrib = empty
+ option.role.attrib = role.attrib
+ option = element option { option.attlist, cptr.char.mix* }
+ # end of option.element
+ option.attlist &= common.attrib, option.role.attrib, local.option.attrib
+ # end of option.attlist
+
+ # end of option.module
+ local.optional.attrib = empty
+ optional.role.attrib = role.attrib
+ optional = element optional { optional.attlist, cptr.char.mix* }
+ # end of optional.element
+ optional.attlist &=
+ common.attrib, optional.role.attrib, local.optional.attrib
+ # end of optional.attlist
+
+ # end of optional.module
+ local.parameter.attrib = empty
+ parameter.role.attrib = role.attrib
+ parameter = element parameter { parameter.attlist, cptr.char.mix* }
+ # end of parameter.element
+
+ # Class: Type of the Parameter; no default
+ parameter.attlist &=
+ attribute class { "command" | "function" | "option" }?,
+ moreinfo.attrib,
+ common.attrib,
+ parameter.role.attrib,
+ local.parameter.attrib
+ # end of parameter.attlist
+
+ # end of parameter.module
+ local.prompt.attrib = empty
+ prompt.role.attrib = role.attrib
+ prompt = element prompt { prompt.attlist, (smallcptr.char.mix | co)* }
+ # end of prompt.element
+ prompt.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ prompt.role.attrib,
+ local.prompt.attrib
+ # end of prompt.attlist
+
+ # end of prompt.module
+ local.property.attrib = empty
+ property.role.attrib = role.attrib
+ property = element property { property.attlist, cptr.char.mix* }
+ # end of property.element
+ property.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ property.role.attrib,
+ local.property.attrib
+ # end of property.attlist
+
+ # end of property.module
+ local.replaceable.attrib = empty
+ replaceable.role.attrib = role.attrib
+ replaceable =
+ element replaceable {
+ replaceable.attlist,
+ (text
+ | link.char.class
+ | optional
+ | base.char.class
+ | other.char.class
+ | inlinegraphic
+ | inlinemediaobject
+ | co)*
+ }
+ # end of replaceable.element
+
+ # Class: Type of information the element represents; no
+ # default
+ replaceable.attlist &=
+ attribute class { "command" | "function" | "option" | "parameter" }?,
+ common.attrib,
+ replaceable.role.attrib,
+ local.replaceable.attrib
+ # end of replaceable.attlist
+
+ # end of replaceable.module
+ local.returnvalue.attrib = empty
+ returnvalue.role.attrib = role.attrib
+ returnvalue =
+ element returnvalue { returnvalue.attlist, smallcptr.char.mix* }
+ # end of returnvalue.element
+ returnvalue.attlist &=
+ common.attrib, returnvalue.role.attrib, local.returnvalue.attrib
+ # end of returnvalue.attlist
+
+ # end of returnvalue.module
+ local.sgmltag.attrib = empty
+ sgmltag.role.attrib = role.attrib
+ sgmltag = element sgmltag { sgmltag.attlist, smallcptr.char.mix* }
+ # end of sgmltag.element
+
+ # Class: Type of SGML construct the element names; no default
+ sgmltag.attlist &=
+ attribute class {
+ "attribute"
+ | "attvalue"
+ | "element"
+ | "endtag"
+ | "emptytag"
+ | "genentity"
+ | "numcharref"
+ | "paramentity"
+ | "pi"
+ | "xmlpi"
+ | "starttag"
+ | "sgmlcomment"
+ }?,
+ common.attrib,
+ sgmltag.role.attrib,
+ local.sgmltag.attrib
+ # end of sgmltag.attlist
+
+ # end of sgmltag.module
+ local.structfield.attrib = empty
+ structfield.role.attrib = role.attrib
+ structfield =
+ element structfield { structfield.attlist, smallcptr.char.mix* }
+ # end of structfield.element
+ structfield.attlist &=
+ common.attrib, structfield.role.attrib, local.structfield.attrib
+ # end of structfield.attlist
+
+ # end of structfield.module
+ local.structname.attrib = empty
+ structname.role.attrib = role.attrib
+ structname =
+ element structname { structname.attlist, smallcptr.char.mix* }
+ # end of structname.element
+ structname.attlist &=
+ common.attrib, structname.role.attrib, local.structname.attrib
+ # end of structname.attlist
+
+ # end of structname.module
+ local.symbol.attrib = empty
+ symbol.role.attrib = role.attrib
+ symbol = element symbol { symbol.attlist, smallcptr.char.mix* }
+ # end of symbol.element
+
+ # Class: Type of symbol; no default
+ symbol.attlist &=
+ attribute class { "limit" }?,
+ common.attrib,
+ symbol.role.attrib,
+ local.symbol.attrib
+ # end of symbol.attlist
+
+ # end of symbol.module
+ local.systemitem.attrib = empty
+ systemitem.role.attrib = role.attrib
+ systemitem =
+ element systemitem {
+ systemitem.attlist, (cptr.char.mix | acronym | co)*
+ }
+ # end of systemitem.element
+
+ # Class: Type of system item the element names; no default
+ systemitem.attlist &=
+ attribute class {
+ "constant"
+ | "event"
+ | "eventhandler"
+ | "domainname"
+ | "fqdomainname"
+ | "ipaddress"
+ | "netmask"
+ | "etheraddress"
+ | "groupname"
+ | "library"
+ | "macro"
+ | "osname"
+ | "filesystem"
+ | "resource"
+ | "systemname"
+ | "username"
+ | "newsgroup"
+ }?,
+ moreinfo.attrib,
+ common.attrib,
+ systemitem.role.attrib,
+ local.systemitem.attrib
+ # end of systemitem.attlist
+
+ # end of systemitem.module
+ local.token.attrib = empty
+ token.role.attrib = role.attrib
+ \token = element token { token.attlist, smallcptr.char.mix* }
+ # end of token.element
+ token.attlist &= common.attrib, token.role.attrib, local.token.attrib
+ # end of token.attlist
+
+ # end of token.module
+ local.type.attrib = empty
+ type.role.attrib = role.attrib
+ type = element type { type.attlist, smallcptr.char.mix* }
+ # end of type.element
+ type.attlist &= common.attrib, type.role.attrib, local.type.attrib
+ # end of type.attlist
+
+ # end of type.module
+ local.userinput.attrib = empty
+ userinput.role.attrib = role.attrib
+ userinput =
+ element userinput { userinput.attlist, (cptr.char.mix | co)* }
+ # end of userinput.element
+ userinput.attlist &=
+ moreinfo.attrib,
+ common.attrib,
+ userinput.role.attrib,
+ local.userinput.attrib
+ # end of userinput.attlist
+
+ # end of userinput.module
+
+ # General words and phrases ............................................
+ local.abbrev.attrib = empty
+ abbrev.role.attrib = role.attrib
+ abbrev = element abbrev { abbrev.attlist, word.char.mix* }
+ # end of abbrev.element
+ abbrev.attlist &= common.attrib, abbrev.role.attrib, local.abbrev.attrib
+ # end of abbrev.attlist
+
+ # end of abbrev.module
+ local.acronym.attrib = empty
+ acronym.role.attrib = role.attrib
+ acronym = element acronym { acronym.attlist, word.char.mix* }
+ # end of acronym.element
+ acronym.attlist &=
+ common.attrib, acronym.role.attrib, local.acronym.attrib
+ # end of acronym.attlist
+
+ # end of acronym.module
+ local.citation.attrib = empty
+ citation.role.attrib = role.attrib
+ citation = element citation { citation.attlist, para.char.mix* }
+ # end of citation.element
+ citation.attlist &=
+ common.attrib, citation.role.attrib, local.citation.attrib
+ # end of citation.attlist
+
+ # end of citation.module
+ local.citerefentry.attrib = empty
+ citerefentry.role.attrib = role.attrib
+ citerefentry =
+ element citerefentry {
+ citerefentry.attlist, refentrytitle, manvolnum?
+ }
+ # end of citerefentry.element
+ citerefentry.attlist &=
+ common.attrib, citerefentry.role.attrib, local.citerefentry.attrib
+ # end of citerefentry.attlist
+
+ # end of citerefentry.module
+ local.refentrytitle.attrib = empty
+ refentrytitle.role.attrib = role.attrib
+ refentrytitle =
+ element refentrytitle { refentrytitle.attlist, para.char.mix* }
+ # end of refentrytitle.element
+ refentrytitle.attlist &=
+ common.attrib, refentrytitle.role.attrib, local.refentrytitle.attrib
+ # end of refentrytitle.attlist
+
+ # end of refentrytitle.module
+ local.manvolnum.attrib = empty
+ namvolnum.role.attrib = role.attrib
+ manvolnum = element manvolnum { manvolnum.attlist, word.char.mix* }
+ # end of manvolnum.element
+ manvolnum.attlist &=
+ common.attrib, namvolnum.role.attrib, local.manvolnum.attrib
+ # end of manvolnum.attlist
+
+ # end of manvolnum.module
+ local.citetitle.attrib = empty
+ citetitle.role.attrib = role.attrib
+ citetitle = element citetitle { citetitle.attlist, para.char.mix* }
+ # end of citetitle.element
+
+ # Pubwork: Genre of published work cited; no default
+ citetitle.attlist &=
+ attribute pubwork {
+ "article"
+ | "book"
+ | "chapter"
+ | "part"
+ | "refentry"
+ | "section"
+ | "journal"
+ | "series"
+ | "set"
+ | "manuscript"
+ }?,
+ common.attrib,
+ citetitle.role.attrib,
+ local.citetitle.attrib
+ # end of citetitle.attlist
+
+ # end of citetitle.module
+ local.emphasis.attrib = empty
+ emphasis.role.attrib = role.attrib
+ emphasis = element emphasis { emphasis.attlist, para.char.mix* }
+ # end of emphasis.element
+ emphasis.attlist &=
+ common.attrib, emphasis.role.attrib, local.emphasis.attrib
+ # end of emphasis.attlist
+
+ # end of emphasis.module
+ local.firstterm.attrib = empty
+ firstterm.role.attrib = role.attrib
+ firstterm = element firstterm { firstterm.attlist, word.char.mix* }
+ # end of firstterm.element
+
+ # to GlossEntry or other explanation
+ firstterm.attlist &=
+ linkend.attrib,
+ common.attrib,
+ firstterm.role.attrib,
+ local.firstterm.attrib
+ # end of firstterm.attlist
+
+ # end of firstterm.module
+ local.foreignphrase.attrib = empty
+ foreignphrase.role.attrib = role.attrib
+ foreignphrase =
+ element foreignphrase { foreignphrase.attlist, para.char.mix* }
+ # end of foreignphrase.element
+ foreignphrase.attlist &=
+ common.attrib, foreignphrase.role.attrib, local.foreignphrase.attrib
+ # end of foreignphrase.attlist
+
+ # end of foreignphrase.module
+ local.glossterm.attrib = empty
+ glossterm.role.attrib = role.attrib
+ glossterm = element glossterm { glossterm.attlist, para.char.mix* }
+ # end of glossterm.element
+
+ # to GlossEntry if Glossterm used in text
+
+ # BaseForm: Provides the form of GlossTerm to be used
+ # for indexing
+ glossterm.attlist &=
+ linkend.attrib,
+ attribute baseform { text }?,
+ common.attrib,
+ glossterm.role.attrib,
+ local.glossterm.attrib
+ # end of glossterm.attlist
+
+ # end of glossterm.module
+ local.phrase.attrib = empty
+ phrase.role.attrib = role.attrib
+ phrase = element phrase { phrase.attlist, para.char.mix* }
+ # end of phrase.element
+ phrase.attlist &= common.attrib, phrase.role.attrib, local.phrase.attrib
+ # end of phrase.attlist
+
+ # end of phrase.module
+ local.quote.attrib = empty
+ quote.role.attrib = role.attrib
+ quote = element quote { quote.attlist, para.char.mix* }
+ # end of quote.element
+ quote.attlist &= common.attrib, quote.role.attrib, local.quote.attrib
+ # end of quote.attlist
+
+ # end of quote.module
+ local.ssscript.attrib = empty
+ ssscript.role.attrib = role.attrib
+ subscript =
+ element subscript {
+ subscript.attlist,
+ (text
+ | link.char.class
+ | emphasis
+ | replaceable
+ | symbol
+ | inlinegraphic
+ | inlinemediaobject
+ | base.char.class
+ | other.char.class)*
+ }
+ # end of subscript.element
+ subscript.attlist &=
+ common.attrib, ssscript.role.attrib, local.ssscript.attrib
+ # end of subscript.attlist
+ superscript =
+ element superscript {
+ superscript.attlist,
+ (text
+ | link.char.class
+ | emphasis
+ | replaceable
+ | symbol
+ | inlinegraphic
+ | inlinemediaobject
+ | base.char.class
+ | other.char.class)*
+ }
+ # end of superscript.element
+ superscript.attlist &=
+ common.attrib, ssscript.role.attrib, local.ssscript.attrib
+ # end of superscript.attlist
+
+ # end of ssscript.module
+ local.trademark.attrib = empty
+ trademark.role.attrib = role.attrib
+ trademark =
+ element trademark {
+ trademark.attlist,
+ (text
+ | link.char.class
+ | tech.char.class
+ | base.char.class
+ | other.char.class
+ | inlinegraphic
+ | inlinemediaobject
+ | emphasis)*
+ }
+ # end of trademark.element
+
+ # Class: More precisely identifies the item the element names
+ trademark.attlist &=
+ [ a:defaultValue = "trade" ]
+ attribute class { "service" | "trade" | "registered" | "copyright" }?,
+ common.attrib,
+ trademark.role.attrib,
+ local.trademark.attrib
+ # end of trademark.attlist
+
+ # end of trademark.module
+ local.wordasword.attrib = empty
+ wordasword.role.attrib = role.attrib
+ wordasword = element wordasword { wordasword.attlist, word.char.mix* }
+ # end of wordasword.element
+ wordasword.attlist &=
+ common.attrib, wordasword.role.attrib, local.wordasword.attrib
+ # end of wordasword.attlist
+
+ # end of wordasword.module
+
+ # Links and cross-references ...........................................
+ local.link.attrib = empty
+ link.role.attrib = role.attrib
+ link = element link { link.attlist, para.char.mix* }
+ # end of link.element
+
+ # Endterm: ID of element containing text that is to be
+ # fetched from elsewhere in the document to appear as
+ # the content of this element
+
+ # to linked-to object
+
+ # Type: Freely assignable parameter
+ link.attlist &=
+ attribute endterm { xsd:IDREF }?,
+ linkendreq.attrib,
+ attribute type { text }?,
+ common.attrib,
+ link.role.attrib,
+ local.link.attrib
+ # end of link.attlist
+
+ # end of link.module
+ local.olink.attrib = empty
+ olink.role.attrib = role.attrib
+ olink = element olink { olink.attlist, para.char.mix* }
+ # end of olink.element
+
+ # TargetDocEnt: Name of an entity to be the target of the link
+
+ # LinkMode: ID of a ModeSpec containing instructions for
+ # operating on the entity named by TargetDocEnt
+
+ # LocalInfo: Information that may be passed to ModeSpec
+
+ # Type: Freely assignable parameter
+ olink.attlist &=
+ attribute targetdocent { xsd:ENTITY }?,
+ attribute linkmode { xsd:IDREF }?,
+ attribute localinfo { text }?,
+ attribute type { text }?,
+ attribute targetdoc { text }?,
+ attribute targetptr { text }?,
+ common.attrib,
+ olink.role.attrib,
+ local.olink.attrib
+ # end of olink.attlist
+
+ # end of olink.module
+ local.ulink.attrib = empty
+ ulink.role.attrib = role.attrib
+ ulink = element ulink { ulink.attlist, para.char.mix* }
+ # end of ulink.element
+
+ # URL: uniform resource locator; the target of the ULink
+
+ # Type: Freely assignable parameter
+ ulink.attlist &=
+ attribute url { text },
+ attribute type { text }?,
+ common.attrib,
+ ulink.role.attrib,
+ local.ulink.attrib
+ # end of ulink.attlist
+
+ # end of ulink.module
+ local.footnoteref.attrib = empty
+ footnoteref.role.attrib = role.attrib
+ footnoteref = element footnoteref { footnoteref.attlist, empty }
+ # end of footnoteref.element
+
+ # to footnote content supplied elsewhere
+ footnoteref.attlist &=
+ linkendreq.attrib,
+ label.attrib,
+ common.attrib,
+ footnoteref.role.attrib,
+ local.footnoteref.attrib
+ # end of footnoteref.attlist
+
+ # end of footnoteref.module
+ local.xref.attrib = empty
+ xref.role.attrib = role.attrib
+ xref = element xref { xref.attlist, empty }
+ # end of xref.element
+
+ # Endterm: ID of element containing text that is to be
+ # fetched from elsewhere in the document to appear as
+ # the content of this element
+
+ # to linked-to object
+ xref.attlist &=
+ attribute endterm { xsd:IDREF }?,
+ linkendreq.attrib,
+ common.attrib,
+ xref.role.attrib,
+ local.xref.attrib
+ # end of xref.attlist
+
+ # end of xref.module
+
+ # Ubiquitous elements ..................................................
+ local.anchor.attrib = empty
+ anchor.role.attrib = role.attrib
+ anchor = element anchor { anchor.attlist, empty }
+ # end of anchor.element
+
+ # required
+
+ # replaces Lang
+ anchor.attlist &=
+ idreq.attrib,
+ pagenum.attrib,
+ remap.attrib,
+ xreflabel.attrib,
+ revisionflag.attrib,
+ effectivity.attrib,
+ anchor.role.attrib,
+ local.anchor.attrib
+ # end of anchor.attlist
+
+ # end of anchor.module
+ local.beginpage.attrib = empty
+ beginpage.role.attrib = role.attrib
+ beginpage = element beginpage { beginpage.attlist, empty }
+ # end of beginpage.element
+
+ # PageNum: Number of page that begins at this point
+ beginpage.attlist &=
+ pagenum.attrib,
+ common.attrib,
+ beginpage.role.attrib,
+ local.beginpage.attrib
+ # end of beginpage.attlist
+
+ # end of beginpage.module
+
+ # IndexTerms appear in the text flow for generating or linking an
+ # index.
+ local.indexterm.attrib = empty
+ indexterm.role.attrib = role.attrib
+ indexterm =
+ element indexterm {
+ indexterm.attlist,
+ primary?,
+ ((secondary,
+ ((tertiary, (see | seealso+)?)
+ | see
+ | seealso+)?)
+ | see
+ | seealso+)?
+ }
+ # end of indexterm.element
+
+ # Scope: Indicates which generated indices the IndexTerm
+ # should appear in: Global (whole document set), Local (this
+ # document only), or All (both)
+
+ # Significance: Whether this IndexTerm is the most pertinent
+ # of its series (Preferred) or not (Normal, the default)
+
+ # Class: Indicates type of IndexTerm; default is Singular,
+ # or EndOfRange if StartRef is supplied; StartOfRange value
+ # must be supplied explicitly on starts of ranges
+
+ # StartRef: ID of the IndexTerm that starts the indexing
+ # range ended by this IndexTerm
+
+ # Zone: IDs of the elements to which the IndexTerm applies,
+ # and indicates that the IndexTerm applies to those entire
+ # elements rather than the point at which the IndexTerm
+ # occurs
+ indexterm.attlist &=
+ pagenum.attrib,
+ attribute scope { "all" | "global" | "local" }?,
+ [ a:defaultValue = "normal" ]
+ attribute significance { "preferred" | "normal" }?,
+ attribute class { "singular" | "startofrange" | "endofrange" }?,
+ attribute startref { xsd:IDREF }?,
+ attribute zone { xsd:IDREFS }?,
+ common.attrib,
+ indexterm.role.attrib,
+ local.indexterm.attrib
+ # end of indexterm.attlist
+
+ # end of indexterm.module
+ local.primsecter.attrib = empty
+ primsecter.role.attrib = role.attrib
+ primary = element primary { primary.attlist, ndxterm.char.mix* }
+ # end of primary.element
+
+ # SortAs: Alternate sort string for index sorting, e.g.,
+ # "fourteen" for an element containing "14"
+ primary.attlist &=
+ attribute sortas { text }?,
+ common.attrib,
+ primsecter.role.attrib,
+ local.primsecter.attrib
+ # end of primary.attlist
+ secondary = element secondary { secondary.attlist, ndxterm.char.mix* }
+ # end of secondary.element
+
+ # SortAs: Alternate sort string for index sorting, e.g.,
+ # "fourteen" for an element containing "14"
+ secondary.attlist &=
+ attribute sortas { text }?,
+ common.attrib,
+ primsecter.role.attrib,
+ local.primsecter.attrib
+ # end of secondary.attlist
+ tertiary = element tertiary { tertiary.attlist, ndxterm.char.mix* }
+ # end of tertiary.element
+
+ # SortAs: Alternate sort string for index sorting, e.g.,
+ # "fourteen" for an element containing "14"
+ tertiary.attlist &=
+ attribute sortas { text }?,
+ common.attrib,
+ primsecter.role.attrib,
+ local.primsecter.attrib
+ # end of tertiary.attlist
+
+ # end of primsecter.module
+ local.seeseealso.attrib = empty
+ seeseealso.role.attrib = role.attrib
+ see = element see { see.attlist, ndxterm.char.mix* }
+ # end of see.element
+ see.attlist &=
+ common.attrib, seeseealso.role.attrib, local.seeseealso.attrib
+ # end of see.attlist
+ seealso = element seealso { seealso.attlist, ndxterm.char.mix* }
+ # end of seealso.element
+ seealso.attlist &=
+ common.attrib, seeseealso.role.attrib, local.seeseealso.attrib
+ # end of seealso.attlist
+
+ # end of seeseealso.module
+
+ # end of indexterm.content.module
+
+ # End of DocBook XML information pool module V4.2 ......................
+
+ # ......................................................................
--- /dev/null
-# $Id: xslt.rnc,v 1.2 2003/08/30 08:09:03 jjc Exp $
++# $Id: xslt.rnc,v 1.1 2007/11/23 06:57:47 hexmode Exp $
+
+ # This was mostly generated from the syntax summary in the XSLT
+ # Recommendation (using XSLT of course).
+
+ # Issues: this validates extension elements as literal result
+ # elements, which is overly restrictive.
+
+ namespace local = ""
+ default namespace xsl = "http://www.w3.org/1999/XSL/Transform"
+
+ start =
+ stylesheet.element
+ | transform.element
+ | literal-result-element-as-stylesheet
+ version = "1.0"
+ top-level-elements.model =
+ (top-level-element.category | top-level-extension)*
+ top-level-extension =
+ element * - (xsl:* | local:*) {
+ grammar {
+ start = any
+ any =
+ (attribute * { text }
+ | text
+ | element * { any })*
+ }
+ }
+ template.model = (instruction.category | literal-result-element | text)*
+ literal-result-element-as-stylesheet =
+ element * - xsl:* {
+ attribute xsl:version { version },
+ literal-result-element-no-version.atts,
+ template.model
+ }
+ literal-result-element =
+ element * - xsl:* { literal-result-element.atts, template.model }
+ literal-result-element.atts =
+ literal-result-element-no-version.atts,
+ attribute xsl:version { version }?
+ literal-result-element-no-version.atts =
+ (attribute * - xsl:* { avt.datatype }
+ | attribute xsl:extension-element-prefixes { prefixes.datatype }
+ | attribute xsl:exclude-result-prefixes { prefixes.datatype }
+ | attribute xsl:use-attribute-sets { qnames.datatype })*
+ top-level-element.category =
+ include.element
+ | strip-space.element
+ | preserve-space.element
+ | template.element
+ | namespace-alias.element
+ | attribute-set.element
+ | variable.element
+ | param.element
+ | key.element
+ | decimal-format.element
+ | output.element
+ instruction.category =
+ apply-templates.element
+ | apply-imports.element
+ | call-template.element
+ | element.element
+ | attribute.element
+ | text.element
+ | processing-instruction.element
+ | comment.element
+ | copy.element
+ | value-of.element
+ | number.element
+ | for-each.element
+ | if.element
+ | choose.element
+ | variable.element
+ | copy-of.element
+ | message.element
+ | fallback.element
+ extension.atts = attribute * - (xsl:* | local:*) { text }*
+ stylesheet.element = element stylesheet { stylesheet.model }
+ transform.element = element transform { stylesheet.model }
+ stylesheet.model =
+ extension.atts,
+ attribute id { xsd:NCName }?,
+ attribute extension-element-prefixes { prefixes.datatype }?,
+ attribute exclude-result-prefixes { prefixes.datatype }?,
+ attribute version { version },
+ (import.element*, top-level-elements.model)
+ include.element =
+ element include {
+ extension.atts,
+ attribute href { xsd:anyURI }
+ }
+ import.element =
+ element import {
+ extension.atts,
+ attribute href { xsd:anyURI }
+ }
+ strip-space.element =
+ element strip-space {
+ extension.atts,
+ attribute elements { wildcards.datatype }
+ }
+ preserve-space.element =
+ element preserve-space {
+ extension.atts,
+ attribute elements { wildcards.datatype }
+ }
+ template.element =
+ element template {
+ extension.atts,
+ attribute match { pattern.datatype }?,
+ attribute name { qname.datatype }?,
+ attribute priority { number.datatype }?,
+ attribute mode { qname.datatype }?,
+ (param.element*, template.model)
+ }
+ apply-templates.element =
+ element apply-templates {
+ extension.atts,
+ attribute select { expression.datatype }?,
+ attribute mode { qname.datatype }?,
+ (sort.element | with-param.element)*
+ }
+ apply-imports.element = element apply-imports { extension.atts }
+ call-template.element =
+ element call-template {
+ extension.atts,
+ attribute name { qname.datatype },
+ with-param.element*
+ }
+ namespace-alias.element =
+ element namespace-alias {
+ extension.atts,
+ attribute stylesheet-prefix { prefix.datatype },
+ attribute result-prefix { prefix.datatype }
+ }
+ element.element =
+ element element {
+ extension.atts,
+ attribute name { qname.datatype | expr-avt.datatype },
+ attribute namespace { xsd:anyURI | brace-avt.datatype }?,
+ attribute use-attribute-sets { qnames.datatype }?,
+ template.model
+ }
+ attribute.element =
+ element attribute {
+ extension.atts,
+ attribute name { qname.datatype | expr-avt.datatype },
+ attribute namespace { xsd:anyURI | brace-avt.datatype }?,
+ template.model
+ }
+ attribute-set.element =
+ element attribute-set {
+ extension.atts,
+ attribute name { qname.datatype },
+ attribute use-attribute-sets { qnames.datatype }?,
+ attribute.element*
+ }
+ text.element =
+ element text {
+ extension.atts,
+ attribute disable-output-escaping {
+ xsd:string "yes" | xsd:string "no"
+ }?,
+ text
+ }
+ processing-instruction.element =
+ element processing-instruction {
+ extension.atts,
+ attribute name { xsd:NCName | expr-avt.datatype },
+ template.model
+ }
+ comment.element = element comment { extension.atts, template.model }
+ copy.element =
+ element copy {
+ extension.atts,
+ attribute use-attribute-sets { qnames.datatype }?,
+ template.model
+ }
+ value-of.element =
+ element value-of {
+ extension.atts,
+ attribute select { expression.datatype },
+ attribute disable-output-escaping {
+ xsd:string "yes" | xsd:string "no"
+ }?
+ }
+ number.element =
+ element number {
+ extension.atts,
+ attribute level {
+ xsd:string "single" | xsd:string "multiple" | xsd:string "any"
+ }?,
+ attribute count { pattern.datatype }?,
+ attribute from { pattern.datatype }?,
+ attribute value { expression.datatype }?,
+ attribute format { avt.datatype }?,
+ attribute lang { xsd:NMTOKEN | expr-avt.datatype }?,
+ attribute letter-value {
+ xsd:string "alphabetic"
+ | xsd:string "traditional"
+ | expr-avt.datatype
+ }?,
+ attribute grouping-separator { char.datatype | expr-avt.datatype }?,
+ attribute grouping-size { number.datatype | expr-avt.datatype }?
+ }
+ for-each.element =
+ element for-each {
+ extension.atts,
+ attribute select { expression.datatype },
+ (sort.element*, template.model)
+ }
+ if.element =
+ element if {
+ extension.atts,
+ attribute test { expression.datatype },
+ template.model
+ }
+ choose.element =
+ element choose { extension.atts, (when.element+, otherwise.element?) }
+ when.element =
+ element when {
+ extension.atts,
+ attribute test { expression.datatype },
+ template.model
+ }
+ otherwise.element = element otherwise { extension.atts, template.model }
+ sort.element =
+ element sort {
+ extension.atts,
+ attribute select { expression.datatype }?,
+ attribute lang { xsd:NMTOKEN | expr-avt.datatype }?,
+ attribute data-type {
+ xsd:string "text"
+ | xsd:string "number"
+ | qname-but-not-ncname.datatype
+ | expr-avt.datatype
+ }?,
+ attribute order {
+ xsd:string "ascending"
+ | xsd:string "descending"
+ | expr-avt.datatype
+ }?,
+ attribute case-order {
+ xsd:string "upper-first"
+ | xsd:string "lower-first"
+ | expr-avt.datatype
+ }?
+ }
+ variable.element =
+ element variable {
+ extension.atts,
+ attribute name { qname.datatype },
+ (attribute select { expression.datatype }
+ | template.model)
+ }
+ param.element =
+ element param {
+ extension.atts,
+ attribute name { qname.datatype },
+ (attribute select { expression.datatype }
+ | template.model)
+ }
+ copy-of.element =
+ element copy-of {
+ extension.atts,
+ attribute select { expression.datatype }
+ }
+ with-param.element =
+ element with-param {
+ extension.atts,
+ attribute name { qname.datatype },
+ (attribute select { expression.datatype }
+ | template.model)
+ }
+ key.element =
+ element key {
+ extension.atts,
+ attribute name { qname.datatype },
+ attribute match { pattern.datatype },
+ attribute use { expression.datatype }
+ }
+ decimal-format.element =
+ element decimal-format {
+ extension.atts,
+ attribute name { qname.datatype }?,
+ attribute decimal-separator { char.datatype }?,
+ attribute grouping-separator { char.datatype }?,
+ attribute infinity { text }?,
+ attribute minus-sign { char.datatype }?,
+ attribute NaN { text }?,
+ attribute percent { char.datatype }?,
+ attribute per-mille { char.datatype }?,
+ attribute zero-digit { char.datatype }?,
+ attribute digit { char.datatype }?,
+ attribute pattern-separator { char.datatype }?
+ }
+ message.element =
+ element message {
+ extension.atts,
+ attribute terminate { xsd:string "yes" | xsd:string "no" }?,
+ template.model
+ }
+ fallback.element = element fallback { extension.atts, template.model }
+ output.element =
+ element output {
+ extension.atts,
+ attribute method {
+ xsd:string "xml"
+ | xsd:string "html"
+ | xsd:string "text"
+ | qname-but-not-ncname.datatype
+ }?,
+ attribute version { xsd:NMTOKEN }?,
+ attribute encoding { text }?,
+ attribute omit-xml-declaration {
+ xsd:string "yes" | xsd:string "no"
+ }?,
+ attribute standalone { xsd:string "yes" | xsd:string "no" }?,
+ attribute doctype-public { text }?,
+ attribute doctype-system { text }?,
+ attribute cdata-section-elements { qnames.datatype }?,
+ attribute indent { xsd:string "yes" | xsd:string "no" }?,
+ attribute media-type { text }?
+ }
+ prefixes.datatype = list { (xsd:NCName | "#default")* }
+ prefix.datatype = xsd:NCName | "#default"
+ wildcards.datatype =
+ list {
+ (xsd:QName
+ | xsd:token { pattern = "\*|\i\c*:\*" })*
+ }
+ qname.datatype = xsd:QName
+ qnames.datatype = list { xsd:QName* }
+ char.datatype = xsd:string { length = "1" }
+ number.datatype = xsd:decimal
+ expression.datatype = text
+ pattern.datatype = text
+ qname-but-not-ncname.datatype = xsd:QName { pattern = ".*:.*" }
+ # An AVT containing at least one expression.
+ expr-avt.datatype =
+ xsd:string {
+ pattern =
+ """([^\{\}]|\{\{|\}\})*\{([^"'\{\}]|"[^"]*"|'[^']*')+\}([^\{\}]|\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})*"""
+ }
+ # An AVT containing at least one brace; ie where instantiated AVT
+ # is not the same as the literal AVT.
+ brace-avt.datatype =
+ xsd:string {
+ pattern =
+ """[^\{\}]*(\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})([^\{\}]|\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})*"""
+ }
+ avt.datatype =
+ xsd:string {
+ pattern =
+ """([^\{\}]|\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})*"""
+ }
#
lispsource = ../lisp/
-MOUSE_SUPPORT = $(lispsource)select.elc $(lispsource)scroll-bar.elc $(lispsource)mouse.elc $(lispsource)tooltip.elc
-WINNT_SUPPORT = $(lispsource)ls-lisp.elc $(lispsource)disp-table.elc $(lispsource)w32-fns.elc $(lispsource)dos-w32.elc $(lispsource)w32-vars.elc
+MOUSE_SUPPORT = \
+ $(lispsource)select.elc \
+ $(lispsource)scroll-bar.elc \
+ $(lispsource)mouse.elc \
+ $(lispsource)tooltip.elc
+WINNT_SUPPORT = \
+ $(lispsource)ls-lisp.elc \
+ $(lispsource)disp-table.elc \
+ $(lispsource)w32-fns.elc \
+ $(lispsource)dos-w32.elc \
+ $(lispsource)w32-vars.elc \
+ $(lispsource)term/w32-win.elc
# lisp files that are loaded up on other platforms
-MSDOS_SUPPORT = $(lispsource)dos-fns.elc $(lispsource)dos-vars.elc $(lispsource)international/ccl.elc $(lispsource)international/codepage.elc
-VMS_SUPPORT = $(lispsource)vmsproc.el $(lispsource)vms-patch.el
+MSDOS_SUPPORT = \
+ $(lispsource)dos-fns.elc \
+ $(lispsource)dos-vars.elc \
+ $(lispsource)international/ccl.elc \
+ $(lispsource)international/codepage.elc
+VMS_SUPPORT = \
- $(lispsource)vmsproc.elc \
- $(lispsource)vms-patch.elc
++ $(lispsource)vmsproc.el \
++ $(lispsource)vms-patch.el
+TOOLTIP_SUPPORT = $(lispsource)tooltip.elc
+WINDOW_SUPPORT = \
+ $(lispsource)fringe.elc \
+ $(lispsource)image.elc \
+ $(lispsource)international/fontset.elc \
+ $(lispsource)dnd.elc \
+ $(lispsource)tool-bar.elc \
+ $(lispsource)mwheel.elc
lisp1= \
$(lispsource)abbrev.elc \
--- /dev/null
+2007-12-06 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * language/tibet-util.el (tibetan-composition-function): Use
+ font-shape-text if auto-compose-current-font is non-nil.
+
+ * language/tibetan.el: Fix the range for recording
+ tibetan-composition-function in composition-function-table.
+
+ * language/mlm-util.el (malayalam-composition-function): Use
+ font-shape-text if auto-compose-current-font is non-nil.
+
+ * international/mule-conf.el: Flag many charsets as supplementary.
+
+ * international/mule.el (define-charset): Update the docstring for
+ :supplementary-p.
+
+ * international/fontset.el (setup-default-fontset): Add OpenType
+ fonts for malayalam and tibetan.
+
+2007-12-03 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * international/fontset.el (x-complement-fontset-spec): Use
+ font-spec.
+
+2007-12-01 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * international/fontset.el (otf-script-alist): Make all otf tags
+ 4-letters.
+ (setup-default-fontset): Add OpenType fonts for devanagari and
+ tamil.
+
+ * language/tml-util.el (tamil-composition-function): Use
+ font-shape-text if auto-compose-current-font is non-nil.
+
+ * language/devan-util.el (devanagari-composition-function): Use
+ font-shape-text if auto-compose-current-font is non-nil.
+
+ * composite.el (auto-compose-chars): Argument font-object changed
+ to window.
+
+2007-11-21 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el (ps-lpr-switches): Docstring fix.
+ (ps-string-list): New fun.
+ (ps-do-despool): Code fix.
+
+2007-11-19 Kenichi Handa <handa@ni.aist.go.jp>
+
+ * international/utf-7.el (utf-7-imap-post-read-conversion)
+ (utf-7-imap-pre-write-conversion): New functions.
+
+ * international/mule-conf.el (utf-7-imap): New coding system.
+
+2007-11-18 Kenichi Handa <handa@m17n.org>
+
+ * term/x-win.el (x-selection-value): If x-select-request-type is
+ nil, try also STRING at last.
+ (x-select-request-type): Doc adjusted the change of
+ x-selection-value.
+
+ * select.el (selection-coding-system)
+ (next-selection-coding-system): Declaration moded from xselect.c.
+ (x-get-selection): Decode by selection-coding-system if it is
+ non-nil. If it is nil, decode by a proper coding system. Handle
+ C_STRING.
+ (ccl-check-utf-8, string-utf-8-p): Delete them.
+ (xselect-convert-to-string): Fix determining data-type in the case
+ that TEXT is requested. Don't use selection-coding-system if it's
+ not proper for the data-type.
+
+2007-11-17 Kenichi Handa <handa@m17n.org>
+
+ * term/x-win.el (x-selection-value): If x-select-request-type is
+ nil, simply try UTF8_STRING and COMPOUND-TEXT in this order.
+
+2007-11-14 Jason Rumney <jasonr@gnu.org>
+
+ * term/w32-win.el (w32-initialize-window-system): Use t, not nil
+ to signify default fontset.
+
+2007-06-19 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (describe-language-environment):
+ Check if the specified input method exists or not.
+
++2007-11-12 Katsumi Yamaoka <yamaoka@jpl.org>
++
++ * ldefs-boot.el: Regenerate.
++
+2007-11-11 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el (ps-do-despool): Do not force ps-lpr-switches to be a
+ list.
+ (ps-begin-job): Error if ps-lpr-switches is not a list.
+ (ps-face-background-name): Remove this function. It's already defined
+ in ps-def.el file.
+
+2007-11-09 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el (ps-do-despool): If ps-lpr-switches is not a list, force
+ it to be one.
+ (ps-print-version): New version 7.3.1.
+
+2007-10-31 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el: Eliminate the check if ps-print was running on Lucid or
+ Epoch emacsen.
+
+2007-10-27 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el: Now detect if text foreground and background colors are
+ equals and replace the foreground color by another color, so the text
+ becomes visible. Doc fix.
+ (ps-print-version): New version 7.3.
+ (ps-default-fg, ps-default-bg): Docstring fix.
+ (ps-fg-list, ps-fg-validate-p): New options.
+ (ps-foreground-list): New var.
+ (ps-generate-header-line): Replace fboundp by functionp.
+ (ps-setup, ps-begin-job, ps-plot-region): Fix code.
+
+2007-10-26 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * printing.el: Pacify byte compiler, that is, no compiler warnings.
+ Move (again) some variable definitions before use, define some fun
+ aliases, no code change.
+ (pr-version): New version 6.9.2.
+ (pr-path-style, pr-auto-region, pr-menu-char-height)
+ (pr-menu-char-width, pr-menu-lock, pr-ps-printer-alist)
+ (pr-txt-printer-alist, pr-ps-utility-alist): Options declaration
+ via (defvar VAR).
+ (pr-menu-lookup, pr-menu-lock, pr-menu-alist, pr-even-or-odd-pages)
+ (pr-menu-get-item, pr-menu-set-item-name, pr-menu-set-utility-title)
+ (pr-menu-set-ps-title, pr-menu-set-txt-title, pr-region-active-p)
+ (pr-do-update-menus, pr-update-mode-line, pr-f-read-string)
+ (pr-f-set-keymap-parents, pr-keep-region-active): Fun aliases.
+ (pr-menu-print-item, pr-ps-printer-menu-modified)
+ (pr-txt-printer-menu-modified, pr-ps-utility-menu-modified)
+ (pr-even-or-odd-alist): Vars definition moved.
+
+2007-10-23 Kenichi Handa <handa@m17n.org>
+
+ * language/chinese.el (cp936): Delete duplicated alias.
+
+ * international/mule-diag.el (list-block-of-chars): Don't insert
+ non-Unicode characters.
+
+2007-10-14 Jason Rumney <jasonr@gnu.org>
+
+ * loadup.el [windows-nt]: Don't load code-pages and ccl.
+ * term/w32-win.el: Don't require code-pages.
+
+2007-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Fix up multi-tty merge.
+
+ * version.el (emacs-version): Bump to 23.0.60.
+
+ * term/x-win.el (x-initialize-window-system): Don't try to create
+ a fontset from a font-specification anymore. This was removed on the
+ unicode branch and mistakenly re-added by the multi-tty merge.
+
+ * term/w32-win.el: Remove duplicate code that's now in
+ w32-initialize-window-system.
+ (w32-initialize-window-system): Don't try to create a fontset from
+ a font-specification anymore. This was removed on the unicode branch
+ and mistakenly re-added by the multi-tty merge.
+
+ * term/mac-win.el: Remove duplicate top-level code.
+
+ * ldefs-boot.el: Update.
+
+ * language/ethio-util.el:
+ * international/characters.el: Use utf-8 rather than utf-8-emacs
+ since it works as well and has the advantage of working with
+ non-unicode versions of Emacs.
+
+ * international/encoded-kb.el (encoded-kbd-setup-display): Use the new
+ multi-tty code, which includes the previous local change.
+
+2007-10-10 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el: Fix the usage of :foreground and :background face
+ attributes. Reported by Nikolaj Schumacher <n_schumacher@web.de>.
+ (ps-print-version): New version 7.2.5.
+ (ps-face-attributes, ps-face-attribute-list, ps-face-background): Fix
+ code.
+ (ps-face-foreground-color-p, ps-face-background-color-p)
+ (ps-face-color-p): New inline funs.
+ (ps-background, ps-begin-file, ps-build-reference-face-lists): Use
+ `mapc' rather than `mapcar'.
+
+2007-09-07 Kenichi Handa <handa@m17n.org>
+
+ * skeleton.el (skeleton-internal-1): Use integerp and stringp
+ instead of char-or-string-p to catch -1.
+
+2007-09-04 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (inactivate-input-method): Set
+ input-method-function to nil before calling
+ inactivate-current-input-method-function.
+
+2007-08-23 Kenichi Handa <handa@m17n.org>
+
+ * play/gamegrid.el (gamegrid-setup-default-font): Calculate a font
+ height that doesn't exceed the requested height by rounding off.
+
+2007-08-16 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el (ps-header-font-size, ps-header-title-font-size)
+ (ps-footer-font-size, ps-line-number-font-size, ps-line-spacing)
+ (ps-paragraph-spacing): Docstring fix.
+
+2007-08-16 Glenn Morris <rgm@gnu.org>
+
+ * ps-print.el (ps-font-size): Doc fix.
+
+2007-08-08 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el (ps-default-fg, ps-default-bg): Docstring fix.
+ (ps-begin-job): Use ps-default-fg and ps-default-bg only when
+ ps-print-color-p is neither nil nor black-white. Reported by Christian
+ Schlauer <cs-muelleimer-rubbish.bin@arcor.de>.
+
+2007-08-06 Vinicius Jose Latorre <viniciusig@ig.com.br>
+
+ * printing.el (pr-update-menus): Docstring fix.
+
+2007-08-05 Vinicius Jose Latorre <viniciusig@ig.com.br>
+
+ * printing.el: Require lpr and ps-print when loading printing package.
+ Reported by Glenn Morris <rgm@gnu.org>.
+
+2007-08-03 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * printing.el: Evaluate require only during compilation.
+ (pr-version): New version 6.9.1.
+ (deactivate-mark): Replace (defvar VAR nil) by (defvar VAR).
+ (pr-global-menubar): Fix code.
+
+2007-07-26 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * progmodes/ebnf-abn.el (ebnf-abn-skip-comment):
+ * progmodes/ebnf-bnf.el (ebnf-bnf-skip-comment):
+ * progmodes/ebnf-dtd.el (ebnf-dtd-skip-comment):
+ * progmodes/ebnf-ebx.el (ebnf-ebx-skip-comment):
+ * progmodes/ebnf-iso.el (ebnf-iso-skip-comment):
+ * progmodes/ebnf-yac.el (ebnf-yac-skip-comment): New version.
+ New command actions for EPS header and EPS footer.
+
+ * progmodes/ebnf2ps.el: New command actions for EPS header and EPS
+ footer. Fix some problems with one-or-more, zero-or-more and
+ alternative constructions generation. Some log messages
+ implementation. Doc fix.
+ (ebnf-version): New version 4.4.
+ (ebnf-eps-header-font, ebnf-eps-header, ebnf-eps-footer-font)
+ (ebnf-eps-footer, ebnf-log): New options.
+ (ebnf-find-style, ebnf-eps-header-footer, ebnf-eps-header)
+ (ebnf-eps-footer, ebnf-eps-string, ebnf-eps-header-footer-comment)
+ (ebnf-eps-header-footer-p, ebnf-eps-header-comment)
+ (ebnf-eps-footer-comment, ebnf-eps-header-footer-file)
+ (ebnf-eps-header-footer-set, ebnf-log-header, ebnf-log): New funs.
+ (ebnf-style-custom-list, ebnf-style-database): Put new values.
+ (ebnf-print-directory, ebnf-print-file, ebnf-print-buffer)
+ (ebnf-print-region, ebnf-spool-directory, ebnf-spool-file)
+ (ebnf-spool-buffer, ebnf-spool-region, ebnf-eps-directory)
+ (ebnf-eps-file, ebnf-eps-buffer, ebnf-eps-region)
+ (ebnf-syntax-directory, ebnf-syntax-file, ebnf-syntax-buffer)
+ (ebnf-syntax-region, ebnf-parse-and-sort, ebnf-begin-job)
+ (ebnf-dimensions, ebnf-production-dimension, ebnf-terminal-dimension)
+ (ebnf-non-terminal-dimension, ebnf-special-dimension)
+ (ebnf-terminal-dimension1, ebnf-repeat-dimension)
+ (ebnf-except-dimension, ebnf-alternative-dimension)
+ (ebnf-optional-dimension, ebnf-one-or-more-dimension)
+ (ebnf-zero-or-more-dimension, ebnf-sequence-dimension): Insert log
+ message fun.
+ (ebnf-setup, ebnf-generate-one-or-more, ebnf-generate-zero-or-more)
+ (ebnf-begin-job, ebnf-begin-file, ebnf-eps-finish-and-write)
+ (ebnf-insert-ebnf-prologue, ebnf-production-dimension)
+ (ebnf-terminal-dimension1, ebnf-alternative-dimension)
+ (ebnf-one-or-more-dimension, ebnf-zero-or-more-dimension)
+ (ebnf-eps-add-context, ebnf-eps-add-production): Fix code.
+ (ebnf-eps-filename, ebnf-trim-right): Replace `?\s' by `?\ ' to keep
+ compatibility with Emacs 20 & 21.
+ (ebnf-eps-header-comment, ebnf-eps-footer-comment)
+ (ebnf-eps-file-alist, ebnf-basic-width-extra)
+ (ebnf-basic-empty-height): New vars.
+ (ebnf-prologue): Fix PostScript code.
+ (ebnf-make-empty, ebnf-make-terminal1, ebnf-make-or-more1)
+ (ebnf-make-production, ebnf-make-alternative, ebnf-make-optional)
+ (ebnf-make-except, ebnf-make-repeat, ebnf-make-sequence)
+ (ebnf-make-dup-sequence, ebnf-token-alternative): Add comments.
+
+2007-07-26 Andreas Schwab <schwab@suse.de>
+
+ * international/mule-diag.el (print-fontset-element): Use fontp
+ only if defined.
+
+2007-07-25 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el (ps-multibyte-buffer): Docstring fix.
+
+ * ps-mule.el: Doc fix.
+ (ps-multibyte-buffer, ps-mule-font-info-database, ps-mule-prepare-font)
+ (ps-mule-external-libraries, ps-mule-encode-region)
+ (ps-mule-plot-composition, ps-mule-encode-header-string)
+ (ps-mule-begin-job): Docstring fix.
+ (ps-mule-prologue-generated): Code fix.
+
+2007-07-20 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el: Problem with foreground and background color when
+ printing a buffer with and without faces. Reported by Christian
+ Schlauer <cs-muelleimer-rubbish.bin@arcor.de>.
+ (ps-print-version): New version 7.2.4.
+ (ps-default-fg): Change default value to nil, so black color is used
+ when a face does not specify a foreground color.
+ (ps-default-bg): Change default value to nil, so white color is used
+ for background color.
+ (ps-begin-job): Fix code.
+
+2007-06-26 Kenichi Handa <handa@m17n.org>
+
+ * dnd.el (dnd-get-local-file-name): Call replace-regexp-in-string
+ with FIXEDCASE t.
+
+2007-06-20 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-diag.el (print-fontset-element): Fix for the
+ format change of a fontset element for font-backend feature.
+
+2007-06-19 Kenichi Handa <handa@m17n.org>
+
+ * descr-text.el (describe-char): Fix for the case that a component
+ character is TAB.
+
+2007-06-16 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el
+ (select-safe-coding-system-interactively): Fix printing of
+ rejected and unsafe coding-systems.
+
+ * international/fontset.el (setup-default-fontset): Add tai-viet.
+
+ * international/characters.el: Setup syntax/category table for Tai
+ Viet.
+ (script-list): Add tai-viet.
+
+ * loadup.el: Load "language/tai-viet".
+
+ * language/tai-viet.el: New file.
+
+ * language/tv-util.el: New file.
+
+2007-06-01 Jason Rumney <jasonr@gnu.org>
+
+ * faces.el (font-weight-table): Use defaults on w32 that match
+ LOGFONT.lfWeight.
+
+ * term/w32-win.el: Don't create fontset from command-line font.
+
+2007-05-29 Juanma Barranquero <lekktu@gmail.com>
+
+ * international/mule-cmds.el (toggle-enable-multibyte-characters)
+ (sort-coding-systems, search-unencodable-char): Doc fixes.
+ (default-input-method, input-method-verbose-flag)
+ (input-method-highlight-flag): Remove * in defcustom's docstrings.
+ (exit-language-environment-hook, set-default-coding-systems)
+ (coding-system-change-eol-conversion, prefer-coding-system)
+ (find-multibyte-characters, leim-list-entry-regexp)
+ (set-input-method, input-method-exit-on-first-char, princ-list)
+ (locale-language-names, locale-charset-language-names)
+ (define-char-code-property): Fix typos in docstrings.
+
+2007-05-28 Kenichi Handa <handa@m17n.org>
+
+ * disp-table.el (make-glyph-code): Fix for a new character code
+ space (22-bit).
+ (glyph-char): Likewise.
+ (glyph-face): Likewise.
+
+2007-05-17 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * printing.el: Group together all XEmacs/Emacs definitions.
+ (pr-version): New version 6.9.
+ (pr-global-menubar, pr-menu-char-height, pr-menu-char-width): New funs.
+ (pr-menu-char-height, pr-menu-char-width): Fix initialization code.
+ (pr-menu-bind): Fix code.
+ (pr-e-frame-char-height, pr-e-frame-char-width)
+ (pr-e-mouse-pixel-position, pr-x-add-submenu, pr-x-event-function)
+ (pr-x-event-object, pr-x-find-menu-item, pr-x-font-height)
+ (pr-x-font-width, pr-x-get-popup-menu-response, pr-x-make-event)
+ (pr-x-misc-user-event-p, pr-x-relabel-menu-item, pr-x-event-x-pixel)
+ (pr-x-event-y-pixel): Aliases eliminated.
+ (pr-xemacs-global-menubar): Macro moved.
+ (current-menubar, current-mouse-event, zmacs-region-stays)
+ (deactivate-mark, pr-menu-position, pr-menu-state, pr-ps-name-old)
+ (pr-txt-name-old, pr-ps-utility-old, pr-even-or-odd-old, pr-temp-menu):
+ Vars moved.
+ (pr-region-active-p, pr-menu-position, pr-menu-lookup, pr-menu-lock)
+ (pr-update-mode-line, pr-do-update-menus, pr-menu-alist)
+ (pr-relabel-menu-item, pr-menu-set-ps-title, pr-menu-set-txt-title)
+ (pr-menu-set-utility-title, pr-even-or-odd-pages)
+ (pr-f-set-keymap-parents, pr-f-set-keymap-name, pr-f-read-string)
+ (pr-keep-region-active, pr-menu-get-item, pr-menu-set-item-name): Funs
+ moved.
+
+2007-05-16 Juanma Barranquero <lekktu@gmail.com>
+
+ * printing.el (pr-ps-fast-fire): Fix typos in docstring.
+
+2007-05-13 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el: Use default color when foreground or background color
+ are unspecified. Reported by Leo <sdl.web@gmail.com>.
+ (ps-print-version): New version 7.2.3.
+ (ps-rgb-color): New argument. Use default color when color is
+ unspecified.
+ (ps-begin-job): Fix code.
+
+2007-03-28 Riccardo Murri <riccardo.murri@gmail.com>
+
+ * vc-bzr.el: New file.
+
+2007-03-23 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el: Add more cases/syntaxes from Latin
+ characters.
+
+2007-03-09 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-def.el (installation-directory): Must be initialized when defining
+ it in XEmacs.
+ (coding-system-for-read): Eliminate duplicated definition.
+
+2007-03-05 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el: Replace some (defvar VAR) by (defvar VAR nil).
+
+2007-03-01 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el: Replace (defvar VAR nil) by (defvar VAR).
+ (ps-print-emacs-type): Var eliminated.
+ (ps-setup): Remove ps-print-emacs-type. Print which Emacsen is
+ running ps-print package.
+
+ * ps-def.el: Replace (defvar VAR nil) by (defvar VAR).
+ (ps-frame-parameter): Replace defun by defalias.
+ (mark-active): defvar eliminated.
+
+ * ps-samp.el (ps-prsc, ps-c-prsc, ps-s-prsc): Macros eliminated.
+ (ps-rmail-mode-hook, ps-vm-mode-hook, ps-gnus-summary-setup)
+ (ps-jts-ps-setup): Replace macros by vector key definition.
+
+2007-02-16 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * progmodes/ebnf-abn.el (ebnf-abn-skip-comment):
+ * progmodes/ebnf-bnf.el (ebnf-bnf-skip-comment):
+ * progmodes/ebnf-dtd.el (ebnf-dtd-skip-comment):
+ * progmodes/ebnf-ebx.el (ebnf-ebx-skip-comment):
+ * progmodes/ebnf-iso.el (ebnf-iso-skip-comment):
+ * progmodes/ebnf-yac.el (ebnf-yac-skip-comment): New version.
+ New command actions for EPS header and EPS footer.
+
+ * progmodes/ebnf2ps.el: New command actions for EPS header and EPS
+ footer. Fix some problems with one-or-more, zero-or-more and
+ alternative constructions generation. Some log messages
+ implementation. Doc fix.
+ (ebnf-version): New version 4.4.
+ (ebnf-eps-header-font, ebnf-eps-header, ebnf-eps-footer-font)
+ (ebnf-eps-footer, ebnf-log): New options.
+ (ebnf-find-style, ebnf-eps-header-footer, ebnf-eps-header)
+ (ebnf-eps-footer, ebnf-eps-string, ebnf-eps-header-footer-comment)
+ (ebnf-eps-header-footer-p, ebnf-eps-header-comment)
+ (ebnf-eps-footer-comment, ebnf-eps-header-footer-file)
+ (ebnf-eps-header-footer-set, ebnf-log-header, ebnf-log): New funs.
+ (ebnf-style-custom-list, ebnf-style-database): Put new values.
+ (ebnf-print-directory, ebnf-print-file, ebnf-print-buffer)
+ (ebnf-print-region, ebnf-spool-directory, ebnf-spool-file)
+ (ebnf-spool-buffer, ebnf-spool-region, ebnf-eps-directory)
+ (ebnf-eps-file, ebnf-eps-buffer, ebnf-eps-region)
+ (ebnf-syntax-directory, ebnf-syntax-file, ebnf-syntax-buffer)
+ (ebnf-syntax-region, ebnf-parse-and-sort, ebnf-begin-job)
+ (ebnf-dimensions, ebnf-production-dimension, ebnf-terminal-dimension)
+ (ebnf-non-terminal-dimension, ebnf-special-dimension)
+ (ebnf-terminal-dimension1, ebnf-repeat-dimension)
+ (ebnf-except-dimension, ebnf-alternative-dimension)
+ (ebnf-optional-dimension, ebnf-one-or-more-dimension)
+ (ebnf-zero-or-more-dimension, ebnf-sequence-dimension): Insert log
+ message fun.
+ (ebnf-setup, ebnf-generate-one-or-more, ebnf-generate-zero-or-more)
+ (ebnf-begin-job, ebnf-begin-file, ebnf-eps-finish-and-write)
+ (ebnf-insert-ebnf-prologue, ebnf-production-dimension)
+ (ebnf-terminal-dimension1, ebnf-alternative-dimension)
+ (ebnf-one-or-more-dimension, ebnf-zero-or-more-dimension)
+ (ebnf-eps-add-context, ebnf-eps-add-production): Fix code.
+ (ebnf-eps-filename, ebnf-trim-right): Replace `?\s' by `?\ ' to keep
+ compatibility with Emacs 20 & 21.
+ (ebnf-eps-header-comment, ebnf-eps-footer-comment)
+ (ebnf-eps-file-alist, ebnf-basic-width-extra)
+ (ebnf-basic-empty-height): New vars.
+ (ebnf-prologue): Fix PostScript code.
+ (ebnf-make-empty, ebnf-make-terminal1, ebnf-make-or-more1)
+ (ebnf-make-production, ebnf-make-alternative, ebnf-make-optional)
+ (ebnf-make-except, ebnf-make-repeat, ebnf-make-sequence)
+ (ebnf-make-dup-sequence, ebnf-token-alternative): Add comments.
+
+2007-02-14 Kenichi Handa <handa@m17n.org>
+
+ * international/titdic-cnv.el: Synch with HEAD.
+
+2007-02-11 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * printing.el: Group together all XEmacs/Emacs definitions.
+ (pr-version): New version 6.9.
+ (pr-global-menubar, pr-menu-char-height, pr-menu-char-width): New funs.
+ (pr-menu-char-height, pr-menu-char-width): Fix initialization code.
+ (pr-menu-bind): Fix code.
+ (pr-e-frame-char-height, pr-e-frame-char-width)
+ (pr-e-mouse-pixel-position, pr-x-add-submenu, pr-x-event-function)
+ (pr-x-event-object, pr-x-find-menu-item, pr-x-font-height)
+ (pr-x-font-width, pr-x-get-popup-menu-response, pr-x-make-event)
+ (pr-x-misc-user-event-p, pr-x-relabel-menu-item, pr-x-event-x-pixel)
+ (pr-x-event-y-pixel): Aliases eliminated.
+ (pr-xemacs-global-menubar): Macro moved.
+ (current-menubar, current-mouse-event, zmacs-region-stays)
+ (deactivate-mark, pr-menu-position, pr-menu-state, pr-ps-name-old)
+ (pr-txt-name-old, pr-ps-utility-old, pr-even-or-odd-old, pr-temp-menu):
+ Vars moved.
+ (pr-region-active-p, pr-menu-position, pr-menu-lookup, pr-menu-lock)
+ (pr-update-mode-line, pr-do-update-menus, pr-menu-alist)
+ (pr-relabel-menu-item, pr-menu-set-ps-title, pr-menu-set-txt-title)
+ (pr-menu-set-utility-title, pr-even-or-odd-pages)
+ (pr-f-set-keymap-parents, pr-f-set-keymap-name, pr-f-read-string)
+ (pr-keep-region-active, pr-menu-get-item, pr-menu-set-item-name): Funs
+ moved.
+
+2007-02-07 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.ps: The ps-print commands without face printing should not
+ print background color. Reported by Leo <sdl.web@gmail.com>.
+ (ps-print-version): New version 7.2.2.
+ (ps-begin-job): New arg. Fix ps-default-background and
+ ps-default-foreground initialization.
+ (ps-face-attributes): Fix doc string.
+ (ps-face-background, ps-generate-postscript, ps-generate): Fix code.
+
+ * printing.el: Fix ps-print link.
+
+2007-01-30 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-diag.el (list-character-sets-2): Don't print
+ width.
+
+2007-01-26 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.ps: Fix background height.
+ (ps-print-version): New version 7.2.1.
+
+2007-01-25 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el: Split XEmacs/Emacs definitions and sample setup code
+ into separate files.
+ (ps-print-version): New version 7.2.
+ (ps-postscript-code-directory): Fix XEmacs initialization.
+ (ps-generate-postscript-with-faces): Call
+ ps-generate-postscript-with-faces1 (new fun).
+ (ps-color-format, ps-float-format): Vars moved to ps-def.el.
+ (ps-xemacs-color-name, ps-mapper, ps-extent-sorter)
+ (ps-xemacs-face-kind-p, ps-mark-active-p, ps-face-foreground-name)
+ (ps-face-background-name, ps-frame-parameter, ps-color-device)
+ (ps-color-values, ps-face-bold-p, ps-face-italic-p): Funs moved to
+ ps-def.el.
+ (ps-prsc, ps-c-prsc, ps-s-prsc, ps-rmail-mode-hook)
+ (ps-rmail-print-message-from-summary, ps-print-message-from-summary)
+ (ps-article-subject, ps-article-author, ps-gnus-article-prepare-hook)
+ (ps-vm-mode-hook, ps-gnus-print-article-from-summary)
+ (ps-vm-print-message-from-summary, ps-gnus-summary-setup, ps-info-file)
+ (ps-info-node, ps-info-mode-hook, ps-jts-ps-setup, ps-jack-setup): Funs
+ moved to ps-samp.el.
+
+ * ps-bdf.el (installation-directory, coding-system-for-read): Vars
+ moved to ps-def.el.
+
+ * ps-mule.el (leading-code-private-22): Var moved to ps-def.el.
+ (charset-bytes, charset-dimension, charset-id, charset-width)
+ (find-charset-region, char-width, chars-in-region, forward-point)
+ (decompose-composite-char, encode-coding-string, coding-system-p)
+ (ccl-execute-on-string, define-ccl-program, multibyte-string-p)
+ (string-make-multibyte, encode-char): Funs moved to ps-def.el.
+
+ * ps-def.el: New file. XEmacs/Emacs definitions.
+ (ps-generate-postscript-with-faces1): New fun.
+ (ps-color-format, ps-float-format): Vars moved from ps-print.el.
+ (ps-xemacs-color-name, ps-mapper, ps-extent-sorter)
+ (ps-xemacs-face-kind-p, ps-mark-active-p, ps-face-foreground-name)
+ (ps-face-background-name, ps-frame-parameter, ps-color-device)
+ (ps-color-values, ps-face-bold-p, ps-face-italic-p): Funs moved from
+ ps-print.el.
+ (installation-directory, coding-system-for-read): Vars moved from
+ ps-bdf.el.
+ (leading-code-private-22): Var moved from ps-mule.el.
+ (charset-bytes, charset-dimension, charset-id, charset-width)
+ (find-charset-region, char-width, chars-in-region, forward-point)
+ (decompose-composite-char, encode-coding-string, coding-system-p)
+ (ccl-execute-on-string, define-ccl-program, multibyte-string-p)
+ (string-make-multibyte, encode-char): Funs moved from ps-mule.el.
+
+ * ps-samp.el: New file. Sample setup code.
+ (ps-prsc, ps-c-prsc, ps-s-prsc, ps-rmail-mode-hook)
+ (ps-rmail-print-message-from-summary, ps-print-message-from-summary)
+ (ps-article-subject, ps-article-author, ps-gnus-article-prepare-hook)
+ (ps-vm-mode-hook, ps-gnus-print-article-from-summary)
+ (ps-vm-print-message-from-summary, ps-gnus-summary-setup, ps-info-file)
+ (ps-info-node, ps-info-mode-hook, ps-jts-ps-setup, ps-jack-setup): Funs
+ moved from ps-print.el.
+
+2007-01-21 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el: Handle frame parameters (background and/or foreground
+ colors) changing dynamically. Reported by Leo <sdl.web@gmail.com>.
+ (ps-print-version): New version 7.1.
+ (ps-x-frame-property, ps-e-frame-parameter): New aliases.
+ (ps-frame-parameter): New fun.
+ (ps-default-fg, ps-default-bg): New default value ('frame-parameter).
+ Fix doc and customization.
+ (ps-begin-job): Get frame parameters (background and/or foreground
+ colors).
+ (ps-do-despool): Ensure ps-printer-name has a valid value.
+
+2006-12-04 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * progmodes/ebnf-abn.el:
+ * progmodes/ebnf-bnf.el:
+ * progmodes/ebnf-dtd.el:
+ * progmodes/ebnf-ebx.el:
+ * progmodes/ebnf-iso.el:
+ * progmodes/ebnf-otz.el:
+ * progmodes/ebnf-yac.el:
+ * progmodes/ebnf2ps.el:
+ * delim-col.el:
+ * printing.el:
+ * ps-bdf.el:
+ * ps-mule.el:
+ * ps-print.el: Remove 'Time-stamp' comment mark.
+
+ * printing.el (pr-menu-bind): Replace 'easy-menu-change' by
+ 'easy-menu-add-item' when called in Emacs 21 or higher.
+
+2006-12-01 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el : Fix doc.
+ (ps-print-version): New version 7.0.
+
+2006-11-29 Kenichi Handa <handa@m17n.org>
+
+ * mail/emacsbug.el (report-emacs-bug): Insert also the value of
+ XMODIFIERS.
+
+2006-11-28 Vinicius Jose Latorre <viniciusjl@ig.com.br>
+
+ * ps-print.el: Fix maintainer email. Eliminate function declaration
+ that kept compatibility with older Emacs version.
+ (ps-print-version): New version 6.7.
+
+2006-11-28 Kenichi Handa <handa@m17n.org>
+
+ * international/quail.el (quail-get-translations): Make
+ quail-current-key multibyte if not yet done.
+
+2006-11-27 Zhang Wei <id.brep@gmail.com>
+
+ * language/chinese.el ("Chinese-GBK"): Add tutorial.
+ ("Chinese-GB18030"): Add sample-text and tutorial.
+
+ * international/fontset.el (font-encoding-alist): Add gb18030.
+ (setup-default-fontset): Likewise.
+ (x-pixel-size-width-font-regexp, vertical-centering-font-regexp):
+ Add gbk and gb18030.
+ (charset-script-alist): Likewise.
+
+ * international/characters.el: Put property
+ preferred-coding-system to gbk and gb18030.
+
+ * international/mule-cmds.el (locale-language-names): Add an entry
+ for "zh_CN.UTF-8" and change "chs" to "Chinese-GBK".
+
+ * faces.el (face-font-registry-alternatives): Add gb18030.
+
+2006-11-22 Vinicius Jose Latorre <viniciusjl@ig.com.br> (tiny change)
+
+ * ps-mule.el: Fix maintainer email.
+
+2006-11-22 Kenichi Handa <handa@m17n.org>
+
+ * language/european.el ("Turkish"): Sync with HEAD.
+
+ * international/characters.el: Sync with HEAD.
+
+ * international/mule-cmds.el (set-default-coding-systems): Sync
+ with HEAD.
+
+2006-11-21 Kenichi Handa <handa@m17n.org>
+
+ * international/quail.el (quail-insert-kbd-layout): Check the
+ length of (cdr translation).
+ (quail-get-current-str): Check the length of (cdr def).
+
+2006-11-16 Kenichi Handa <handa@m17n.org>
+
+ * ruler-mode.el (ruler-mode-ruler): Make the string `ruler'
+ mulitbyte.
+
+2006-11-13 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (ucs-insert): Re-implement.
+
+2006-11-09 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (terminal-composition-modification): New function.
+ (terminal-composition-function): Create composition with the above
+ modification function.
+
+2006-11-08 Zhang Wei <id.brep@gmail.com> (tiny change)
+
+ * international/characters.el: Add more full-width characters in
+ char-width-table.
+
+2006-10-30 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (create-fontset-from-fontset-spec): Fix
+ script name handling.
+
+2006-10-26 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (terminal-composition-function): New function.
+ (terminal-composition-function-table): New variable.
+ (auto-compose-chars): If running on a terminal, use
+ terminal-composition-function-table.
+
+ * loadup.el: Load "composite" after "international/characters".
+
+ * international/characters.el: Delete codes for setting up charset
+ property nospace-between-words. Fix setting up of
+ char-width-table. Don't make ethiopic and tibetan double column.
+
+ * textmodes/fill.el (fill-find-break-point-function-table): Don't
+ setup it in defvar.
+ (fill-nospace-between-words-table): New variable.
+ (fill-delete-newlines): Check fill-nospace-between-words-table
+ instead of charset property nospcae-between-words.
+
+2006-10-23 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (global-auto-composition-mode): Make the initial
+ value not depend on emacs-basic-display.
+
+ * textmodes/fill.el: Don't use charset property
+ `fill-find-break-point-function'.
+ (fill-find-break-point-function-table): New variable.
+ (fill-find-break-point): Lookup
+ fill-find-break-point-function-table.
+
+2006-10-17 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (coding-system-list): Be sure to exclude
+ subsidiary coding systems.
+
+2006-10-05 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (auto-composition-after-change): Remove
+ `auto-composed' property instead of put nil to it.
+ (toggle-auto-composition): Likewise.
+
+2006-10-02 Kenichi Handa <handa@m17n.org>
+
+ * language/misc-lang.el (iso-8859-6): New coding system.
+
+2006-09-21 Kenichi Handa <handa@m17n.org>
+
+ * dnd.el (dnd-get-local-file-name): Give a unibyte string to
+ replace-regexp-in-string as replacement.
+
+2006-08-28 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (otf-script-alist): Add byzm, math,
+ musc, and nko.
+
+ * international/characters.el (script-list): Add nko,
+ byzantine-musical-symbol, musical-symbol, and mathematical.
+
+2006-08-21 Kenichi Handa <handa@m17n.org>
+
+ * international/uni-bidi.el, international/uni-category.el,
+ international/uni-combining.el, international/uni-comment.el,
+ international/uni-decimal.el, international/uni-decomposition.el,
+ international/uni-digit.el, international/uni-lowercase.el,
+ international/uni-mirrored.el, international/uni-name.el,
+ international/uni-numeric.el, international/uni-old-name.el,
+ international/uni-titlecase.el, international/uni-uppercase.el:
+ Re-generated.
+
+2006-08-04 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (select-safe-coding-system): Fix
+ synching with head.
+
+2006-08-03 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * ldefs-boot.el: Delete the section for utf-7.
+
+2006-07-24 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (auto-compose-current-font): New variable.
+ (auto-compose-chars): New arg FONT-OBJECT.
+
+2006-07-20 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el: Modify category-table and
+ script-table for new Ethiopic character range.
+
+2006-07-07 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (set-language-info): Fix synching
+ with HEAD.
+ (set-language-environment): Likewise.
+ (standard-display-european-internal): Sync with HEAD.
+ (set-language-environment-nonascii-translation): Fix synching with
+ HEAD.
+ (set-language-environment-fontset): Delete it.
+ (set-language-environment-unibyte): Fix synching with HEAD.
+
+2006-07-03 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (otf-script-alist): Set it.
+
+2006-06-28 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (font-encoding-alist): Fix for
+ "ethiopic-unicode".
+
+2006-06-23 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (script-representative-chars): Add an
+ entry for latin script.
+
+2006-06-19 Kenichi Handa <handa@m17n.org>
+
+ * faces.el (font-weight-table): Treat regular and normal as the
+ same as medium.
+ (font-slant-table): Add (roman . 100).
+
+2006-06-09 Kenichi Handa <handa@m17n.org>
+
+ * tar-mode.el (tar-extract): Sync with HEAD.
+
+2006-06-06 Kenichi Handa <handa@m17n.org>
+
+ These changes are for the new font handling codes.
+
+ * faces.el (font-weight-table, font-slant-table)
+ (font-swidth-table): New customizable variables.
+
+ * international/fontset.el (font-encoding-alist): Add koi8-4.
+ (script-representative-chars): Set the default value.
+ (create-fontset-from-x-resource): Delete `message'.
+
+2006-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * term/mac-win.el (mac-utxt-to-string, mac-string-to-utxt)
+ (mac-TEXT-to-string, mac-string-to-TEXT): Sync with HEAD.
+
+2006-04-09 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el: Cancel unnecessary sync code for
+ HEAD.
+
+2006-03-28 Kenichi Handa <handa@m17n.org>
+
+ * tar-mode.el (tar-untar-buffer, tar-summarize-buffer): Call
+ set-buffer-multibyte with arg `to'.
+
+2006-03-14 Kenichi Handa <handa@m17n.org>
+
+ * info.el (Info-fontify-node): Check if already fontified or not
+ by next-single-property-change.
+
+2006-03-08 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (ctext-pre-write-conversion): Produce
+ extra designation sequence for ASCII at the end off extended
+ segment.
+
+2006-03-07 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (ctext-non-standard-encodings-table):
+ Reverse the returning list.
+ (ctext-pre-write-conversion): Fix encoding with extended segments.
+
+ * international/mule-conf.el (compound-text)
+ (compound-text-with-extensions): Add long-form in :flags.
+
+2006-03-06 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (create-fontset-from-fontset-spec): Fix
+ regexp for paring FONTSET-SPEC (allow spaces after `:').
+
+2006-03-03 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (create-fontset-from-fontset-spec): Fix
+ for the case that a charset is specified as target.
+
+ * international/ccl.el (ccl-dump-write-const-string): Fix previous
+ change.
+
+2006-03-02 Kenichi Handa <handa@m17n.org>
+
+ * international/ccl.el (ccl-embed-string): Check string length.
+ Set special flag for multibyte character sequence.
+ (ccl-compile-write-string): Don't make str unibyte.
+ (ccl-compile-write-repeat): Likewise.
+ (ccl-compile-write): If the character code doesn't fit in 22-bit
+ (ccl-dump-write-const-string): Check special flag for multibyte
+ character sequence.
+
+2006-02-28 Kenichi Handa <handa@m17n.org>
+
+ * ps-mule.el (ps-mule-eight-bit-char): Delete this function.
+ (ps-mule-encode-region): Don't use ps-mule-eight-bit-char.
+ (ps-mule-plot-composition): Likewise.
+
+2006-02-27 Kenichi Handa <handa@m17n.org>
+
+ * language/chinese.el ("Chinese-BIG5"): Set
+ ctext-non-standard-encodings property to "big5-0".
+
+ * international/mule.el (ctext-non-standard-encodings): Initialize
+ to nil.
+ (ctext-non-standard-encodings-alist): Set charset `big5' in the
+ entry for "big5-0".
+ (ctext-non-standard-encodings-table): Return a list instead of
+ char-table.
+ (ctext-pre-write-conversion): Adjusted for the above change.
+
+2006-02-27 Zhang Wei <id.brep@gmail.com> (tiny change)
+
+ * international/mule.el (ctext-non-standard-encodings-alist): Add
+ an entry for gbk-0.
+ (ctext-post-read-conversion): Use multibyt-char-to-unibyte to read
+ a row 8-bit.
+
+ * language/chinese.el ("Chinese-GBK"): Set
+ ctext-non-standard-encodings property to "gbk-0". Add sample-text
+ property.
+
+2006-02-27 Kenichi Handa <handa@m17n.org>
+
+ * international/kkc.el (kkc-region): Use
+ this-single-command-raw-keys on pushing back an unhandled key
+ sequence.
+
+2006-02-24 Kenichi Handa <handa@m17n.org>
+
+ * international/encoded-kb.el (encoded-kbd-mode): Check
+ saved-input-mode on turing off Encoded Kbd mode.
+
+ * composite.el (auto-composition-after-change): Use
+ save-buffer-state.
+ (turn-on-auto-composition-if-enabled): Don't turn on
+ auto-composition-mode in a unibyte buffer.
+
+2006-02-21 Kenichi Handa <handa@m17n.org>
+
+ * startup.el (command-line): Use custom-reevaluate-setting for
+ global-auto-composition-mode.
+
+ * composite.el (auto-composition-function): Make it buffer local.
+ (auto-composition-mode): New minor mode.
+ (turn-on-auto-composition-if-enabled): New function.
+ (global-auto-composition-mode): New global minor mode.
+
+2006-01-24 Kenichi Handa <handa@m17n.org>
+
+ * descr-text.el (describe-char): Use insert-text-button instead of
+ widget-create for "customize what to show" button.
+
+2006-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * tar-mode.el: Merge changes from the trunk:
+ (tar-header-block-tokenize): Tighten regexp.
+ (tar-summarize-buffer): Don't clear the modified-p bit if it wasn't
+ cleared before. Obey default-enable-multibyte-characters.
+ Use mapconcat.
+ (tar-mode-map): Move initialization inside delcaration.
+ (tar-alter-one-field): Don't hardcode point-min==1.
+
+2006-01-20 Naoto Takahashi <ntakahas@m17n.org>
+
+ * language/ethiopic.el: Copyright fixed.
+ (composition-function-table): Support a new character in Unicode
+ 4.1.
+
+ * language/ethio-util.el (ethio-fidel-to-tex-buffer)
+ (ethio-tex-to-fidel-buffer, ethio-composition-function)
+ ("ethiopic-tex"): Support new characters in Unicode 4.1.
+
+ * descr-text.el (describe-char): Fix for sync with HEAD.
+
+2006-01-19 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (autoload-coding-system): Install the same
+ function as in HEAD.
+
+2005-12-28 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el: Register characters in
+ auto-fill-chars. Put nospace-between-words to more charsets.
+
+2005-10-27 Zhang Wei <id.brep@gmail.com> (tiny change)
+
+ * international/mule-cmds.el (locale-language-names): Add entries
+ for zh_CN.GB2312, zh_CN.GBK, and zh_CN.GB18030.
+ (locale-preferred-coding-systems): Fix entries for Chinese locales.
+
+2005-10-24 Kenichi Handa <handa@etlken>
+
+ * international/utf-7.el: Delete the definition of utf-7.
+ (utf-7-post-read-conversion, utf-7-pre-write-conversion):
+ Add autoload cookies.
+
+2005-10-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * term/mac-win.el: Delete the code to create a fontset from the X
+ resource "Font".
+
+2005-07-29 Naoto Takahashi <ntakahas@m17n.org>
+
+ * international/robin.el (robin-define-package): Be sure to call
+ put-char-code-property.
+
+2005-07-29 Kenichi Handa <handa@m17n.org>
+
+ * language/korean.el (iso-2022-kr): Set :suitable-for-keyboard
+ property to 1.
+
+ * international/mule-conf.el (cp1125): Set :ascii-compatible-p
+ property to t.
+
+ * descr-text.el (describe-char): Sync with the main trunk.
+
+ * international/mule.el (coding-system-get):
+ Check `ascii-incompatible' for backward compatiblity.
+ (set-file-name-coding-system): Signal an error for a coding system
+ not suitable for file name.
+ (set-keyboard-coding-system): Signal an error for a coding system
+ not suitable for keyboard.
+
+ * language/chinese.el (iso-2022-cn, iso-2022-cn-ext):
+ Set :suitable-for-keyboard property to 1.
+
+ * language/japanese.el (iso-2022-jp, iso-2022-jp-2)
+ (iso-2022-jp-2004): Set :suitable-for-keyboard property to 1.
+
+ * language/vietnamese.el (vietnamese-viscii, vietnamese-vscii)
+ (vietnamese-tcvn): Set :suitable-for-file-name property to t.
+
+2005-07-26 Naoto Takahashi <ntakahas@m17n.org>
+
+ * international/robin.el (robin-define-package): Delete redundant code.
+ (robin-add-rule): Allow N-1 reverse conversion.
+
+2005-07-26 Naoto Takahashi <ntakahas@m17n.org>
+
+ * international/robin.el (robin-define-package): Make the
+ expaneded form shorter.
+
+2005-06-05 Zhang Wei <id.brep@gmail.com> (tiny change)
+
+ * language/chinese.el (chinese-iso-8bit): Fix mime-charset of
+ chiense-iso-8bit.
+
+2005-05-11 Kenichi Handa <handa@m17n.org>
+
+ * loadup.el: If we are byte-compiling unidata-gen.el or running
+ unidata-ge-files, set purify-flag to nil.
+
+2005-05-10 Kenichi Handa <handa@m17n.org>
+
+ * loadup.el: Load international/charprop.el with NOERROR t.
+
+ * Makefile.in (AUTOGENEL): Add charprop.el and uni-*.el.
+
+2005-05-07 Kenichi Handa <handa@m17n.org>
+
+ * international/uni-bidi.el, international/uni-category.el,
+ international/uni-combining.el, international/uni-comment.el,
+ international/uni-decimal.el, international/uni-decomposition.el,
+ international/uni-digit.el, international/uni-lowercase.el,
+ international/uni-mirrored.el, international/uni-name.el,
+ international/uni-numeric.el, international/uni-old-name.el,
+ international/uni-titlecase.el, international/uni-uppercase.el,
+ international/charprop.el: Re-generated.
+
+2005-04-22 Kenichi Handa <handa@m17n.org>
+
+ * term/mac-win.el: Sync with the main trunk.
+ (mac-centraleurroman, mac-cyrillic): New charsets and coding
+ systems.
+ (mac-symbol, mac-dingbats): New charsets.
+
+2005-04-21 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el: Set syntax of NBSP to punctuation.
+
+2005-04-11 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el: Don't require wid-edit.
+
+2005-04-09 Kenichi Handa <handa@m17n.org>
+
+ * language/thai-util.el: Fix previous change.
+
+2005-03-28 Kenichi Handa <handa@m17n.org>
+
+ * language/thai-util.el: Sync with the main trunk.
+
+2005-03-16 Naoto Takahashi <ntakahas@m17n.org>
+
+ * international/robin.el: New file.
+
+ * language/ethiopic.el: Encoding changed to utf-8-emacs.
+ Register ethio-composition-function in composition-function-table.
+ ("Ethiopic"): Coding-systems changed to utf-8-emacs.
+
+ * language/ethio-util.el: Encoding changed to utf-8-emacs. All
+ transliteration functions rewritten to use robin.el.
+ (ethio-fidel-to-sera-map, ethio-fidel-to-tex-map)
+ (ethio-sera-to-fidel-table, ethio-implicit-period-conversion)
+ (ethio-prefer-ascii-punctuation): Deleted variables.
+ (ethio-char-to-ethiocode, ethio-convert-digit)
+ (ethio-ethiocode-to-char, ethio-fidel-to-sera-mail)
+ (ethio-fidel-to-sera-mail-or-marker, ethio-lone-consonant-p)
+ (ethio-sera-to-fidel-english, ethio-sera-to-fidel-ethio)
+ (ethio-sera-to-fidel-mail, ethio-sera-to-fidel-mail-or-marker)
+ (ethio-tilde-escape, ethio-toggle-punctuation): Deleted functions.
+ (ethio-adjust-robin, ethio-composition-function)
+ (ethio-get-consonant, ethio-prefer-amharic, ethio-process-digits)
+ (ethio-sera-to-fidel-region-ethio)
+ (ethio-sera-to-fidel-region-noethio)
+ (ethio-use-colon-for-colon, ethio-use-three-dot-question): New
+ functions.
+
+2005-01-30 Kenichi Handa <handa@m17n.org>
+
+ * international/uni-name.el: Re-generated.
+
+2005-02-24 Miles Bader <miles@gnu.org>
+
+ * international/mule.el (auto-coding-regexp-alist)
+ (ctext-pre-write-conversion): Replace embedded control characters
+ with octal escapes; this prevents diff from thinking the file is
+ binary.
+
+2005-02-12 Miles Bader <miles@gnu.org>
+
+ * version.el (emacs-version): Change to "23.0.0".
+
+ * descr-text.el (describe-char-unidata-list):
+ Replace references to Emacs version "22" with "23".
+ * emacs-lisp/bytecomp.el (byte-compile-fix-header)
+ (byte-compile-insert-header): Likewise.
+ * international/mule.el (charset-list, set-coding-priority)
+ (ignore-relative-composition): Likewise.
+ * international/mule-util.el (detect-coding-with-priority): Likewise.
+ * international/mule-diag.el: Likewise.
+ * international/mule-cmds.el (language-info-custom-alist): Likewise.
+ * international/codepage.el (codepage-setup): Likewise.
+
+2005-02-13 Kenichi Handa <handa@m17n.org>
+
+ * case-table.el: Adjust code merged from trunk for unicode
+ branch (for the change on 2005-02-02).
+
+2005-01-30 Kenichi Handa <handa@m17n.org>
+
+ * Makefile.in (DONTCOMPILE): Include charprop.el and uni-*.el.
+
+ * international/fontset.el (font-encoding-alist): Add an entry for
+ microsoft-cp1251.
+ (setup-default-fontset): Add entries for microsoft-cp1251 and
+ koi8-r for cyrillic.
+
+ * international/mule-cmds.el (char-code-property-alist): New
+ variable.
+ (define-char-code-property): New function.
+ (get-char-code-property): Handle a char-table registerd in
+ char-code-property-alist.
+ (put-char-code-property): Likewise.
+ (set-language-environment): Check :ascii-compatible-p property of
+ nonascii charset instead of its dimension.
+
+ * international/uni-bidi.el, international/uni-category.el,
+ international/uni-combining.el, international/uni-comment.el,
+ international/uni-decimal.el, international/uni-decomposition.el,
+ international/uni-digit.el, international/uni-lowercase.el,
+ international/uni-mirrored.el, international/uni-name.el,
+ international/uni-numeric.el, international/uni-old-name.el,
+ international/uni-titlecase.el, international/uni-uppercase.el,
+ international/charprop.el: New files automatically generated by
+ admin/unidata/Makefile.
+
+ * loadup.el: Load internationnal/charprop.el.
+
+ * descr-text.el (describe-char-unidata-list): New variable.
+ (describe-char-unicode-data): Use char-code-property-description.
+ (describe-char): Add lines for describing Unicode-based character
+ properties.
+
+2005-01-17 Kenichi Handa <handa@m17n.org>
+
+ * textmodes/ispell.el: These changes are to fix the code merged
+ from trunk for the change on 2005-01-13.
+ (ispell-unified-chars-table): Delete it.
+ (ispell-get-decoded-string): Don't check
+ ispell-unified-chars-table.
+
+ * tar-mode.el (tar-extract): Adjust code merged from trunk for
+ unicode branch (for the change on 2005-01-15).
+
+2004-12-09 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-util.el (char-displayable-p): Check
+ :charset-list property of CODING.
+
+2004-12-06 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (select-safe-coding-system-interactively):
+ Change 'mime-charset to :mime-charset.
+ (select-safe-coding-system): Use above (sync to HEAD).
+ (set-language-environment): Delete unnecessary code for handling
+ overriding-fontspec
+
+2004-10-28 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-conf.el: New coding system aliases unix, dos,
+ and mac.
+
+2004-10-19 Kenichi Handa <handa@m17n.org>
+
+ * international/titdic-cnv.el (tit-process-header): Fix embedded
+ coding tag.
+ (titdic-convert): Bind coding-system-for-write to the coding
+ system specfied in the map file. Remove `charset' property after
+ decoding.
+ (miscdic-convert): Bind coding-system-for-write to the coding
+ system specfied for the map file. Fix LANGUAGE arg to
+ quail-define-package.
+ (batch-miscdic-convert): Check if a file is directory or not.
+
+2004-10-16 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (coding-system-equal): Move from mule-util.el.
+
+ * international/mule-util.el (coding-system-equal): Move to mule.el.
+
+2004-10-15 Kenichi Handa <handa@m17n.org>
+
+ * international/encoded-kb.el (encoded-kbd-decode-code-list): New
+ function.
+ (encoded-kbd-self-insert-charset): Support multibyte charsets.
+ (encoded-kbd-setup-keymap): Likewise.
+
+2004-10-12 Kenichi Handa <handa@m17n.org>
+
+ * language/china-util.el (hz-set-msb-table): Turn chars beyond 128
+ to eight-bit chars.
+
+ * international/mule-conf.el: Dont' define coding system
+ `undecided' here.
+
+2004-10-06 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (locale-language-names): Fix for
+ gb18030 and gdk.
+
+2004-10-05 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (font-encoding-alist): Add gbk.
+ (charset-script-alist): Add chinese-gbk.
+
+2004-10-04 Kenichi Handa <handa@m17n.org>
+
+ * language/chinese.el (chinese-gbk): Include ascii in
+ charset-list.
+
+ * international/encoded-kb.el (encoded-kbd-setup-keymap): Fix
+ previous change.
+
+2004-09-19 Kenichi Handa <handa@m17n.org>
+
+ * language/japanese.el ("Japanese"): Fix ordering of charsets.
+
+2004-08-18 Kenichi Handa <handa@m17n.org>
+
+ * international/encoded-kb.el (encoded-kbd-self-insert-charset)
+ (encoded-kbd-self-insert-utf-8, encoded-kbd-setup-keymap)
+ (encoded-kbd-mode): Adjust code merged from trunk for unicode branch.
+
+2004-08-17 Kenichi Handa <handa@m17n.org>
+
+ * descr-text.el (describe-char): Fix for the case CODE is a cons
+ of integers.
+
+2004-08-03 Steven Tamm <steventamm@mac.com>
+
+ * term/mac-win.el: Use mac-standard-fontset-spec to create
+ fontset-mac
+ (mac-standard-fontset-spec): Created
+
+2004-04-27 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-diag.el (unicode-data): Call
+ find-file-noselect with NOWARN t.
+
+2004-04-21 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-conf.el (cp932-2-byte): Fix :code-space.
+
+2004-04-20 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el: Give more CJK characters the
+ category `|'.
+
+ * descr-text.el (describe-char): Make it work on *Help* buffer.
+ Suppress auto-compostion on a region describing about composition.
+
+ * language/european.el (diacritic-compose-region): Compose
+ diacritical marks only with a character whose syntax is word
+ constituent.
+ (diacritic-compose-string): Likewise.
+ (diacritic-composition-function): Likewise.
+ (diacritic-post-read-conversion): Delete it.
+
+2004-04-19 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el: Fix invalid encoding caused by the
+ previous sync.
+
+2004-04-16 Kenichi Handa <handa@m17n.org>
+
+ Sync all files to HEAD.
+
+2004-04-15 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (auto-compose-chars): Execute the main code in
+ condition-case.
+
+2004-04-14 Kenichi Handa <handa@m17n.org>
+
+ * descr-text.el (describe-property-list): Sync to HEAD.
+
+ * international/mule-diag.el: Sync to HEAD.
+
+ * international/fontset.el (x-complement-fontset-spec): Don't
+ change CHARSET_REGISTRY and CHARSET_ENCODING fields.
+
+2004-04-13 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el (next-word-boundary-kana): Handle
+ half-width kana.
+
+2004-04-12 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-conf.el (indian-1-column): Fix :emacs-mule-id.
+
+2004-04-09 Kenichi Handa <handa@m17n.org>
+
+ * language/japanese.el (japanese-iso-8bit): Fix order of
+ :charset-list.
+
+ * mail/rmail.el (rmail-decode-babyl-format): Use
+ with-coding-priority instead of detect-coding-with-priority.
+
+2004-04-07 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (make-translation-table): Set the second
+ extra slot of the char table to 1.
+ (make-translation-table-from-vector): Likewise.
+ (make-translation-table-from-alist): Fix handling of multiple
+ entries.
+
+2004-03-11 Kenichi Handa <handa@m17n.org>
+
+ * language/japanese.el (jisx0213-to-unicode, unicode-to-jisx0213):
+ New translation tables.
+
+ * international/mule.el (make-translation-table-from-alist): New
+ function.
+
+2004-03-04 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (translate-region): Re-implement it here.
+ Make it interactive.
+
+2004-03-03 Kenichi Handa <handa@m17n.org>
+
+ * ps-mule.el (ps-mule-font-info-database): Typo in doc fixed.
+
+2004-02-16 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (font-encoding-alist): Cancel previous
+ change.
+
+2004-02-13 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (font-encoding-alist): Register
+ "iso10646-2" for unicode-sip.
+
+2004-02-12 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-conf.el (chinese-cns11643-15): New charset.
+
+2004-02-09 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (font-encoding-alist): Add entries for
+ variations of cns11643 fonts.
+ (setup-default-fontset): Add cns11643 fonts as fallback fonts.
+
+2004-02-06 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-diag.el (list-charset-chars): Put charset
+ text property.
+
+ * international/fontset.el (setup-default-fontset): Delete the
+ entry for symbol script, add JISX0213 to kana script, specify
+ fallback fonts.
+
+2004-02-05 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (setup-default-fontset): Register
+ "JISX0213.2004-1".
+ (font-encoding-alist): Likewise.
+
+ * international/mule-diag.el (list-character-sets): Fix the first
+ line message.
+ (sort-listed-character-sets): Adjusted for the change of
+ list-characters-sets-1.
+ (list-character-sets-1): List supplementary character sets in a
+ different section.
+ (list-charset-chars): Validate charset at early stage.
+
+ * international/characters.el: Fix `han' script range.
+
+ * international/mule-conf.el (japanese-jisx0213.2004-1): Specify
+ :code-space.
+ (cp932-2-byte): Fix :code-space.
+ (unicode-smp, unicode-sip, unicode-ssp): New charsets.
+
+2004-02-03 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-conf.el (japanese-jisx0213.2004-1): Specify
+ :dimension 2.
+
+ * language/japanese.el (iso-2022-jp): Exclude japanese-jisx0212.
+ (japanese-ucs-cp932-to-jis-map): Fix previous change.
+ (japanese-ucs-jis-to-cp932-map): Likewise.
+ (iso-2022-jp-2004, euc-jis-2004, japanese-shift-jis-2004): New
+ coding systems.
+ (iso-2022-jp-3, euc-jisx0213, shift_jis-2004): New coding system
+ aliases.
+ ("Japanese"): Add new charsets and coding system.s
+
+2004-02-02 Kenichi Handa <handa@m17n.org>
+
+ * language/japanese.el (japanese-ucs-cp932-to-jis-map): Renamed
+ from japanese-ucs-cp932-map.
+ (japanese-ucs-jis-to-cp932-map): Renamed from
+ japanese-ucs-jis-map.
+ (japanese-ucs-glibc-map): Delete this tranlastion table.
+ (japanese-ucs-glibc-to-jis-map): New tranlastion table.
+ (japanese-ucs-jis-to-glibc-map): New tranlastion table.
+
+2004-01-30 Kenichi Handa <handa@m17n.org>
+
+ * cus-start.el: Handle charset-map-path, not
+ charset-map-directory.
+
+2004-01-29 Kenichi Handa <handa@m17n.org>
+
+ * term/x-win.el (x-selection-value): Optimize for ASCII only case.
+
+2004-01-28 Kenichi Handa <handa@m17n.org>
+
+ * language/japanese.el: Add map #x00A6 <-> #xFFE4 to translation
+ tables japanese-ucs-*-map.
+
+2004-01-27 Kenichi Handa <handa@m17n.org>
+
+ * international/eucjp-ms.el: New file (automatically generated by
+ admin/charsets/Makefile).
+
+ * international/cp51932.el: New file (automatically generated by
+ admin/charsets/Makefile).
+
+ * language/japanese.el: Load cp51932 and eucjp-ms.
+ (japanese-ucs-cp932-map, japanese-ucs-jis-map)
+ (japanese-ucs-glibc-map): New translation tables.
+ (eucjp-ms): New coding system.
+
+ * international/mule.el (coding-system-put): Delete it.
+ It's implemented in C now.
+
+ * international/mule-conf.el (katakana-sjis): Fix :superset to
+ :subset.
+ (japanese-jisx0213-a): New supplementary charset.
+ (japanese-jisx0213.2004-1): New charset.
+
+2004-01-25 Kenichi Handa <handa@m17n.org>
+
+ * language/japanese.el (japanese-cp932): New coding system.
+ (cp932): New alias of it.
+
+ * international/mule-conf.el (katakana-sjis, cp932-2-byte)
+ (cp932): New charsets.
+
+ * international/mule.el (define-charset): If :code-space is not
+ given, generate it from :dimension.
+
+2004-01-23 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (reference-point-alist): Doc fixed.
+ (encode-composition-rule): Handle a rule (GREF NREF XOFF YOFF).
+ (decode-composition-rule): Likewise.
+
+2004-01-20 Kenichi Handa <handa@m17n.org>
+
+ * language/european.el (diacritic-composition-function): Fix for
+ the case that POS is at the head. Allow combining with more
+ characters.
+
+2004-01-16 Kenichi Handa <handa@m17n.org>
+
+ * descr-text.el (describe-char): Check `charset' property.
+ Show the code point in the charset in hexadigits.
+
+ * international/mule-diag.el (stretches-for-character-list):
+ Delete it.
+ (list-block-of-chars): Use tabs instead of `display' property for
+ aligning characters.
+ (print-fontset-element): Fix the printing of XLFD.
+
+2004-01-15 Kenichi Handa <handa@m17n.org>
+
+ * international/encoded-kb.el (encoded-kbd-self-insert-utf-8):
+ New function.
+ (encoded-kbd-setup-keymap): Add code for handling utf-8.
+ (encoded-kbd-mode): Likewise.
+
+2003-12-29 Kenichi Handa <handa@m17n.org>
+
+ * faces.el (read-face-font): Include fontsets in the completion
+ list.
+
+ * international/mule-cmds.el (set-locale-environment): Insert
+ locale-translation-file-name in a unibyte buffer.
+
+ * international/characters.el: Fix setting of category `|'.
+
+2003-12-02 Kenichi Handa <handa@m17n.org>
+
+ * language/chinese.el (chinese-gb18030): Fix :charset-list.
+
+2003-11-26 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (auto-compose-chars): Fix previous change.
+
+2003-11-25 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (select-safe-coding-system): Fix for
+ the case that the first element of default-coding-system is t.
+ Fix a message when some coding systems are rejected.
+
+ * composite.el (auto-compose-chars): Fix previous change.
+
+2003-11-24 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (set-language-environment): Put
+ higher priority to charsets listed in `charset' property of the
+ language environment.
+
+2003-11-23 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (auto-compose-chars): Don't do unnecessary
+ save-exclusion and save-restriction.
+
+2003-11-22 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-conf.el (ctext-no-compositions): Remove
+ garbage arguments.
+
+ * international/mule.el (make-coding-system): Fix generation of
+ properties.
+
+ * international/fontset.el (setup-default-fontset): Specify fonts
+ for `symbol' script.
+
+ * international/characters.el (script-list): Include `currency'
+ in `symbol'.
+
+2003-11-13 Alex Schroeder <alex@gnu.org>
+
+ * timezone.el (timezone-parse-date): Fix style 8 to accept ISO
+ 8601 format (a capital T between the date and the time).
+
+2003-11-17 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (private-char-area-1-min)
+ (private-char-area-1-max, private-char-area-2-min)
+ (private-char-area-2-max, emacs-mule-charset-table): New
+ variables.
+ (convert-define-charset-argument): New function.
+ (define-charset): Handle the old calling style. Update
+ emacs-mule-charset-table.
+ (make-char-internal): New function.
+
+2003-11-03 Jason Rumney <jasonr@gnu.org>
+
+ * w32-charset-info-alist: Define iso10646-1 always.
+
+2003-10-24 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (compose-region): Doc fix (delete duplicated line).
+
+2003-10-17 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el: Fix syntax for Ethiopic.
+
+2003-10-12 Jason Rumney <jasonr@gnu.org>
+
+ * w32-fns.el (w32-charset-info-alist): Accept more charset aliases.
+
+ * makefile.w32-in (DONTCOMPILE): Remove old languages. Add
+ international/latin1-disp.el.
+ (LC_ALL): Define as C.
+
+2003-10-11 Jason Rumney <jasonr@gnu.org>
+
+ * term/w32-win.el: Don't set fontsets to use sjis.
+
+2003-10-01 Kenichi Handa <handa@m17n.org>
+
+ * language/japanese.el (iso-2022-jp, iso-2022-jp-2)
+ (japanese-iso-8bit): Fix the order of charsets in :charset-list.
+
+2003-09-30 Kenichi Handa <handa@m17n.org>
+
+ * composite.el (auto-composition-chunk-size): Variable deleted.
+ (auto-compose-chars): Always stop after processing a newline.
+
+2003-09-28 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (define-coding-system): Fix attribute
+ name :for-unibyte.
+
+2003-09-26 Kenichi Handa <handa@m17n.org>
+
+ * ps-bdf.el: Mostly re-written.
+
+ * ps-mule.el: Mostly re-written.
+
+ * ps-print.el (ps-generate-string-list): Function deleted.
+ (ps-rh-cache, ps-lf-cache, ps-rf-cache): Variables deleted.
+ (ps-header-footer-string): Function deleted.
+ (ps-encode-header-string-function): New variable
+ (ps-generate-header-line): Call ps-encode-header-string-function.
+ (ps-basic-plot-string-function): New variable
+ (ps-begin-job): Set ps-basic-plot-string-function and
+ ps-encode-header-string-function. For setting up headers and
+ footers, don't use caches such as ps-rh-cache. Don't call
+ ps-mule-begin-page.
+ (ps-basic-plot-str): Don't call ps-mule-prepare-ascii-font.
+ (ps-basic-plot-string): Likewise.
+ (ps-control-character): Likewise.
+ (ps-plot-region): Don't pay attention to composition and
+ non-ASCII characters.
+ (ps-generate): Call ps-mule-end-job.
+ (ps-mule-prepare-ascii-font): Delete autoload.
+ (ps-mule-set-ascii-font): Likewise.
+ (ps-mule-plot-string): Likewise.
+ (ps-mule-begin-page): Likewise.
+ (ps-mule-end-job): Declare autoload.
+
+ * composite.el (auto-compose-region): New function.
+
+2003-09-11 Dave Love <fx@gnu.org>
+
+ * international/mule-util.el
+ (detect-coding-with-language-environment): Doc fix.
+
+ * composite.el: Doc fixes.
+ (auto-compose-chars): Use functionp, not fboundp.
+
+ * international/mule-diag.el (list-charset-chars): Set buffer file
+ coding system.
+
+ * progmodes/cap-words.el (capitalized-words-mode): Add autoload
+ cookie. Doc fix.
+
+2003-09-10 Dave Love <fx@gnu.org>
+
+ * international/mule-diag.el (list-charset-chars): Set buffer file
+ coding system.
+
+ * progmodes/cap-words.el (capitalized-words-mode): Add autoload
+ cookie. Doc fix.
+
+ * textmodes/tex-mode.el (tex-font-lock-syntactic-face-function):
+ * progmodes/sh-script.el (sh-font-lock-syntactic-face-function):
+ * progmodes/perl-mode.el (perl-font-lock-syntactic-face-function):
+ * eshell/esh-opt.el (eshell-process-option):
+ * emulation/keypad.el (keypad-setup):
+ * emacs-lisp/lisp-mode.el (prin1-char):
+ * generic.el (generic-mode-set-comments):
+ * edmacro.el (edmacro-parse-keys):
+ * disp-table.el (standard-display-default): Use characterp.
+
+2003-06-23 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-conf.el (utf-16-be): Make it an alias of
+ utf-16be-with-signature.
+ (utf-16-le): Make it an alias of utf-16le-with-signature.
+ (utf-16-be-with-signature, utf-16-le-with-signature): Remove these
+ coding system aliases.
+
+ * international/utf-7.el (utf-7-decode, utf-7-encode): Use
+ utf-16be, not utf-16-be.
+
+2003-06-06 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (coding-system-category): New function.
+ (set-coding-priority): Re-written.
+ (make-translation-table): Re-written.
+
+ * international/mule-cmds.el (universal-coding-system-argument):
+ Check the coding system type `undecided', not `t'.
+ (sort-coding-systems): Fix for iso-2022 coding systems.
+ (find-multibyte-characters): Fix for eight-bit chars.
+ (set-language-environment): Set charset priorities according to
+ the charsets supported by the coding systems of higher priorities.
+
+2003-06-05 Kenichi Handa <handa@m17n.org>
+
+ * font-lock.el
+ (font-lock-match-c-style-declaration-item-and-skip-to-next):
+ Check (match-end 2) before goto there.
+
+2003-05-30 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (ctext-non-standard-designations-alist):
+ Exclude entries for iso8859-1[03456]. Fix docstring.
+ (ctext-pre-write-conversion): Make it work for the case that FROM
+ is a string. Don't do unnecessary save-restriction and
+ narrow-to-region.
+
+2003-05-28 Kenichi Handa <handa@m17n.org>
+
+ * international/mule.el (ctext-non-standard-encodings-alist):
+ Renamed from non-standard-icccm-encodings-alist.
+ (ctext-non-standard-encodings-regexp): New variable
+ (ctext-post-read-conversion): Full rewrite.
+ (ctext-non-standard-designations-alist): Renamed from
+ non-standard-designations-alist.
+ (ctext-pre-write-conversion): Full rewrite.
+ (define-coding-system): Doc fix (escape '"' by '\').
+
+2003-05-24 Dave Love <fx@gnu.org>
+
+ * international/mule-conf.el (utf-16le, utf-16be-16be)
+ (utf-16le-with-signature, utf-16be-with-signature, utf-16):
+ Define :mime-text-unsuitable. `utf-16{b,l}e...' renamed from
+ `-16-{b,l}e-' and aliases defined for the old names.
+
+ * international/mule.el (define-coding-system): Doc fix.
+
+2003-05-08 Dave Love <fx@gnu.org>
+
+ * international/utf-7.el: New file.
+
+ * international/mule-conf.el (utf-7): New.
+
+2003-05-06 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-conf.el (utf-16-be)
+ (utf-16-be-with-signature): Cancel the previous change.
+ (utf-16): Add :endinan 'big.
+
+ * international/mule.el (define-coding-system): Fix docstring
+ about :bom and :endian.
+
+2003-04-30 Dave Love <fx@gnu.org>
+
+ * mule-conf.el (utf-16-be)
+ (utf-16-be-with-signature): Comment-out :endian.
+
+ * mule-diag.el (describe-character-set): Fix
+ printing dimensions. Use `\e,AW\e(B', not `x'.
+
+2003-04-12 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el: Register CDAC fonts in
+ face-font-rescale-alist instead of face-resizing-fonts.
+
+2003-03-28 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-conf.el (utf-16-le): Renamed from
+ utf-16-le-nosig.
+ (utf-16-be): Renamed from utf-16-be-nosig.
+ (utf-16-le-with-signature): Renamed from utf-16-le.
+ (utf-16-be-with-signature): Renamed from utf-16-be.
+ (utf-16): Set :bom to (utf-16-le-with-signature .
+ utf-16-be-with-signature).
+
+2003-02-12 Dave Love <fx@gnu.org>
+
+ * language/georgian.el (georgian-ps, georgian-academy): New coding
+ system.
+
+ * language/chinese.el (chinese-big5-hkscs): New coding system.
+ (big5-hkscs, cn-big5-hkscs): New aliases.
+
+ * international/mule-conf.el (big5-hkscs, georgian-academy): New
+ charset.
+ (ibm1047): Doc fix.
+ (pt154): Add mime-charset.
+ (ptcp154, cp154): New aliases.
+
+2003-02-04 Dave Love <fx@gnu.org>
+
+ * international/mule.el (charset-iso-final-char)
+ (define-coding-system): Doc fix.
+
+2003-01-30 Kenichi Handa <handa@m17n.org>
+
+ * international/ccl.el (define-ccl-program): Fset charset-id
+ to charset-id-internal temporarily.
+
+2003-01-21 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-diag.el (list-block-of-chars): Use
+ decode-char instead of make-char.
+
+2003-01-10 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el: Enable the default fontset to use
+ unicode fonts for ASCII characters.
+ (x-decompose-font-name): Don't try to resolve PATTERN by
+ x-resolve-font-name.
+ (x-complement-fontset-spec): Never prepend an ASCII font.
+ (create-fontset-from-fontset-spec): If a fontset of the same name
+ already exists, override it instead of signalling an error. Don't
+ turn `ascii' into `latin'. Don't update fontset-alias-alist here.
+
+ * international/mule-conf.el (unicode-bmp): Delete duplicated
+ definition. Give it :code-offset 0.
+
+ * international/mule-diag.el (print-fontset-element): New
+ function.
+ (print-fontset): Use print-fontset-element to print the elements
+ of a fontset. Use it also to print fonts fallen back to the
+ default fontsets.
+
+ * term/x-win.el: Delete the code to create a fontset from the X
+ resource "Font".
+
+2003-01-09 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-diag.el (print-fontset): Insert proper
+ newline and indentation spaces.
+
+2003-01-07 Dave Love <fx@gnu.org>
+
+ * emacs-lisp/byte-opt.el (side-effect-free-fns): Add langinfo,
+ multibyte-char-to-unibyte.
+
+ * emacs-lisp/cl-macs.el (cl-make-type-test): Use characterp.
+
+ * international/mule-cmds.el (find-coding-systems-for-charsets):
+ Use coding-system-type, coding-system-charset-list.
+ (standard-keyboard-coding-systems): Deleted.
+ (set-locale-environment): Maybe set keyboard coding system. Avoid
+ typical warning about codeset in C locale.
+
+2003-01-06 Kenichi Handa <handa@etl.go.jp>
+
+ * international/fontset.el (x-complement-fontset-spec): If a
+ fontname doesn't conform to XLFD format, try to get XLFD name by
+ x-list-fonts.
+
+2002-12-08 Dave Love <fx@gnu.org>
+
+ * international/mule-conf.el (mik, pt154): New charsets.
+
+ * language/cyrillic.el (mik, pt154): New coding systems.
+
+2002-12-05 Dave Love <fx@gnu.org>
+
+ * international/characters.el: Move parts around so that syntax
+ definitions aren't overwritten wrongly.
+
+ * international/mule-diag.el (unicode-data): Fix treatment of
+ numeric-value fields.
+
+2002-12-01 Dave Love <fx@gnu.org>
+
+ * progmodes/cap-words.el: New file.
+
+2002-11-07 Kenichi Handa <handa@m17n.org>
+
+ The following changes are to make character composition happen
+ automatically on displaying.
+
+ * composite.el: Remove all autoload cookies.
+ (composition-function-table): Variable declaration moved from
+ composite.c. Format changed.
+ (save-buffer-state): Copied from font-lock.el.
+ (auto-composition-chunk-size): New variable.
+ (auto-compose-chars): New function. Set
+ auto-composition-function to it.
+ (toggle-auto-composition): New function.
+
+ * international/characters.el: Make all chararacters in the
+ charset tibetan to tibetan script.
+
+ * international/mule-conf.el (tibetan): Fix :code-space property.
+ (tibetan-1-column): Delete :superset property, add :code-offset
+ property.
+
+ * international/quail.el (quail-input-string-to-events): Don't
+ generate compose-chars-after events.
+
+ * language/devanagari.el: Register devanagari-composable-function
+ in composition-function-table for Devanagari characters.
+
+ * language/devan-util.el: Register devanagari-composable-pattern
+ in indian-composable-pattern.
+ (devanagari-composition-function): Add autoload cookie. Change
+ arguments to conform to composition-function-table.
+
+ * language/european.el: Register combining characters in
+ composition-function-table.
+ (diacritic-composition-function): Change arguments to conform to
+ composition-function-table.
+
+ * language/indian.el (indian-composable-pattern): New variable.
+
+ * language/ind-util.el (indian-compose-region): Don't call
+ compose-chars-after, instead call a function registered in
+ composition-function-table.
+
+ * language/lao.el: Register lao-composition-function in
+ composition-function-table for Lao vowels and tones.
+ (lao): Don't use lao-post-read-conversion.
+
+ * language/lao-util.el (lao-post-read-conversion): Delete this
+ function.
+ (lao-composition-function): Change arguments to conform to
+ composition-function-table.
+
+ * language/thai.el: Register thai-composition-function in
+ composition-function-table for Thai vowels and tones.
+ (thai-tis620): Don't use thai-post-read-conversion.
+
+ * language/thai-util.el (thai-post-read-conversion): Delete this
+ function.
+ (thai-composition-function): Change arguments to conform to
+ composition-function-table.
+
+ * language/tibetan.el: Register tibetan-composition-function in
+ composition-function-table for Tibetan characters.
+
+ * language/tibet-util.el (tibetan-composition-function): Change
+ arguments to conform to composition-function-table.
+
+ * loadup.el: Load composite.
+
+2002-11-01 Dave Love <fx@gnu.org>
+
+ * international/mule-diag.el (unicode-data): Find unicodedata-file
+ literally.
+
+2002-10-31 Dave Love <fx@gnu.org>
+
+ * international/fontset.el: Doc fixes.
+ ("fontset-default"): Add iso8859-15.
+
+2002-10-30 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el ("fontset-default"): Add an entry for
+ `indian-is13194' charset.
+
+ * international/mule-conf.el (indian-is13194): Delete :unify-map
+ property. Don't unify this charset.
+ (indian-2-column): Delete :superset property, add :code-offset
+ property.
+
+ * language/devan-util.el: Delete the superfluous autoload cookie
+ near the head of the file.
+ (devanagari-compose-region): Add autoload cookie.
+
+ * language/ind-util.el (indian-2-column-to-ucs-region): Add
+ autoload cookie.
+
+2002-10-29 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el ("fontset-default"): Add an entry for
+ `devanagari' script and `malayalam-glyph' charset.
+ (face-resizing-fonts): Register CDAC fonts.
+
+ * international/mule-conf.el (malayalam-glyph): New charset.
+
+2002-10-28 Dave Love <fx@gnu.org>
+
+ * term/x-win.el: Fix typo in loop setting x-keysym-table.
+
+2002-10-27 Dave Love <fx@gnu.org>
+
+ * international/mule-conf.el (utf-8-emacs): Delete :mime-charset.
+
+ * term/x-win.el: Remove some ancient compatibility code. Populate
+ x-keysym-table.
+
+ * international/mule-cmds.el (wid-edit): Require when compiling.
+ (set-locale-environment): Check locale against coding system
+ aliases too.
+
+2002-10-25 Kenichi Handa <handa@m17n.org>
+
+ * language/indian.el (in-is13194-devanagari): Fix
+ :post-read-conversion and :pre-write-conversion.
+
+2002-10-16 Dave Love <fx@gnu.org>
+
+ * international/mule-cmds.el (charset): Supply doc, :tag.
+
+2002-10-16 Kenichi Handa <handa@m17n.org>
+
+ * emacs-lisp/bytecomp.el (byte-compile-lapcode): Be sure to
+ return a unibyte string.
+
+2002-10-15 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (set-locale-environment): Delete
+ superfluous ')'s at the tail.
+
+2002-10-14 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule.el (define-coding-system): Fix typo;
+ "docode" -> "decode".
+
+2002-10-14 Dave Love <fx@gnu.org>
+
+ * emacs-lisp/byte-opt.el (side-effect-free-fns): Add
+ string-make-unibyte string-make-multibyte string-to-multibyte
+ string-as-multibyte string-as-unibyte.
+
+2002-10-11 Dave Love <fx@gnu.org>
+
+ * language/english.el (ibm1047, cp1047): New.
+
+ * international/mule-conf.el (alternativnyj): Use new table.
+ (cp866): Define standalone, not as alias.
+ (ibm866): Change alias.
+ (ibm1047): New.
+
+ * language/cyrillic.el (cyrillic-alternativnyj): Remove
+ mime-charset. Use alternativnj charset.
+ (cp866): Remove alias. Define standalone.
+
+2002-10-09 Dave Love <fx@gnu.org>
+
+ * language/european.el ("Latin-2", "Latin-5"): Doc fix.
+
+ * language/cyrillic.el ("Bulgarian"): Fix input method and
+ charset.
+ ("Tajik", "Belarusian"): Fix charset.
+
+ * international/mule-cmds.el (describe-language-environment): Be
+ case-insensitive when looking for input methods.
+ (locale-name-match): Doc fix.
+ (locale-charset-match-p): New.
+ (set-locale-environment): Warn if coding system doesn't agree
+ with system locale.
+
+2002-10-09 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-cmds.el (select-safe-coding-system): If
+ :mime-charset property of a coding system is not equal to that
+ coding system, don't show that :mime-charset name.
+
+2002-10-06 Dave Love <fx@gnu.org>
+
+ * international/quail.el (quail-help): Fix underlining.
+
+ * language/chinese.el (chinese-gb18030, gb18030)
+ ("Chinese-GB18030"): New.
+
+ * international/mule-cmds.el (locale-language-names): Add GB18030.
+
+ * international/swedish.el: Don't require latin-1.
+
+2002-10-05 Dave Love <fx@gnu.org>
+
+ * language/czech.el ("Czech"):
+ * language/slovak.el ("Slovak"):
+ * language/romanian.el ("Romanian"): Remove unibyte-syntax property.
+
+ * language/greek.el ("Greek"): Remove unibyte-syntax property.
+ (cp737): New coding system.
+
+ * language/european.el: Remove unibyte-syntax properties.
+ Augment some coding-system properties.
+
+ * international/mule-cmds.el (set-language-environment): Check
+ for charset property of environment.
+ (language-info-alist): Doc fix.
+
+ * Makefile.in (DONTCOMPILE): Remove latin-N.el.
+
+ * international/characters.el: Add Latin-1.
+
+ * international/latin-1, international/latin-2, international/latin-3:
+ * international/latin-4, international/latin-5, international/latin-8:
+ * international/latin-9: Deleted.
+
+ * loadup.el: Remove international/latin-N.el.
+
+ * case-table.el (set-case-syntax-charset, set-case-syntax-1)
+ (set-case-syntax-delims, set-case-syntax-pair, set-case-syntax):
+ Undo last changes.
+
+ * international/mule-diag.el (unicode-data): Check that
+ `unicodedata-file' exists.
+
+2002-10-05 Kenichi Handa <handa@m17n.org>
+
+ * international/fontset.el (charset-script-alist): Fix script
+ names.
+
+2002-10-01 Kenichi Handa <handa@m17n.org>
+
+ * international/latin-1.el: Bind set-case-syntax-charset to
+ iso-8859-1. Never provide latin-1.
+
+ * international/latin-2.el: Bind set-case-syntax-charset to
+ iso-8859-2. Never provide latin-2.
+
+ * international/latin-3.el: Bind set-case-syntax-charset to
+ iso-8859-3. Never provide latin-3.
+
+ * international/latin-4.el: Bind set-case-syntax-charset to
+ iso-8859-4. Never provide latin-4.
+
+ * international/latin-5.el: Bind set-case-syntax-charset to
+ iso-8859-9. Never provide latin-5.
+
+ * international/latin-8.el: Bind set-case-syntax-charset to
+ iso-8859-14. Never provide latin-8.
+
+ * international/latin-9.el: Bind set-case-syntax-charset to
+ iso-8859-15. Never provide latin-9.
+
+ * case-table.el (set-case-syntax-set-multibyte): This variable
+ deleted.
+ (set-case-syntax-charset): New variable.
+ (set-case-syntax-1): New function.
+ (set-case-syntax-delims, set-case-syntax-pair, set-case-syntax):
+ Call set-case-syntax-1 on arguments.
+
+ * international/mule-cmds.el (set-language-environment): Delete
+ unnecessary setup of syntax/case for unibyte case.
+
+2002-09-27 Kenichi Handa <handa@etl.go.jp>
+
+ * international/fontset.el (generate-fontset-menu): Exclude the
+ default fontset.
+
+ * faces.el (describe-face): Describe :fontset property too.
+
+2002-09-25 Dave Love <fx@gnu.org>
+
+ * international/characters.el: Fix last change.
+
+2002-09-23 Dave Love <fx@gnu.org>
+
+ * international/characters.el: Don't set char width of CJK
+ charsets generally. Add some non-word syntax cases.
+ (korean-ksc5601): Fix ranges with symbol syntax.
+
+2002-09-14 Dave Love <fx@gnu.org>
+
+ * Makefile.in (DONTCOMPILE): Add indian.el.
+
+ * language/ind-util.el:
+ (ucs-bengali-to-is13194-alist, ucs-assamese-to-is13194-alist)
+ (ucs-gurmukhi-to-is13194-alist, ucs-gujarati-to-is13194-alist)
+ (ucs-oriya-to-is13194-alist, ucs-tamil-to-is13194-alist)
+ (ucs-telugu-to-is13194-alist, ucs-malayalam-to-is13194-alist):
+ Remove declarations and let-bind them in re-written top-level loop
+ over scripts, including ucs-devanagari-to-is13194-alist.
+
+2002-09-14 Dave Love <fx@gnu.org>
+
+ * international/mule-cmds.el (charset): Move.
+ (language-info-custom-alist): Move. Alter :set.
+ (find-coding-systems-for-charsets): Check charset type before
+ getting :charset-list.
+
+ * language/ind-util.el (iscii-to-ucs-region): Fix typo.
+
+2002-09-12 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule-conf.el (emacs-mule, iso-2022-7bit)
+ (iso-2022-7bit-ss2, iso-2022-7bit-lock, iso-2022-8bit-ss2)
+ (compound-text, ctext-no-compositions): Cancel provious change.
+
+2002-09-09 Dave Love <fx@gnu.org>
+
+ * wid-edit.el (widget-string-complete): New.
+ (widget-coding-system-prompt-value-history): Deleted.
+ (coding-system): Use coding-system-value-history.
+
+ * international/mule-cmds.el (charset): New widget.
+ (language-info-custom-alist): Use it.
+ (default-input-method): Modify :type.
+
+2002-09-08 Dave Love <fx@gnu.org>
+
+ * language/ind-util.el (ucs-devanagari-to-is13194-alist)
+ (indian-glyph-char, indian-char-glyph): Delete.
+ (is13194-default-repertory): Rename from is13194-default-repartory.
+ (iscii-to-ucs-region): Hoist evals from loop.
+
+ * language/devan-util.el (dev-charseq): Avoid indian-glyph-char.
+
+ * language/indian.el (indian-script-table)
+ (ccl-encode-indian-glyph-font): Delete.
+
+ * international/mule-conf.el (emacs-mule, iso-2022-7bit)
+ (iso-2022-7bit-ss2, iso-2022-7bit-lock, iso-2022-8bit-ss2)
+ (compound-text, ctext-no-compositions): Remove :charset-list.
+
+ * international/mule-cmds.el (language-info-custom-alist): New.
+ (input-method-activate-hook, input-method-inactivate-hook)
+ (input-method-after-insert-chunk-hook)
+ (input-method-use-echo-area, set-language-environment-hook)
+ (exit-language-environment-hook): Customize.
+ (find-coding-systems-for-charsets): Rewritten.
+ (default-input-method): Add :link.
+
+2002-09-08 Dave Love <fx@gnu.org>
+
+ * international/mule-conf.el (eight-bit): Add :docstring,
+ :short-name properties.
+ (cp851): Doc fix.
+ (unicode-bmp): New.
+
+ * case-table.el (set-case-syntax-pair): Remove check on byte lengths.
+
+ * language/european.el (cp858): New.
+ ("Turkish"): Add special case rules.
+
+2002-09-05 Dave Love <fx@gnu.org>
+
+ * international/characters.el: Make \e,_/\e(B and \e,A\7f\e(B a case pair.
+
+2002-09-03 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule-conf.el: Don't define the charset iso-8859-1
+ here, just setup its properties.
+
+2002-08-21 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule-conf.el (utf-8): Give :mime-charset property.
+
+2002-08-20 Kenichi Handa <handa@etl.go.jp>
+
+ * international/characters.el: Remove duplicated case setting for
+ Cyrillic and Greek letters. Don't setup printable-chars here.
+
+ * case-table.el (describe-buffer-case-table): Handle the case
+ that KEY is a cons within map-char-table.
+
+2002-08-19 Kenichi Handa <handa@etl.go.jp>
+
+ * international/characters.el: Fix categories ?A and ?C.
+ Treat ASCII characters as `latin' script.
+
+2002-08-18 Kenichi Handa <handa@etl.go.jp>
+
+ * international/fontset.el (fontset-plain-name): If the fontset
+ name doesn't ends with "-fontset-*", use family name as the first
+ part of the plain name.
+ (create-fontset-from-ascii-font): If "fontset-startup" is not yet
+ created, use that name for the fontset. Fix arguments to
+ subst-char-in-string.
+
+2002-08-18 Dave Love <fx@gnu.org>
+
+ * term.el (term-char-mode): Remove generic-character-list code.
+
+ * ruler-mode.el (ruler-mode-character-validate): Use characterp.
+
+ * wid-edit.el (character): Use characterp.
+
+ * international/mule-diag.el (describe-coding-system): Add utf-16 case.
+
+ * language/viet-util.el (viet-encode-viscii-char): Use encode-char.
+
+ * language/cyrillic.el ("Tajik", "Bulgarian", "Belarusian"):
+ Add charset.
+ ("Ukrainian"): New.
+
+ * language/georgian.el (georgian-ps): New coding system.
+
+2002-08-15 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule-cmds.el (reset-language-environment):
+ Don't set nonascii-translation-table and nonascii-insert-offset.
+ Call set-unibyte-charset, not set-primary-charset.
+ (nonascii-translation-table, nonascii-insert-offset):
+ Declare these variable as obsolete ones.
+ (set-language-environment): Call set-unibyte-charset, not
+ set-primary-charset. Call set-charset-priority with `charset'
+ info of the language environment.
+
+2002-08-08 Kenichi Handa <handa@etl.go.jp>
+
+ * tar-mode.el (tar-extract): Fix previous change.
+
+2002-08-02 Kenichi Handa <handa@etl.go.jp>
+
+ * international/characters.el (next-word-boundary-han):
+ Don't treat katakana following han characters as a part of a word.
+
+2002-08-01 Kenichi Handa <handa@etl.go.jp>
+
+ * international/characters.el: Call map-charset-chars on big5 (not
+ chinese-big5-1/2) to set categories `c', `C', and `|'.
+ (next-word-boundary-han): New function. Register it in
+ next-word-boundary-function-table.
+ (next-word-boundary-kana): Likewise.
+
+2002-07-31 Kenichi Handa <handa@etl.go.jp>
+
+ * arc-mode.el (archive-file-name-coding-system): New variable.
+ Make it permanent-local.
+ (byte-after, bref, insert-unibyte): New function. Change most of
+ char-after, aref, insert to them respectively.
+ (archive-mode): Set archive-file-name-coding-system.
+ (archive-summarize): Don't change the buffer's multibyteness.
+ (archive-extract): Inherit archive-file-name-coding-system from
+ archive-superior-buffer. Bind coding-system-for-write to
+ archive-file-name-coding-system.
+ (archive-*-write-file-member): Encode ENAME by
+ archive-file-name-coding-system. Bind coding-system-for-write to
+ no-conversion.
+ (archive-rename-entry): Encode the filename by
+ archive-file-name-coding-system.
+ (archive-mode-revert): Don't change the buffer's multibyteness.
+ (archive-arc-summarize, archive-lzh-summarize)
+ (archive-zoo-summarize): Don't change the buffer's multibyteness.
+ Decode filenames by archive-file-name-coding-system.
+ (archive-arc-rename-entry, archive-zip-chmod-entry): Don't change
+ the buffer's multibyteness.
+
+ * tar-mode.el (tar-file-name-coding-system): New variable.
+ Make it permanent-local.
+ (tar-header-block-tokenize): Decode filename and linkname by
+ tar-file-name-coding-system.
+ (tar-header-block-checksum): Call multibyte-char-to-unibyte to get
+ the byte value of eight-bit chars.
+ (tar-summarize-buffer): Call set-buffer-multibyte with METHOD
+ `to'. Delete unnecessary call of position-bytes.
+ (tar-mode): Set tar-file-name-coding-system. Delete unnecessary
+ call of position-bytes.
+ (tar-extract): Simplify by calling decode-coding-region with
+ DESTINATION argument. Don't toggle multibyteness of tar buffer.
+ (tar-copy): Don't toggle multibyteness of tar buffer.
+ (tar-expunge): Likewise.
+ (tar-clear-modification-flags): Delete unnecessary call of
+ position-bytes.
+ (tar-rename-entry): Call tar-alter-one-field with encoded new name.
+ (tar-alter-one-field): Don't toggle multibyteness of tar buffer.
+ Convert new-data-string by string-to-multibyte before inserting it.
+ (tar-subfile-save-buffer): Don't toggle multibyteness of tar
+ buffer. Simplify by calling encoding-coding-region with
+ DESTINATION argument.
+ (tar-mode-write-file): Delete unnecessary call of byte-to-position.
+
+2002-07-30 Dave Love <fx@gnu.org>
+
+ * international/titdic-cnv.el (quail-cxterm-package-ext-info): Doc fix.
+
+ * emacs-lisp/copyright.el (copyright-regexp): Remove redundancy.
+
+2002-07-26 Kenichi Handa <handa@etl.go.jp>
+
+ * international/characters.el: Setup char-script-table.
+
+ * international/fontset.el: Setup the default fontset by the new
+ script based way.
+ (x-complement-fontset-spec): Change the format of arg FONTLIST to
+ an alist of charsets vs font name lists.
+ (charset-script-alist): New variable.
+ (create-fontset-from-fontset-spec): Allow script name in
+ FONTSET-SPEC. If charset is specified in FONTSET-SPEC, change it
+ to the corresponding script name.
+ (create-fontset-from-ascii-font): Slightly tuned.
+
+ * international/mule-conf.el (devanagari-glyph): New charset.
+ Unify these charsets: korean-ksc5601, ipa, tibetan, ethiopic,
+ japanese-jisx0208, japanese-jisx0212, japanese-jisx0213-1,
+ japanese-jisx0213-2.
+
+ * international/mule-diag.el (print-fontset): Use describe-vector
+ to handle a char table returned by fontset-info.
+
+ * language/indian.el: Don't register ccl-encode-indian-glyph-font
+ and ccl-encode-unicode-font in font-ccl-encoder-alist.
+
+2002-07-18 Dave Love <fx@gnu.org>
+
+ * startup.el (fancy-splash-head): Warn about status.
+ (fancy-splash-tail): Copyright up-date.
+
+2002-07-17 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule-util.el (detect-coding-with-priority):
+ Fix the place of using `,' marker in backguote form.
+
+2002-07-12 Dave Love <fx@gnu.org>
+
+ * international/mule-conf.el (mule-unicode-e000-ffff): Set :max-code.
+
+ * international/mule-util.el (with-coding-priority): Fix.
+
+ * international/mule.el (set-coding-priority): Fix obsolete spec.
+
+2002-07-05 Dave Love <fx@gnu.org>
+
+ * international/mule-cmds.el (leim-list-header): Add coding tag.
+
+2002-07-05 Dave Love <fx@gnu.org>
+
+ * international/mule-cmds.el (find-coding-systems-region)
+ (language-info-alist, reset-language-environment, princ-list): Doc
+ fix.
+ (input-method-verbose-flag): Fix :type.
+ (set-locale-environment): Revert last change.
+
+2002-07-03 Dave Love <fx@gnu.org>
+
+ * international/mule.el (set-char-table-default): Make obsolete.
+
+2002-07-01 Dave Love <fx@gnu.org>
+
+ * language/devanagari.el ("Devanagari"): Fix coding-system,
+ coding-priority.
+
+ * international/mule-diag.el (describe-char-after): Modify display
+ list processing.
+ (unicodedata-file, unicodedata-find): New.
+
+2002-06-29 Dave Love <fx@gnu.org>
+
+ * emacs-lisp/bytecomp.el (batch-byte-compile-if-not-done): Add
+ autoload cookie.
+
+ * international/ja-dic-cnv.el (skkdic-convert): Add coding tag.
+
+2002-06-28 Dave Love <fx@gnu.org>
+
+ * international/mule-util.el (detect-coding-with-priority):
+ Rewritten.
+
+2002-06-27 Dave Love <fx@gnu.org>
+
+ * composite.el (compose-string): Doc fix.
+
+ * language/georgian.el ("Georgian"): Delete code-pages feature,
+ add nonascii-translation.
+
+ * language/european.el ("German", "French", "Spanish"): Add
+ latin-9 as alternative coding system.
+ ("Slovenian", "Polish"): Add windows-1250 as alternative coding
+ system.
+ ("Dutch"): Add latin-9 as alternative coding system. Add input
+ method.
+ ("Turkish"): Add windows-1254 and latin-3 as alternative coding
+ systems.
+ ("Lithuanian", "Latvian"): Add windows-1257 as alternative coding
+ system.
+
+ * emacs-lisp/byte-opt.el (side-effect-free-fns): Add decode-char,
+ encode-coding-char.
+ (side-effect-and-error-free-fns): Add charsetp, max-char,
+ primary-charset.
+
+ * simple.el: Don't require cl when compiling.
+
+ * Makefile.in (DONTCOMPILE): Fix duplicates.
+
+ * emacs-lisp/bytecomp.el (byte-compile-insert-header): Fix typo.
+
+ * international/mule.el: Doc fixes.
+ (load-with-code-conversion): Fix coding-system-type test.
+
+ * international/mule-cmds.el (sort-coding-systems): Comment out
+ iso-2022 case.
+ (encoded-string-description): Fix coding-system-type test.
+
+2002-06-24 Dave Love <fx@gnu.org>
+
+ * international/characters.el: Make korean-ksc5601 double-width.
+
+ * international/mule.el (auto-coding-regexp-alist): Recognize
+ Emacs 20/1 byte-compiled files.
+
+ * international/mule-conf.el (file-coding-system-alist): Change
+ .elc to utf-8-emacs.
+
+ * emacs-lisp/bytecomp.el (byte-recompile-directory)
+ (batch-byte-recompile-directory): Update from trunk.
+ (byte-compile-fix-header): Adjust for use of utf-8-emacs.
+ (byte-compile-insert-header): Update magic number. Add ballast.
+ (map-char-table): Use byte-compile-funarg-2.
+
+2002-06-16 Dave Love <fx@gnu.org>
+
+ * international/mule-cmds.el (set-locale-environment): Use
+ locale-codeset.
+
+2002-06-15 Dave Love <fx@gnu.org>
+
+ * language/cyrillic.el ("Belarusian"): Doc fix.
+ (cp1125, koi8-t): Doc fix.
+
+ * international/mule-cmds.el (find-multibyte-characters): Doc fix.
+ (find-multibyte-characters): Don't test for charset `unknown'.
+ (locale-language-names): Change or add: be, bs, cy, mk, ru.koi8,
+ ru, sr_YU, tg, wa, zh.gbk.
+ (locale-language-names): Change sp to Cyrillic.
+ (locale-charset-language-names): Match @euro after utf-8.
+
+2002-06-13 Dave Love <fx@gnu.org>
+
+ * language/chinese.el (chinese-gbk, gbk, cp936, windows-936): New
+ coding systems.
+ ("Chinese-GBK"): New environment.
+
+2002-06-12 Dave Love <fx@gnu.org>
+
+ * language/chinese.el (chinese-gbk, gbk, cp936, windows-936): New
+ coding systems.
+ ("Chinese-GBK"): New environment.
+
+ * language/thai-util.el: Remove redundant unicodes in
+ category-setting.
+
+ * language/lao-util.el: Remove redundant unicodes in
+ category-setting.
+
+ * international/mule-conf.el (japanese-jisx0213-1)
+ (japanese-jisx0213-2): Add unify-map.
+
+2002-06-12 Kenichi Handa <handa@etl.go.jp>
+
+ * international/quail.el (quail-update-leim-list-file): Force
+ writing the file by iso-2022-7bit.
+
+ * international/titdic-cnv.el (miscdic-convert): Force writing the
+ file by iso-2022-7bit.
+
+ * international/mule.el (define-charset): Change the attribute
+ :parents to :subset or :superset.
+
+ * international/mule-conf.el: Adjusted for the change of
+ define-charset (:parent -> :subset or :superset).
+
+ * international/characters.el: Fix the last change.
+
+2002-06-11 Dave Love <fx@gnu.org>
+
+ * language/cyril-util.el (cyrillic-encode-koi8-r-char)
+ (cyrillic-encode-alternativnyj-char): Fixed.
+ (standard-display-cyrillic-translit): Remove redundant unicodes.
+
+2002-06-10 Dave Love <fx@gnu.org>
+
+ * language/cyrillic.el ("Tajik", "Bulgarian", "Belarusian"): New
+ environments.
+
+ * international/mule-conf.el (control-1): New charset.
+ (eight-bit-control, eight-bit-graphic): Redefined to use raw-bytes
+ space.
+ (korean-ksc5601): Redefine to use code-offset and unify-map.
+
+2002-06-07 Dave Love <fx@gnu.org>
+
+ * international/mule-conf.el (tcvn-5712): New charset.
+
+ * language/vietnamese.el (vietnamese-tcvn, tcvn): New coding
+ system.
+ ("Vietnamese"): Doc fix.
+
+2002-06-06 Dave Love <fx@gnu.org>
+
+ * international/mule-conf.el (windows-936): New alias.
+
+ * cus-start.el: Add scalable-fonts-allowed.
+
+ * international/characters.el: Reinstate various CJK syntax and
+ category setup. Remove obsolete syntax setting in Greek section.
+ Optimize the char tables.
+
+ * language/thai.el ("Thai"): Add cp874, iso-8859-11 coding
+ systems.
+
+ * language/vietnamese.el ("Vietnamese"): Add windows-1258 coding
+ system.
+
+ * language/greek.el ("Greek"): Add windows-1253, cp851, cp869
+ coding systems.
+
+ * language/romanian.el ("Romanian"): Add iso-latin-10 coding
+ system.
+
+2002-06-03 Kenichi Handa <handa@etl.go.jp>
+
+ * international/characters.el (printable-chars): Setup correctly.
+
+2002-06-02 Dave Love <fx@gnu.org>
+
+ * cus-start.el: Add selection-coding-system.
+
+ * language/hebrew.el ("Hebrew"): Add windows-1255, cp862 coding
+ systems.
+
+ * language/china-util.el (post-read-decode-hz)
+ (pre-write-encode-hz): Moved from chinese.el.
+ (big5-to-flat-code, flat-code-to-big5, euc-to-flat-code)
+ (flat-code-to-euc, expand-euc-big5-alist, big5-to-cns): Deleted.
+
+ * language/chinese.el (post-read-decode-hz)
+ (pre-write-encode-hz): Moved to china-util.el.
+
+ * case-table.el (set-case-syntax-pair): Test again for equal byte
+ lengths of the pair.
+
+ * international/characters.el: Add Vietnamese category to
+ equivalent unicodes.
+
+2002-05-31 Dave Love <fx@gnu.org>
+
+ * international/mule-conf.el (chinese-sisheng, ipa)
+ (indian-is13194, tibetan, ethiopic): Add :unify-map.
+
+ * international/mule-diag.el (describe-character-set): Account for
+ more than two dimensions of possibly different size.
+ (describe-current-coding-system): Add selection-coding-system.
+
+ * international/mule-cmds.el (unify-8859-on-encoding-mode)
+ (unify-8859-on-decoding-mode): Moved from mule.el.
+
+ * international/mule.el (unify-8859-on-encoding-mode)
+ (unify-8859-on-decoding-mode): Remove :init-value.
+ (charset-chars): Add optional dimension arg.
+ (unify-8859-on-encoding-mode, unify-8859-on-decoding-mode): Moved
+ to mule-cmds.el.
+
+2002-05-31 Kenichi Handa <handa@etl.go.jp>
+
+ * international/fontset.el: Change registry for japanese-jisx0208
+ to "JISX0208*" in the default fontset.
+ (font-encoding-alist): Add an entry for "JISX0208.1983" and
+ "ISO10646.indian-1".
+
+2002-05-30 Kenichi Handa <handa@etl.go.jp>
+
+ * language/japanese.el (japanese-iso-7bit-1978-irv): Add
+ `designation' to :flags, `ascii' to :charset-list.
+
+ * international/mule.el (define-charset): New args :min-code and
+ :max-code.
+ (coding-system-iso-2022-flags): Add use-roman, use-oldjis.
+
+ * international/mule-conf.el (chinese-gbk): Change :code-offset to
+ #x160000.
+ (gb18030-2-byte, gb18030-4-byte-bmp, gb18030-4-byte-smp,
+ gb18030-4-byte-ext-1, gb18030-4-byte-ext-2, gb18030): New
+ charsets.
+
+2002-05-29 Dave Love <fx@gnu.org>
+
+ * language/thai.el (iso-8859-11): New coding system.
+
+ * international/mule-conf.el: Doc fixes.
+ (iso-8859-11): New.
+
+2002-05-28 Dave Love <fx@albion.dl.ac.uk>
+
+ * cus-start.el (scalable-fonts-allowed): Add.
+
+2002-05-27 Dave Love <fx@gnu.org>
+
+ * international/mule.el (unify-8859-on-encoding-mode)
+ (unify-8859-on-decoding-mode): Dummy versions.
+
+ * international/ucs-tables.el: Removed.
+
+ * Makefile.in (DONTCOMPILE): Add language/chinese.el,
+ language/japanese.el.
+
+ * international/mule-conf.el: Doc fixes.
+ (cp936): New alias.
+ (cp720, cp858): New charsets.
+
+ * mail/sendmail.el (mail-recover-1, mail-recover): Use utf-8-emacs
+ coding system, not emacs-mule.
+
+ * files.el (revert-buffer, recover-file): Likewise.
+
+ * desktop.el (desktop-save): Likewise.
+
+2002-05-26 Dave Love <fx@gnu.org>
+
+ * international/mule.el (with-category-table): Use make-symbol.
+ (coding-system-list): Use coding-system-aliases.
+ (make-translation-table): Don't deal with generic characters.
+
+ * international/mule-util.el: (coding-system-post-read-conversion)
+ (coding-system-pre-write-conversion)
+ (coding-system-translation-table-for-decode)
+ (coding-system-translation-table-for-encode): Get the right
+ properties.
+ (with-coding-priority): New macro.
+ (detect-coding-with-language-environment): Use it.
+ (coding-system-equal): Use coding-system-plist.
+
+ * encoded-kb.el: (encoded-kbd-setup-keymap) <ccl>:
+ Use :valid property.
+
+ * mule-cmds.el (encode-coding-char): Use
+ find-coding-systems-string. Don't use make-char.
+ (describe-language-environment): Use coding-system-aliases.
+ (prefer-coding-system): Doc fix.
+
+ * mule-diag.el (describe-current-coding-system): Fix aliases
+ listing.
+ (print-iso-2022-flags): Deleted.
+ (print-designation): Partly re-written.
+ (describe-coding-system): Deal with iso-2022 designations, flags.
+ Fix shift_jis case.
+ (describe-char-after): Use characterp. Print explicit unicode.
+ Remove some obsolete code.
+ (print-coding-system-briefly): Fix printing aliases.
+ (print-coding-system): Use coding-system-aliases.
+ (mule-diag): Don't list coding categories.
+
+ * mule-conf.el: Doc fixes. Remove redundant
+ :long-name properties. Re-order charset priorities.
+ (binary): New alias.
+ (iso-8859-16): Fix nickname.
+ (define-iso-single-byte-charset): Un-define after use.
+
+2002-05-26 Dave Love <fx@gnu.org>
+
+ * international/mule.el (coding-system-iso-2022-flags): Revert
+ last change.
+
+2002-05-25 Dave Love <fx@gnu.org>
+
+ * international/characters.el: Additional double width
+ specifications.
+
+ * international/mule-diag.el (print-coding-system): Incomplete
+ updates.
+ (describe-character-set): List more properties.
+ (print-fontset): Fix case of vector font-spec.
+ (describe-current-coding-system): Fix iso-7, iso-7-else.
+
+ * international/mule-conf.el (ibm866): Fix alias.
+ (iso-8859-16): Fix nickname.
+
+ * international/mule.el (coding-system-iso-2022-flags): Add
+ use-roman, use-oldjis.
+
+2002-05-23 Dave Love <fx@gnu.org>
+
+ * language/ind-util.el: Avoid decode-char.
+ (indian--puthash-char, indian--puthash-c, indian--puthash-cv):
+ Use characterp, not char-valid-p.
+
+ * language/devan-util.el: Add coding tag, avoid decode-char.
+
+ * international/titdic-cnv.el: Add coding tag.
+ (tit-process-header): Add coding tag to output.
+
+ * language/thai.el (cp874, ibm874): New coding systems.
+
+ * emacs-lisp/byte-opt.el <side-effect-and-error-free-fns>: Add
+ character-p.
+
+ * language/european.el (cp852, ibm852, cp857, ibm857, cp860)
+ (ibm860, cp861, ibm861, cp863, cp865, ibm865, cp437, ibm437): New
+ coding systems.
+ <set-language-info-alist>: Avoid decode-char.
+
+ * language/hebrew.el (cp862, ibm862): New coding systems.
+
+ * language/greek.el (cp851, ibm851, cp869, ibm869): New coding
+ systems.
+
+ * language/cyrillic.el (cp855, ibm855): New coding systems.
+
+ * international/mule-conf.el: Avoid decode-char in top-level code
+ for self-inserting multibyte chars.
+ (cp437, cp737, cp775, cp851, cp852, cp855, cp857, cp855, cp857)
+ (cp860, cp861, cp862, cp863, cp864, cp865, cp869, cp874): New
+ charsets.
+
+ * international/characters.el: Various simplifications and
+ additions.
+
+2002-05-22 Dave Love <fx@gnu.org>
+
+ * international/mule-conf.el (code-pages): Provide, for
+ compatibility.
+
+ * international/code-pages.el: Removed.
+
+2002-05-22 Kenichi Handa <handa@etl.go.jp>
+
+ * Makefile.in: Cancel the 2002-05-17 change of mine.
+
+ * international/fontset.el: Add setting for unicode font at the
+ end of the default fontset.
+
+2002-05-21 Dave Love <fx@gnu.org>
+
+ * international/mule-conf.el (adobe-standard-encoding, symbol):
+ Adjust :code-space.
+ (ibm850): Add :ascii-compatible-p.
+
+2002-05-21 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule-conf.el (vietnamese-viscii-lower)
+ (vietnamese-viscii-upper): Supply them :code-offset, then unify by
+ mapping table.
+
+2002-05-20 Dave Love <fx@gnu.org>
+
+ * cus-start.el: Add charset-map-directory.
+
+ * international/fontset.el (font-encoding-alist): Add
+ adobe-symbol.
+
+ * format.el (format-alist): Remove ibm, mac, hp entries (available
+ natively).
+
+ * language/romanian.el (iso-latin-10): Add :mime-charset.
+ ("Romanian"): Add doc.
+
+ * international/mule-conf.el (iso-8859-10, symbol)
+ (adobe-standard-encoding, ibm850): New charsets.
+ (iso-8859-13): Fix IR number, final char.
+ (file-coding-system-alist): Add .xml.
+
+ * language/european.el (iso-latin-6, iso-8859-10, latin-6)
+ (iso-latin-7, iso-8859-13, latin-7, hp-roman8, roman8)
+ (adobe-standard-encoding, cp850, ibm850): New coding systems.
+ ("Latin-6", "Latin-7"): New language environments.
+
+2002-05-19 Dave Love <fx@gnu.org>
+
+ * Makefile.in (DONTCOMPILE): Remove ucs-tables, utf-8,
+ utf-8-subst; add vietnamese, cyrillic, czech.
+
+ * language/romanian.el (iso-latin-10): New coding system.
+
+ * international/mule-conf.el (emacs-mule): Set :charset-list,
+ consistent with coding-system-charset-list doc.
+ (iso-8859-16): New charset.
+
+ * international/mule-diag.el (describe-coding-system): Avoid error
+ for iso-2022, emacs-mule.
+
+2002-05-17 Dave Love <fx@gnu.org>
+
+ * international/codepage.el: Most of code removed or commented
+ out.
+ (codepage-setup): Re-written as trivial, obsolete function.
+
+ * language/utf-8-lang.el ("UTF-8"): Use utf-8, not mule-utf-8.
+ Remove setup function.
+
+ * language/english.el (ebcdic-us, ebcdic-uk): New coding systems.
+
+ * Makefile.in (DONTCOMPILE): Add language/vietnamese.el,
+ language/cyrillic.el, language/czech.el.
+
+ * language/vietnamese.el (windows-1258, cp1258): New coding
+ systems.
+ (font-ccl-encoder-alist): Remove viscii, vscii.
+
+ * language/hebrew.el (windows-1255, cp1255): New coding systems.
+
+ * language/european.el (windows-1254, cp1254, windows-1257)
+ (cp1257, next, iso-latin-7, iso-8859-13, latin-7): New coding
+ systems.
+ ("Latin-7", "Lithuanian", "Latvian"): Don't require code-pages.
+
+ * language/greek.el (windows-1253, cp1253): New coding systems.
+
+ * international/mule-conf.el (ebcdic-us, ebcdic-uk): Change map
+ file name.
+ (windows-1253, windows-1254, windows-1255, windows-1256)
+ (windows-1257, windows-1258, next): New charsets.
+
+ * international/utf-8.el, international/utf-8-subst.el: Removed.
+
+ * international/mule.el: Doc fixes.
+ (charset-list, generic-char-p, set-coding-priority): Make
+ obsolete.
+ (coding-system-get): Try to convert old-style symbol to keyword.
+ (define-charset): Purecopy strings in property list.
+ (define-coding-system): Purecopy docstring.
+
+ * international/mule-diag.el (list-character-sets-2): Avoid
+ charset-bytes.
+ (list-iso-charset-chars, list-non-iso-charset-chars): Deleted.
+ (list-block-of-chars): Re-written.
+ (describe-character-set): Show more properties.
+ (describe-char-after): Correct codepoint display.
+ (print-coding-system): Use symbolic types.
+
+2002-05-17 Kenichi Handa <handa@etl.go.jp>
+
+ * Makefile.in: Be sure also to run emacs with LANG=C.
+
+2002-05-16 Dave Love <fx@gnu.org>
+
+ * international/mule-diag.el: Doc fixes.
+ (sort-charset-list, charset-multibyte-form-string): Removed.
+ (list-character-sets, list-character-sets-1)
+ (list-character-sets-2): Re-written.
+ (non-iso-charset-alist): Set to nil and made obsolete.
+ (decode-codepage-char): Re-written and made obsolete.
+ (read-charset): Don't use non-iso-charset-alist.
+ (describe-coding-system): Use keyword properties.
+ (describe-character-set): Re-written.
+
+ * international/mule-conf.el (koi8-u, koi8-t, georgian-ps)
+ (windows-1250, windows-1251, windows-1252, cp1125, ebcdic-us)
+ (ebcdic-uk): New charsets.
+
+ * language/cyrillic.el (koi8-u, koi8-t, windows-1251, cp1125): New
+ coding systems.
+
+ * language/european.el (windows-1252): New coding system.
+
+2002-05-16 Kenichi Handa <handa@etl.go.jp>
+
+ * Makefile.in: By sure to run emacs with LC_ALL=C.
+
+ * international/encoded-kb.el (encoded-kbd-handle-8bit): Call
+ encoded-kbd-self-insert-iso2022-8bit with argument 1.
+ (encoded-kbd-self-insert-charset): New function.
+ (encoded-kbd-setup-keymap): Handle a coding-system of type
+ charset.
+ (encoded-kbd-mode): Likewise.
+
+2002-05-15 Dave Love <fx@gnu.org>
+
+ * international/mule-cmds.el (set-locale-environment): Comment out
+ set-keyboard-coding-system stuff.
+
+2002-05-14 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule.el (define-coding-system): Docstring
+ fixed (sjis->shift-jis).
+
+ * international/mule-conf.el: Use decode-char instead of
+ make-char.
+
+ * international/encoded-kb.el
+ (encoded-kbd-self-insert-iso2022-8bit): New arg ARG. Directly
+ call self-insert-command. This is a temporary workaround to
+ make it work with latin-1.
+ (encoded-kbd-mode): Change `sjis' to `shift-jis'.
+
+ * international/characters.el: Setup char-width-table for CJK
+ characters.
+
+2002-05-15 Kenichi Handa <handa@etl.go.jp>
+
+ * international/ja-dic-utl.el (skkdic-jisx0208-hiragana-block):
+ Fix the initial value to specify character range of
+ japanese-jisx0208, not unicode.
+
+ * international/characters.el: Set syntax/category for
+ japanese-jisx0208.
+
+2002-05-14 Dave Love <fx@gnu.org>
+
+ * mail/sendmail.el (sendmail-send-it): Use :mime-charset, not
+ mime-charset.
+
+ * language/vietnamese.el, language/korean.el, language/japanese.el:
+ * language/hebrew.el, language/greek.el, language/chinese.el:
+ Fix :mime-charset properties.
+
+ * language/cyrillic.el (cyrillic-iso-8bit, cyrillic-koi8)
+ (cyrillic-alternativnyj): Fix :mime-charset.
+ (cp878, cp866): New alias.
+
+ * language/european.el: Fix mime-charset properties.
+
+ * international/mule-cmds.el (sort-coding-systems)
+ (select-safe-coding-system, select-message-coding-system): Use
+ :mime-charset, not 'mime-charset.
+
+ * international/mule-conf.el: Add various :mime-charset
+ properties.
+
+2002-05-13 Dave Love <fx@gnu.org>
+
+ * international/encoded-kb.el (encoded-kbd-self-insert-ccl): Fix
+ getting decoder.
+ (encoded-kbd-mode): Fix code for coding system type and
+ designations.
+
+ * international/mule-conf.el: Speling fixes.
+
+2002-05-13 Kenichi Handa <handa@etl.go.jp>
+
+ * international/fontset.el (fontset-plain-name): Handle the case
+ that size, weight, slant are not specified in the fontset name.
+
+2002-05-10 Yong Lu <lyongu@asia-infonet.com>
+
+ * language/greek.el (greek-iso-8bit): Fix typo.
+
+2002-05-10 Kenichi Handa <handa@etl.go.jp>
+
+ * language/chinese.el (chinese-big5): Change :coding-type to
+ `charset'.
+
+2002-05-09 Kenichi Handa <handa@etl.go.jp>
+
+ * international/characters.el: Change encoding to utf-8-emacs.
+ Remove apparent duplicate codes.
+
+2002-05-07 Kenichi Handa <handa@etl.go.jp>
+
+ * international/fontset.el: Change the registry for
+ chinese-gb2312 and add the registry for chinese-gbk.
+
+ * international/mule.el (charset-chars): Fix typo.
+
+ * international/mule-conf.el (chinese-gbk): New charset.
+
+ * international/titdic-cnv.el (titdic-convert): Read into a
+ unibyte buffer then make the buffer multibyte.
+
+2002-03-07 Kenichi Handa <handa@etl.go.jp>
+
+ * international/mule-conf.el (utf-16-le): Use :bom attribute
+ instead of :signature.
+ (utf-16-be): Likewise.
+
+2002-03-05 Kenichi Handa <handa@etl.go.jp>
+
+ * language/czech.el ("Czech"): Set `iso-8859-2' for
+ `nonascii-translation'.
+
+ * language/romanian.el ("Romanian"): Likewise.
+
+ * language/slovak.el ("Slovak"): Likewise.
+
+ * international/characters.el: Optimize calls of
+ modify-category-entry.
+
+2002-03-01 Kenichi Handa <handa@etl.go.jp>
+
+ * bindings.el: Don't bind multibyte characters to
+ self-insert-command here. It's done in mule-conf.el
+
+ * case-table.el (set-case-syntax-offset): Variable deleted.
+ (set-case-syntax-1): Function deleted. Callers changed.
+ (set-case-syntax-delims): Don't check byte length of characters.
+
+ * isearch.el (isearch-mode-map): Call set-char-table-range to bind
+ characters to isearch-printing-char.
+
+ * loadup.el: Don't load "international/utf-8". Don't call
+ update-coding-systems-internal. Bind coding-system-for-write to
+ `utf-8' while writing fns-XXX.el. Call clear-charset-maps before
+ dumping.
+
+ * version.el (emacs-version): Set to "22.0.0".
+
+ * emacs-lisp/regexp-opt.el (regexp-opt-charset): Adjusted for the
+ change of map-char-table.
+
+ * eshell/esh-mode.el: Adjusted for the change of map-char-table.
+
+ * international/characters.el: Adjusted for the deletion of
+ generic characters.
+
+ * international/code-pages.el (cp-make-translation-table,
+ cp-valid-codes, cp-fix-safe-chars): Deleted. Caller changed.
+ (cp-make-coding-system): Call define-coding-system.
+
+ * international/fontset.el: Mostly re-written.
+
+ * international/ja-dic-cnv.el (skkdic-get-kana-compact-codes):
+ Call encode-char instead of split-char.
+
+ * international/ja-dic-utl.el (skkdic-jisx0208-hiragana-block):
+ Value changed.
+ (skkdic-lookup-key): Call encode-char instead of split-char.
+
+ * international/titdic-cnv.el (titdic-convert): Bind
+ coding-system-for-write to 'iso-2022-7bit. Don't work on unibyte
+ buffer.
+
+ * international/latin-1.el: Don't bind set-case-syntax-offset.
+
+ * international/latin-2.el: Don't bind set-case-syntax-offset.
+
+ * international/latin-3.el: Don't bind set-case-syntax-offset.
+
+ * international/latin-4.el: Don't bind set-case-syntax-offset.
+
+ * international/latin-5.el: Don't bind set-case-syntax-offset.
+
+ * international/latin-8.el: Don't bind set-case-syntax-offset.
+
+ * international/latin-9.el: Don't bind set-case-syntax-offset.
+
+ * international/mule-cmds.el: Don't use coding category. Call
+ set-coding-system-priority instead of set-coding-priority.
+ (sort-coding-systems): Call coding-system-priority-list to get the
+ most preferred one.
+ (select-safe-coding-system): Likewise.
+ (reset-language-environment): Order of coding system priority
+ changed. Set primary charset to iso-8859-1.
+ (set-language-environment-coding-systems): Call
+ set-coding-system-priority instead of set-coding-priority.
+ (get-charset-property, put-charset-property): Moved to mule.el.
+
+ * international/mule-conf.el: Fully Re-written.
+
+ * international/mule-diag.el (print-designation): Arguments
+ changed.
+ (print-iso-2022-flags): New function.
+ (describe-coding-system): Adjusted for the new structure of coding
+ system.
+ (describe-current-coding-system): Likewise.
+
+ * international/mule.el (char-valid-p): Make it an alias of
+ characterp.
+ (define-charset): Fully re-designed.
+ (charset-quoted-standard-p): Deleted.
+ (charsetp): Moved to charset.c.
+ (charset-info, charset-id, charset-bytes, charset-width,
+ charset-directioin, charset-iso-graphic-plane,
+ charset-reverse-charset): Deleted.
+ (charset-dimension, charset-chars, charset-iso-final-char,
+ charset-description, charset-short-name, charset-long-name): Call
+ charset-plist instead of charset-info.
+ (charset-plist, set-charset-plist): Moved to charset.c.
+ (get-charset-property, put-charset-property): Moved from
+ mule-cmds.el. Call charset-plist and set-charset-plist.
+ (make-char): Deleted.
+ (generic-char-p): Make it always return nil.
+ (decode-char, encode-char): Moved to charset.c.
+ (coding-spec-XXX-idx): Variables deleted.
+ (coding-system-iso-2022-flags): New variable.
+ (define-coding-system): New function.
+ (transform-make-coding-system-args, make-coding-system): Delete.
+ (set-coding-priority): Make it obsolete.
+ (after-insert-file-set-buffer-file-coding-system): Adjust for
+ the new coding system structure.
+ (find-new-buffer-file-coding-system): Likewise.
+
+ * language/chinese.el, language/cyrillic.el, language/european.el,
+ language/greek.el, language/hebrew.el, language/indian.el,
+ language/japanese.el, language/korean.el, language/lao.el,
+ language/thai.el, language/tibetan.el, language/vietnamese.el:
+ Call define-coding-system instead of make-coding-system. All CCL
+ program deleted.
+
+ * textmodes/sgml-mode.el (sgml-mode-map): Use encode-char instead
+ of make-char.
+ (sgml-char-names-table): Iteration limit fixed.
+
+ * term/mac-win.el: Deleted unnecessary calls of set-fontset-font.
+ (ccl-encode-mac-roman-font): Delete.
+
+ * Makefile.in (DONTCOMPILE): Add latin1-disp.el, ucs-tables.el,
+ utf-8.el, and utf-8-subst.el as they can't be bytecompiled
+ currently. This is just a temporary workaround.
+
+;; Local Variables:
+;; coding: iso-2022-7bit
+;; End:
+
+ Copyright (C) 2002 Free Software Foundation, Inc.
+ Copying and distribution of this file, with or without modification,
+ are permitted provided the copyright notice and this notice are preserved.
+
+;;; arch-tag: d0d613db-0a9b-459c-a1c7-8a1722c771c1
;; Fixme: perhaps prefer-coding-system should set this too.
;; But it's not the time to do such a fundamental change.
(setq default-sendmail-coding-system coding-system)
- (setq locale-coding-system coding-system))))
+ (setq locale-coding-system coding-system))
+
+ (when (get-language-info current-language-environment 'coding-priority)
+ (let ((codeset (locale-info 'codeset))
+ (coding-system (car (coding-system-priority-list))))
+ (when codeset
+ (let ((cs (coding-system-aliases coding-system))
+ result)
+ (while (and cs (not result))
+ (setq result
+ (locale-charset-match-p (symbol-name (pop cs))
+ (locale-info 'codeset))))
+ (unless result
+ (message "Warning: Default coding system `%s' disagrees with
+system codeset `%s' for this locale." coding-system codeset))))))))
;; On Windows, override locale-coding-system,
- ;; keyboard-coding-system with system codepage. Note:
- ;; selection-coding-system is already set in w32select.c.
+ ;; default-file-name-coding-system, keyboard-coding-system,
+ ;; terminal-coding-system with system codepage.
(when (boundp 'w32-ansi-code-page)
(let ((code-page-coding (intern (format "cp%d" w32-ansi-code-page))))
(when (coding-system-p code-page-coding)
leim/SKK-DIC leim/ja-dic leim/quail \
src src/m src/s src/bitmaps lib-src oldXMenu lwlib \
nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \
- etc etc/charsets etc/e etc/gnus \
- etc etc/e etc/gnus etc/nxml \
++ etc etc/charsets etc/e etc/gnus etc/nxml \
etc/images etc/images/ezimage etc/images/gnus etc/images/gud \
etc/images/icons etc/images/low-color etc/images/mail \
etc/images/smilies etc/images/smilies/grayscale \
### tex litter.
(cd etc
files=`ls -d * | grep -v CVS | grep -v RCS | grep -v 'Old' | grep -v '^e$' \
- | grep -v '^charsets$' | grep -v '^images$' | grep -v '^refcards$' | grep -v '^tutorials$'`
- | grep -v '^gnus$' | grep -v '^images$' | grep -v '^nxml$' \
++ | grep -v '^charsets$' | grep -v '^gnus$' | grep -v '^images$' | grep -v '^nxml$' \
+ | grep -v '^refcards$' | grep -v '^tutorials$'| grep -v '^schema$'`
ln $files ../${tempdir}/etc
## If we ended up with a symlink, or if we did not get anything
## due to a cross-device symlink, copy the file.
rm -f DOC* *~ \#*\# *.dvi *.log *.orig *.rej *,v =* core
rm -f TAGS)
- for dir in etc/charsets etc/e etc/gnus etc/tutorials etc/refcards ; do
-for dir in etc/e etc/gnus etc/nxml etc/tutorials etc/refcards etc/schema ; do
++for dir in etc/charsets etc/e etc/gnus etc/nxml etc/tutorials etc/refcards etc/schema ; do
echo "Making links to \`${dir}'"
(cd ${dir}
ln `ls -d * | grep -v CVS | grep -v RCS` ../../${tempdir}/${dir}
/* C_SWITCH_X_SITE must come before C_SWITCH_X_MACHINE and C_SWITCH_X_SYSTEM
since it may have -I options that should override those two. */
- ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(TOOLKIT_DEFINES) $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SITE C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${CFLAGS} @FREETYPE_CFLAGS@ @FONTCONFIG_CFLAGS@ @LIBOTF_CFLAGS@ @M17N_FLT_CFLAGS@
-ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(TOOLKIT_DEFINES) $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SITE C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${CFLAGS}
++ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(TOOLKIT_DEFINES) $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SITE C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${CFLAGS} @FREETYPE_CFLAGS@ @FONTCONFIG_CFLAGS@ @LIBOTF_CFLAGS@ @M17N_FLT_CFLAGS@
.c.o:
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
/* lastfile must follow all files
whose initialized data areas should be dumped as pure by dump-emacs. */
obj= dispnew.o frame.o scroll.o xdisp.o $(XMENU_OBJ) window.o \
- charset.o coding.o category.o ccl.o \
+ charset.o coding.o category.o ccl.o character.o chartab.o \
- cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ)\
+ cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \
emacs.o keyboard.o macros.o keymap.o sysdep.o \
buffer.o filelock.o insdel.o marker.o \
minibuf.o fileio.o dired.o filemode.o \
Note that SunOS needs -lm to come before -lc; otherwise, you get
duplicated symbols. If the standard libraries were compiled
with GCC, we might need gnulib again after them. */
- LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) $(RSVG_LIBS) LIBGPM \
- LIBRESOLV LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \
+ LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) $(RSVG_LIBS) $(DBUS_LIBS) \
+ LIBGPM LIBRESOLV LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \
- LIBS_DEBUG $(GETLOADAVG_LIBS) $(GNULIB_VAR) LIB_MATH LIB_STANDARD \
- $(GNULIB_VAR)
+ LIBS_DEBUG $(GETLOADAVG_LIBS) \
+ @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \
+ $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR)
/* Enable recompilation of certain other files depending on system type. */
&& *format != 'i' && *format != 'X' && *format != 'c')
error ("Invalid format operation %%%c", *format);
- thissize = 30;
+ thissize = 30 + (precision[n] > 0 ? precision[n] : 0);
if (*format == 'c')
{
- if (! SINGLE_BYTE_CHAR_P (XINT (args[n]))
- /* Note: No one can remember why we have to treat
+ if (! ASCII_CHAR_P (XINT (args[n]))
+ /* Note: No one can remeber why we have to treat
the character 0 as a multibyte character here.
But, until it causes a real problem, let's
don't change it. */
#endif /* HAVE_NTGUI */
}
+ init_charset ();
+
+ init_editfns (); /* init_process uses Voperating_system_release. */
init_process (); /* init_display uses add_keyboard_wait_descriptor. */
#ifndef MAC_OS8
/* Called before init_window_once for Mac OS Classic. */
/* If KEY is not defined in any of the keymaps,
and cannot be part of a function key or translation,
- and is an upper case letter or shifted key,
- use the corresponding lower-case/unshifted key instead. */
+ and is an upper case letter
+ use the corresponding lower-case letter instead. */
+ if (first_binding >= nmaps
+ && /* indec.start >= t && fkey.start >= t && */ keytran.start >= t
+ && INTEGERP (key)
+ && ((CHARACTERP (make_number (XINT (key) & ~CHAR_MODIFIER_MASK))
+ && UPPERCASEP (XINT (key) & ~CHAR_MODIFIER_MASK))
+ || (XINT (key) & shift_modifier)))
+ {
+ Lisp_Object new_key;
+
+ original_uppercase = key;
+ original_uppercase_position = t - 1;
+
+ if (XINT (key) & shift_modifier)
+ XSETINT (new_key, XINT (key) & ~shift_modifier);
+ else
+ XSETINT (new_key, (DOWNCASE (XINT (key) & ~CHAR_MODIFIER_MASK)
+ | (XINT (key) & ~CHAR_MODIFIER_MASK)));
+
+ /* We have to do this unconditionally, regardless of whether
+ the lower-case char is defined in the keymaps, because they
+ might get translated through function-key-map. */
+ keybuf[t - 1] = new_key;
+ mock_input = max (t, mock_input);
+
+ goto replay_sequence;
+ }
+ /* If KEY is not defined in any of the keymaps,
+ and cannot be part of a function key or translation,
+ and is a shifted function key,
+ use the corresponding unshifted function key instead. */
if (first_binding >= nmaps
- && /* indec.start >= t && fkey.start >= t && */ keytran.start >= t
- && SYMBOLP (key))
- {
- Lisp_Object breakdown;
- int modifiers;
-
- breakdown = parse_modifiers (key);
- modifiers = XINT (XCAR (XCDR (breakdown)));
- if (modifiers & shift_modifier)
+ && /* indec.start >= t && fkey.start >= t && */ keytran.start >= t)
+ {
+ Lisp_Object breakdown = parse_modifiers (key);
+ int modifiers
+ = CONSP (breakdown) ? (XINT (XCAR (XCDR (breakdown)))) : 0;
+
+ if (modifiers & shift_modifier
+ /* Treat uppercase keys as shifted. */
+ || (INTEGERP (key)
+ & (KEY_TO_CHAR (key)
+ < XCHAR_TABLE (current_buffer->downcase_table)->size)
+ && UPPERCASEP (KEY_TO_CHAR (key))))
{
- Lisp_Object new_key;
+ Lisp_Object new_key
+ = (modifiers & shift_modifier
+ ? apply_modifiers (modifiers & ~shift_modifier,
+ XCAR (breakdown))
+ : make_number (DOWNCASE (KEY_TO_CHAR (key)) | modifiers));
original_uppercase = key;
original_uppercase_position = t - 1;
PVEC_BUFFER = 0x20000,
PVEC_HASH_TABLE = 0x40000,
PVEC_TERMINAL = 0x80000,
- PVEC_OTHER = 0x100000,
- PVEC_TYPE_MASK = 0x1ffe00
+ PVEC_SUB_CHAR_TABLE = 0x100000,
- PVEC_TYPE_MASK = 0x1ffe00
++ PVEC_OTHER = 0x200000,
++ PVEC_TYPE_MASK = 0x2ffe00
#if 0 /* This is used to make the value of PSEUDOVECTOR_FLAG available to
GDB. It doesn't work on OS Alpha. Moved to a variable in
EXFUN (Fgarbage_collect, 0);
EXFUN (Fmake_byte_code, MANY);
EXFUN (Fmake_bool_vector, 2);
-EXFUN (Fmake_char_table, 2);
-extern Lisp_Object make_sub_char_table P_ ((Lisp_Object));
extern Lisp_Object Qchar_table_extra_slots;
extern struct Lisp_Vector *allocate_vector P_ ((EMACS_INT));
- extern struct Lisp_Vector *allocate_other_vector P_ ((EMACS_INT));
+ extern struct Lisp_Vector *allocate_pseudovector P_ ((int memlen, int lisplen, EMACS_INT tag));
+ #define ALLOCATE_PSEUDOVECTOR(typ,field,tag) \
+ ((typ*) \
+ allocate_pseudovector \
+ (VECSIZE (typ), PSEUDOVECSIZE (typ, field), tag))
extern struct Lisp_Hash_Table *allocate_hash_table P_ ((void));
extern struct window *allocate_window P_ ((void));
extern struct frame *allocate_frame P_ ((void));
#include <string.h>
#include "lisp.h"
-#include "charset.h"
+#include "character.h"
#include "coding.h"
#include "disptab.h"
- /* Disable features in frame.h that require a Window System. */
- #undef HAVE_WINDOW_SYSTEM
#include "frame.h"
#include "termhooks.h"
#include "termchar.h"
coding.mode |= CODING_MODE_LAST_BLOCK;
/* We explicitely disable composition handling because selection
data should not contain any composition sequence. */
- coding.composing = COMPOSITION_DISABLED;
- bufsz = decoding_buffer_size (&coding, LF_FACESIZE);
+ coding.common_flags &= ~CODING_ANNOTATION_MASK;
+
+ coding.dst_bytes = LF_FACESIZE * 2;
+ coding.destination = (unsigned char *) xmalloc (coding.dst_bytes + 1);
+ decode_coding_c_string (&coding, lplogfont->lfFaceName,
+ strlen(lplogfont->lfFaceName), Qnil);
+ fontname = coding.destination;
+ fontname = alloca (sizeof (*fontname) * bufsz);
+ decode_coding (&coding, lplogfont->lfFaceName, fontname,
+ strlen (lplogfont->lfFaceName), bufsz - 1);
*(fontname + coding.produced) = '\0';
/* Replace dashes with underscores so the dashes are not
for (bar = FRAME_SCROLL_BARS (XFRAME (frame));
/* This trick allows us to search both the ordinary and
condemned scroll bar lists with one loop. */
- ! GC_NILP (bar) || (bar = condemned,
+ ! NILP (bar) || (bar = condemned,
condemned = Qnil,
- ! GC_NILP (bar));
+ ! NILP (bar));
bar = XSCROLL_BAR (bar)->next)
- if (SCROLL_BAR_X_WINDOW (XSCROLL_BAR (bar)) == window_id &&
+ if (XSCROLL_BAR (bar)->x_window == window_id &&
FRAME_X_DISPLAY (XFRAME (frame)) == display)
return XSCROLL_BAR (bar);
}