mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Added gsdoc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@6126 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
246656f800
commit
58a174bd62
9 changed files with 3123 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
Mon Feb 28 15:27:00 2000 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
|
||||
Added GSDoc subdirectory to contain tool for converting gsdoc
|
||||
documentation to HTML format.
|
||||
|
||||
Sun Feb 27 08:37:00 2000 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
|
||||
* Headers/gnustep/base/NSPortMessage.m: use separate ivars for ports.
|
||||
|
|
51
GSDoc/GNUmakefile
Normal file
51
GSDoc/GNUmakefile
Normal file
|
@ -0,0 +1,51 @@
|
|||
#
|
||||
# Documentation tools makefile for GNUstep Base Library
|
||||
# Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
#
|
||||
# Written by: Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
#
|
||||
# This file is part of the GNUstep Base Library.
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
|
||||
|
||||
# Install into the system root by default
|
||||
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT)
|
||||
|
||||
GNUSTEP_MAKEFILES = $(GNUSTEP_SYSTEM_ROOT)/Makefiles
|
||||
|
||||
include $(GNUSTEP_MAKEFILES)/common.make
|
||||
|
||||
include ../Version
|
||||
include ../config.mak
|
||||
|
||||
dtddir = $(GNUSTEP_RESOURCES)/DTDs
|
||||
DTD_FILES = gsdoc-0_6_5.dtd
|
||||
|
||||
# The application to be compiled
|
||||
TOOL_NAME = gsdoc
|
||||
|
||||
# The source files to be compiled
|
||||
gsdoc_OBJC_FILES = gsdoc.m
|
||||
|
||||
DIST_FILES = GNUmakefile Makefile.preamble Makefile.postamble
|
||||
|
||||
-include Makefile.preamble
|
||||
|
||||
-include GNUmakefile.local
|
||||
|
||||
include $(GNUSTEP_MAKEFILES)/objc.make
|
||||
include $(GNUSTEP_MAKEFILES)/tool.make
|
||||
|
||||
-include Makefile.postamble
|
97
GSDoc/GNUmakefile.local
Normal file
97
GSDoc/GNUmakefile.local
Normal file
|
@ -0,0 +1,97 @@
|
|||
#
|
||||
# GNUmakefile.local for the GNUstep package
|
||||
#
|
||||
|
||||
#
|
||||
# Flags dealing with compiling and linking
|
||||
#
|
||||
|
||||
TOPLEV = /var/data0/core
|
||||
ifeq ($(BACK_PROJ),)
|
||||
BACK_PROJ = xgps
|
||||
endif
|
||||
ifneq ($(EXTENSIONS_VERSION),)
|
||||
_PKG = extensions
|
||||
endif
|
||||
ifneq ($(GNUSTEP_BASE_VERSION),)
|
||||
_PKG = base
|
||||
endif
|
||||
ifneq ($(GNUSTEP_GUI_VERSION),)
|
||||
_PKG = p_gui
|
||||
endif
|
||||
ifneq ($(GNUSTEP_XRAW_VERSION),)
|
||||
_PKG = xraw
|
||||
endif
|
||||
ifneq ($(GNUSTEP_XDPS_VERSION),)
|
||||
_PKG = xdps
|
||||
endif
|
||||
ifneq ($(GNUSTEP_XGPS_VERSION),)
|
||||
_PKG = xgps
|
||||
endif
|
||||
ifneq ($(GDL_VERSION),)
|
||||
_PKG = db
|
||||
endif
|
||||
ifeq ($(_PKG),)
|
||||
_PKG = guile
|
||||
endif
|
||||
|
||||
# Additional flags to pass to the C compiler
|
||||
#ADDITIONAL_CFLAGS +=
|
||||
|
||||
# Additional LDFLAGS to pass to the linker
|
||||
#ADDITIONAL_LDFLAGS +=
|
||||
|
||||
# Additional include directories the compiler should search
|
||||
# Additional library directories the linker should search
|
||||
|
||||
ifeq ($(findstring $(_PKG), extensions p_gui $(BACK_PROJ) db guile),$(_PKG))
|
||||
ifeq ($(FOUNDATION_LIB), gnu)
|
||||
ADDITIONAL_INCLUDE_DIRS += -I$(TOPLEV)/base/Headers/gnustep \
|
||||
-I$(TOPLEV)/base/Headers \
|
||||
-I$(TOPLEV)/base/Source/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)
|
||||
ADDITIONAL_LIB_DIRS += -L$(TOPLEV)/base/Source/$(GNUSTEP_OBJ_DIR)
|
||||
endif
|
||||
ifeq ($(FOUNDATION_LIB), fd)
|
||||
ADDITIONAL_INCLUDE_DIRS += -I$(TOPLEV)/libFoundation
|
||||
ADDITIONAL_LIB_DIRS += \
|
||||
-L$(TOPLEV)/libFoundation/Foundation/$(GNUSTEP_OBJ_DIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(findstring $(_PKG), p_gui $(BACK_PROJ) db guile),$(_PKG))
|
||||
ADDITIONAL_INCLUDE_DIRS += -I$(TOPLEV)/extensions
|
||||
ADDITIONAL_LIB_DIRS += -L$(TOPLEV)/extensions/extensions/$(GNUSTEP_OBJ_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(findstring $(_PKG), $(BACK_PROJ) db guile),$(_PKG))
|
||||
ADDITIONAL_INCLUDE_DIRS += -I$(TOPLEV)/gui/Headers
|
||||
ADDITIONAL_LIB_DIRS += -L$(TOPLEV)/gui/Model/$(GNUSTEP_OBJ_DIR) \
|
||||
-L$(TOPLEV)/gui/Source/$(GNUSTEP_OBJ_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(findstring $(_PKG), p_gui guile),$(_PKG))
|
||||
ADDITIONAL_INCLUDE_DIRS += -I$(TOPLEV)/$(BACKPROJ)/Headers
|
||||
ADDITIONAL_LIB_DIRS += -L$(TOPLEV)/$(BACK_PROJ)/Source/$(GNUSTEP_OBJ_DIR)
|
||||
endif
|
||||
|
||||
GNUSTEP_HEADERS_FND_FLAG =
|
||||
GNUSTEP_HEADERS_GUI_FLAG =
|
||||
GNUSTEP_HEADERS_TARGET_FLAG =
|
||||
GNUSTEP_USER_HEADERS_FLAG =
|
||||
GNUSTEP_LOCAL_HEADERS_FLAG =
|
||||
# not used when building the core:
|
||||
GNUSTEP_SYSTEM_HEADERS = /nowhere/Headers
|
||||
|
||||
GNUSTEP_USER_LIBRARIES_FLAG =
|
||||
GNUSTEP_USER_TARGET_LIBRARIES_FLAG =
|
||||
GNUSTEP_LOCAL_LIBRARIES_FLAG =
|
||||
GNUSTEP_LOCAL_TARGET_LIBRARIES_FLAG =
|
||||
# not used when building the core:
|
||||
GNUSTEP_SYSTEM_LIBRARIES = /nowhere
|
||||
GNUSTEP_SYSTEM_TARGET_LIBRARIES = /nowhere
|
||||
|
||||
ifeq ($(POSTGRES95_DATABASE),yes)
|
||||
POSTGRES95_CFLAGS = -I/usr/include/postgresql
|
||||
POSTGRES95_LDFLAGS = -lpq
|
||||
ADDITIONAL_INCLUDE_DIRS += $(POSTGRES95_CFLAGS)
|
||||
endif
|
58
GSDoc/Makefile.postamble
Normal file
58
GSDoc/Makefile.postamble
Normal file
|
@ -0,0 +1,58 @@
|
|||
#
|
||||
# Makefile.postamble
|
||||
#
|
||||
# Project specific makefile rules
|
||||
#
|
||||
# Uncomment the targets you want.
|
||||
# The double colons (::) are important, do not make them single colons
|
||||
# otherwise the normal makefile rules will not be performed.
|
||||
#
|
||||
|
||||
# Things to do before compiling
|
||||
# before-all::
|
||||
|
||||
# Things to do after compiling
|
||||
# after-all::
|
||||
|
||||
# Things to do before installing
|
||||
before-install::
|
||||
$(MKDIRS) $(dtddir)
|
||||
|
||||
# Things to do after installing
|
||||
after-install::
|
||||
for file in $(DTD_FILES); do \
|
||||
$(INSTALL_DATA) $$file $(dtddir)/$$file ; \
|
||||
done
|
||||
|
||||
# Things to do before uninstalling
|
||||
# before-uninstall::
|
||||
|
||||
# Things to do after uninstalling
|
||||
# after-uninstall::
|
||||
|
||||
# Things to do before cleaning
|
||||
# before-clean::
|
||||
|
||||
# Things to do after cleaning
|
||||
# after-clean::
|
||||
|
||||
# Things to do before distcleaning
|
||||
# before-distclean::
|
||||
|
||||
# Things to do after distcleaning
|
||||
# after-distclean::
|
||||
|
||||
# Things to do before checking
|
||||
# before-check::
|
||||
|
||||
# Things to do after checking
|
||||
# after-check::
|
||||
|
||||
regenerate:
|
||||
|
||||
copy-dist: $(DIST_FILES)
|
||||
mkdir ../snap/Tools
|
||||
for f in $(DIST_FILES); do \
|
||||
cp $$f ../snap/Tools ; \
|
||||
done
|
||||
|
64
GSDoc/Makefile.preamble
Normal file
64
GSDoc/Makefile.preamble
Normal file
|
@ -0,0 +1,64 @@
|
|||
#
|
||||
# Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
#
|
||||
# Written by: Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
#
|
||||
# This file is part of the GNUstep Base Library.
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Library General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Library General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Library General Public
|
||||
# License along with this library; if not, write to the Free
|
||||
# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
|
||||
#
|
||||
|
||||
#
|
||||
# Makefile.preamble
|
||||
#
|
||||
# Project specific makefile variables, and additional
|
||||
#
|
||||
# Do not put any Makefile rules in this file, instead they should
|
||||
# be put into Makefile.postamble.
|
||||
#
|
||||
|
||||
#
|
||||
# Flags dealing with compiling and linking
|
||||
#
|
||||
|
||||
# Additional flags to pass to the preprocessor
|
||||
#ADDITIONAL_CPPFLAGS +=
|
||||
|
||||
# Additional flags to pass to the Objective-C compiler
|
||||
#ADDITIONAL_OBJCFLAGS +=
|
||||
|
||||
# Additional flags to pass to the C compiler
|
||||
#ADDITIONAL_CFLAGS +=
|
||||
|
||||
# Additional include directories the compiler should search
|
||||
ADDITIONAL_INCLUDE_DIRS += -I/usr/include/gnome-xml \
|
||||
-I../Headers/gnustep -I../Headers \
|
||||
-I../Source/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)
|
||||
|
||||
# Additional LDFLAGS to pass to the linker
|
||||
#ADDITIONAL_LDFLAGS +=
|
||||
|
||||
# Additional library directories the linker should search
|
||||
ADDITIONAL_LIB_DIRS += -L../Source/$(GNUSTEP_OBJ_DIR)
|
||||
|
||||
# Additional libraries for XML parsing
|
||||
ADDITIONAL_TOOL_LIBS += -lxml -lz
|
||||
|
||||
#
|
||||
# Flags dealing with installing and uninstalling
|
||||
#
|
||||
|
||||
# Additional directories to be created during installation
|
||||
#ADDITIONAL_INSTALL_DIRS +=
|
34
GSDoc/README
Normal file
34
GSDoc/README
Normal file
|
@ -0,0 +1,34 @@
|
|||
|
||||
28-Feb-2000
|
||||
|
||||
GSDoc should probably be part of the 'Tools' directory of gstep-base,
|
||||
but it depends on a version of the nome XML parsing library this is
|
||||
probably not available on most machines.
|
||||
|
||||
Before doing anything else - you need to install the Gnome xml parser library!
|
||||
|
||||
I build gsdoc using the latest CVS source of version 1.8.6 of the parser.
|
||||
|
||||
You can get this via CVS from -
|
||||
cvs -d :pserver:anonymous@dev.w3.org:/sources/public login
|
||||
Password - 'anonymous'
|
||||
cvs -d :pserver:anonymous@dev.w3.org:/sources/public checkout XML
|
||||
|
||||
Older versions of the library may work - but I doubt it.
|
||||
Newer versions may also fail - try using the -D 28-Feb-2000 flag with CVS
|
||||
to get the version I used.
|
||||
|
||||
Once you have built and installed the xml parser library, you can build
|
||||
gsdoc and install it.
|
||||
|
||||
Run gsdoc giving it the name of a gsdoc file as an argument, and it will
|
||||
produce an html output file.
|
||||
|
||||
This is an alpha release of the software - please send fixes and improvements
|
||||
to rfm@gnu.org
|
||||
|
||||
Volunteers to write gsdoc->info or gsdoc->TeX or any other translators are
|
||||
very welcome.
|
||||
|
||||
|
||||
|
408
GSDoc/gnustep.gsdoc
Normal file
408
GSDoc/gnustep.gsdoc
Normal file
|
@ -0,0 +1,408 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 0.6.5//EN" "http://www.gnustep.org/gsdoc-0_6_5.xml">
|
||||
<gsdoc base="gnustep">
|
||||
<head>
|
||||
<title>GNUstep Time Zone Reference</title>
|
||||
<author name="Yoo C. Chung">
|
||||
<email address="wacko@laplace.snu.ac.kr"/>
|
||||
<url url="http://plaza.snu.ac.kr/~wacko/"/>
|
||||
<desc>
|
||||
A person who has very little spare time, and spends it on
|
||||
stuff like GNUstep, anime fanfics, and games.
|
||||
</desc>
|
||||
</author>
|
||||
<author name="Skuld">
|
||||
<email address="skuld@yggdrasil.heaven.org"/>
|
||||
<url url="http://yggdrasil.heaven.org/skuld/"/>
|
||||
<desc>
|
||||
The goddess of the future, who will watch and guide me in my
|
||||
hunt for bugs. May all bow before her divinity.
|
||||
</desc>
|
||||
</author>
|
||||
<version>0.1</version>
|
||||
<date>6 June, 1997</date>
|
||||
<abstract>
|
||||
This documents the interface to the time zone classes in the
|
||||
GNUstep Base Library.
|
||||
</abstract>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<front>
|
||||
<contents/>
|
||||
|
||||
<chapter>
|
||||
<heading>Preface</heading>
|
||||
|
||||
<p>
|
||||
This documents the interface to the time zone classes.
|
||||
These classes are needed for proper adjustment of the local
|
||||
time in each geographical region.
|
||||
</p>
|
||||
<p>
|
||||
This is also an example, as well as a test case, of the new
|
||||
GNUstep Documentation Markup Language (GDML).
|
||||
</p>
|
||||
</chapter>
|
||||
</front>
|
||||
|
||||
<chapter>
|
||||
<heading>The Time Zone Management Classes</heading>
|
||||
|
||||
<p>
|
||||
The classes <code>NSTimeZone</code> and <code>NSTimeZoneDetail</code>
|
||||
are used to manage time zones. They are declared in
|
||||
<file>Foundation/NSDate.h</file>.
|
||||
</p>
|
||||
<p>
|
||||
<code>NSTimeZone</code> is used to specify the time zone region,
|
||||
while <code>NSTimeZoneDetail</code> is used to actually obtain the
|
||||
difference in seconds from UTC<footnote>Universal
|
||||
Coordinated Time.</footnote> that a time zone has for a certain date.
|
||||
</p>
|
||||
<class name="NSTimeZone" super="NSObject">
|
||||
|
||||
<desc>
|
||||
<p>
|
||||
The world is divided into separate time zones because
|
||||
the sun rises at different times. We really should all
|
||||
move underground and match our clocks. However,
|
||||
since this is currently not the case, our computers need
|
||||
a way to find the offset from a single agreed upon time
|
||||
and use that in local time calculations.
|
||||
</p>
|
||||
<p>
|
||||
To make things even worse, there is this evil thing
|
||||
called daylight saving time, which is usually used for
|
||||
the purpose of utilizing as much of the sun as possible
|
||||
while it is still up. (Really, everyone should stay in
|
||||
their rooms and play with their computers, but for some
|
||||
reason they don't &dots;)
|
||||
</p>
|
||||
<p>
|
||||
Therefore we need an object that knows about a time zone
|
||||
so that the appropriate object that knows all about
|
||||
offsets from UTC and whether it's daylight saving time
|
||||
for a certain date can be obtained. <code>NSTimeZone</code>
|
||||
is a class that can create such objects.
|
||||
</p>
|
||||
</desc>
|
||||
|
||||
<method factory="yes" type="NSTimeZoneDetail*">
|
||||
<sel>defaultTimeZone</sel>
|
||||
|
||||
<desc>
|
||||
Returns the time zone detail (see <ref type="class"
|
||||
id="NSTimeZoneDetail"/>) for the current time.
|
||||
</desc>
|
||||
</method>
|
||||
<method factory="yes" type="NSTimeZone*">
|
||||
<sel>localTimeZone</sel>
|
||||
|
||||
<desc>
|
||||
Returns the time zone for the local region. The local
|
||||
region is either specified with the <code>TZ</code>
|
||||
environment variable, or is specified at compile time,
|
||||
with the former taking precedence.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method factory="yes" type="NSTimeZone*">
|
||||
<sel>timeZoneForSecondsFromGMT:</sel>
|
||||
<arg type="int">seconds</arg>
|
||||
|
||||
<desc>
|
||||
Returns a time zone which is always <var>seconds</var>
|
||||
seconds off from UTC. (In OpenStep the offset is from
|
||||
GMT<footnote>Greenwich Mean Time.</footnote>, but using UTC makes
|
||||
more sense.)
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method factory="yes" type="NSTimeZoneDetail*">
|
||||
<sel>timeZoneWithAbbreviation:</sel>
|
||||
<arg type="NSString*">abbreviation</arg>
|
||||
|
||||
<desc>
|
||||
Returns a time zone detail for which the time zone
|
||||
abbreviation is <var>abbreviation</var>. Note that there can
|
||||
be many time zone details for a single abbreviation.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method factory="yes" type="NSTimeZone*">
|
||||
<sel>timeZoneWithName:</sel>
|
||||
<arg type="NSString*">aTimeZoneName</arg>
|
||||
|
||||
<desc>
|
||||
Returns a time zone for the geographical region
|
||||
specified by <var>aTimeZoneName</var>.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method type="NSTimeZoneDetail*">
|
||||
<sel>timeZoneDetailForDate:</sel>
|
||||
<arg type="NSDate*">date</arg>
|
||||
|
||||
<desc>
|
||||
Returns the appropriate time zone detail for the time
|
||||
zone and the given date <var>date</var>.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method factory="yes" type="void">
|
||||
<sel>setDefaultTimeZone:</sel>
|
||||
<arg type="NSTimeZone*">aTimeZone</arg>
|
||||
|
||||
<desc>
|
||||
Set the default time zone used for time calculation to
|
||||
the time zone specified by the string <var>aTimeZone</var>.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method factory="yes" type="NSDictionary*">
|
||||
<sel>abbreviationDictionary</sel>
|
||||
|
||||
<desc>
|
||||
Returns a dictionary that maps a time zone abbreviation
|
||||
to a single arbitrary time zone name.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method factory="yes" type="NSDictionary*">
|
||||
<sel>abbreviationMap</sel>
|
||||
|
||||
<desc>
|
||||
<p>
|
||||
Returns a dictionary that maps a time zone
|
||||
abbreviation to an array that holds all the time zone
|
||||
names that use the abbreviation.
|
||||
</p>
|
||||
<p>
|
||||
This is a GNU extension, and is not defined by
|
||||
OpenStep.
|
||||
</p>
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method type="NSString*">
|
||||
<sel>timeZoneName</sel>
|
||||
|
||||
<desc>
|
||||
Returns the name for the time zone.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method factory="yes" type="NSArray*">
|
||||
<sel>timeZoneArray</sel>
|
||||
|
||||
<desc>
|
||||
<p>
|
||||
Returns an array containing 24 arrays that in turn
|
||||
contain the time zone names that are grouped according
|
||||
to the offset from UTC. For example, a time zone that
|
||||
has an offset of 5 hours (or -19 hours) goes into the
|
||||
fifth array in the array.
|
||||
</p>
|
||||
<p>
|
||||
Note that OpenStep groups them by latitudinal region,
|
||||
and the exact details of the grouping is not
|
||||
specified.
|
||||
</p>
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method type="NSArray*">
|
||||
<sel>timeZoneDetailArray</sel>
|
||||
|
||||
<desc>
|
||||
This returns an array containing all the possible time
|
||||
zone details for the time zone.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<standard>OpenStep GNU</standard>
|
||||
|
||||
</class>
|
||||
|
||||
<class name="NSTimeZoneDetail" super="NSTimeZone">
|
||||
|
||||
<desc>
|
||||
<p>
|
||||
A time zone doesn't know the actual offset from UTC that
|
||||
a certain region has, since the offset is not always the
|
||||
same because of changes in time rules and such. Since
|
||||
the details are different for different dates,
|
||||
<code>NSTimeZone</code> must return an object that details the
|
||||
time zone for a specific date. <code>NSTimeZoneDetail</code>
|
||||
is the class for such objects.
|
||||
</p>
|
||||
<p>
|
||||
It is from <code>NSTimeZoneDetail</code> that we obtain the
|
||||
actual offsets from UTC. In addition, we can obtain the
|
||||
time zone abbreviation (which is also dependent on the
|
||||
date) and whether the time zone uses daylight saving
|
||||
time for the date on which the time zone detail was
|
||||
created.
|
||||
</p>
|
||||
</desc>
|
||||
|
||||
<method type="BOOL">
|
||||
<sel>isDaylightSavingTimeZone</sel>
|
||||
|
||||
<desc>
|
||||
If the time zone detail describes a time zone for which
|
||||
the date the detail was created for is daylight saving
|
||||
time, return <code>YES</code>, else return <code>NO</code>.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method type="NSString*">
|
||||
<sel>timeZoneAbbreviation</sel>
|
||||
|
||||
<desc>
|
||||
Returns the abbreviation for the time zone detail.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method type="int">
|
||||
<sel>timeZoneSecondsFromGMT</sel>
|
||||
|
||||
<desc>
|
||||
<p>
|
||||
Returns the offset from UTC for local time in seconds.
|
||||
</p>
|
||||
<p>
|
||||
Note that OpenStep specifies an offset from GMT to be
|
||||
returned, but using UTC makes more sense.
|
||||
</p>
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<standard>OpenStep GNU</standard>
|
||||
</class>
|
||||
</chapter>
|
||||
<back>
|
||||
<chapter>
|
||||
<heading>Afterword</heading>
|
||||
<p>
|
||||
Hopefully, this document shows that GDML is indeed useful
|
||||
for writing documentation for GNUstep.
|
||||
</p>
|
||||
<p>
|
||||
Even if it is not, it should still be useful since it
|
||||
documents the interface to the time zone classes, and should
|
||||
easily be converted to other text markup formats.
|
||||
</p>
|
||||
<p>
|
||||
Please send any questions about the DTD or this document to
|
||||
<email address="wacko@laplace.snu.ac.kr"/>.
|
||||
</p>
|
||||
<p>
|
||||
And by the way, I've tried out the time zone implementation
|
||||
in the GNUstep Base Library and it seems to work for the
|
||||
following time zone regions:
|
||||
</p>
|
||||
<list>
|
||||
<item>Asia/Seoul</item>
|
||||
<item>US/Eastern</item>
|
||||
<item>America/Los_Angeles</item>
|
||||
</list>
|
||||
|
||||
<p>
|
||||
And here's a small incomplete class definition with somewhat
|
||||
longer method names.
|
||||
</p>
|
||||
|
||||
<class name="NSObject">
|
||||
<conform>NSObject</conform>
|
||||
<conform>NSCoding</conform>
|
||||
<conform>NSCopying</conform>
|
||||
|
||||
<desc>
|
||||
A superclass of all classes.
|
||||
</desc>
|
||||
|
||||
<method>
|
||||
<sel>perform:</sel>
|
||||
<arg type="sel">aSelector </arg>
|
||||
<sel>withObject:</sel>
|
||||
<arg>object1</arg>
|
||||
<sel>withObject:</sel>
|
||||
<arg>object2</arg>
|
||||
|
||||
<desc>
|
||||
This should really go into a protocol definition, but I
|
||||
wanted to show a class definition with protocols.
|
||||
</desc>
|
||||
</method>
|
||||
|
||||
<method type="NSString*">
|
||||
<sel>stringWithFormat:</sel>
|
||||
<arg type="NSString*">format</arg>
|
||||
<vararg/>
|
||||
|
||||
<desc>
|
||||
This is not in <code>NSObject</code>, but I wanted to show the
|
||||
use of a variable argument list.
|
||||
</desc>
|
||||
</method>
|
||||
</class>
|
||||
|
||||
<p>
|
||||
And here's an example:
|
||||
</p>
|
||||
<example>
|
||||
int
|
||||
function (void *ptr)
|
||||
{
|
||||
return realloc(ptr, 100);
|
||||
}
|
||||
</example>
|
||||
|
||||
<p>
|
||||
And here is a macro definition:
|
||||
</p>
|
||||
|
||||
<macro name="MAX">
|
||||
<arg>a</arg>
|
||||
<arg>b</arg>
|
||||
<desc>
|
||||
Return the larger between <var>a</var> and <var>b</var>.
|
||||
</desc>
|
||||
<standard>GNU</standard>
|
||||
</macro>
|
||||
|
||||
<macro name="NS_DURING">
|
||||
<desc>
|
||||
Start an exception handling domain.
|
||||
</desc>
|
||||
</macro>
|
||||
|
||||
<p>
|
||||
And here is a type definition:
|
||||
</p>
|
||||
<type name="NSTimeInterval">
|
||||
<typespec>double</typespec>
|
||||
<desc>
|
||||
Used to save intervals between certain times in seconds.
|
||||
</desc>
|
||||
</type>
|
||||
|
||||
<p>
|
||||
And here is a function definition:
|
||||
</p>
|
||||
<function name="NSZoneMalloc" type="void*">
|
||||
<arg type="NSZone*">zone</arg>
|
||||
<arg type="size_t">size</arg>
|
||||
<desc>
|
||||
Allocate <var>size</var> bytes from the dynamic memory
|
||||
allocation zone <var>zone</var>.
|
||||
</desc>
|
||||
<standard>OpenStep GNU</standard>
|
||||
</function>
|
||||
</chapter>
|
||||
<index type="class"/>
|
||||
</back>
|
||||
</body>
|
||||
</gsdoc>
|
421
GSDoc/gsdoc-0_6_5.dtd
Normal file
421
GSDoc/gsdoc-0_6_5.dtd
Normal file
|
@ -0,0 +1,421 @@
|
|||
<!--
|
||||
|
||||
XML Document Type Definition for GNUstep Documentation Markup
|
||||
Language (gsdoc).
|
||||
|
||||
Written by Richard Frith-Macdonald
|
||||
Based on GDML by 1997 Yoo C. Chung
|
||||
|
||||
This is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later
|
||||
version.
|
||||
|
||||
This document is distributed in the hope that it will be
|
||||
useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General
|
||||
Public License along with this software; if not, write to the
|
||||
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
|
||||
02139, USA.
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<!--
|
||||
gsdoc is an XML language - Typical usage:
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 0.6.5//EN"
|
||||
"http://www.gnustep.org/gsdoc.xml">
|
||||
<gsdoc base="myDocName">
|
||||
</gsdoc>
|
||||
-->
|
||||
|
||||
|
||||
<!--***** Character entities. *****-->
|
||||
|
||||
<!-- General purpose characters for gsdoc. -->
|
||||
<!ENTITY copy "&copy;"> <!-- copyright symbol -->
|
||||
<!ENTITY tm "&trade;"> <!-- trademark symbol -->
|
||||
<!ENTITY dots "&dots;"> <!-- ellipsis (...) -->
|
||||
<!ENTITY nbsp "&nbsp;"> <!-- non breakable space -->
|
||||
<!ENTITY amp "&#38;"> <!-- ampersand -->
|
||||
<!ENTITY apos "'"> <!-- apos -->
|
||||
<!ENTITY quot """> <!-- quotation mark (") -->
|
||||
<!ENTITY lt "&#60;"> <!-- lesser than symbol -->
|
||||
<!ENTITY gt ">"> <!-- greater than symbol -->
|
||||
|
||||
<!--***** Entity declarations. *****-->
|
||||
|
||||
<!-- Boolean values for attributes -->
|
||||
<!ENTITY % boolean "(yes|no)">
|
||||
|
||||
<!-- Entity for phrase elements. -->
|
||||
<!ENTITY % phrase "var | em | code | strong | file | site">
|
||||
|
||||
<!-- Entity for cross references. -->
|
||||
<!ENTITY % xref "ref | uref | url | email">
|
||||
|
||||
<!-- Entity for anchors. -->
|
||||
<!ENTITY % anchor "label | entry">
|
||||
|
||||
<!-- Entity for text level elements. -->
|
||||
<!ENTITY % text "#PCDATA | %xref; | %anchor; | %phrase; | footnote">
|
||||
|
||||
<!-- Entity for definition elements. -->
|
||||
<!ENTITY % def "class|category|protocol|function|macro|type|variable">
|
||||
|
||||
<!-- Entity for list elements. -->
|
||||
<!ENTITY % list "list | enum | deflist | qalist">
|
||||
|
||||
<!-- Entity for block elements like paragraphs. -->
|
||||
<!ENTITY % block "%def; | %list; | p | example | embed">
|
||||
|
||||
<!--**********-->
|
||||
|
||||
|
||||
<!-- Used for describing something. -->
|
||||
<!ELEMENT desc (%text; | %list; | p | example | embed)*>
|
||||
|
||||
<!-- A footnote. -->
|
||||
<!ELEMENT footnote (%text;)*>
|
||||
|
||||
|
||||
<!--***** Phrase elements. *****-->
|
||||
|
||||
<!-- The content is a metasyntactic variable name. -->
|
||||
<!ELEMENT var (%text;)*>
|
||||
|
||||
<!-- Emphasize the content. -->
|
||||
<!ELEMENT em (%text;)*>
|
||||
|
||||
<!-- The content is too important that simple emphasizing isn't
|
||||
enough. -->
|
||||
<!ELEMENT strong (%text;)*>
|
||||
|
||||
<!-- The content is either a name for code (e.g. class names), or a
|
||||
relatively short code fragment. -->
|
||||
<!ELEMENT code (%text;)*>
|
||||
|
||||
<!-- The content is a file name. -->
|
||||
<!ELEMENT file (#PCDATA)*>
|
||||
|
||||
<!-- The content is a fully qualified domain name on the Internet. -->
|
||||
<!ELEMENT site (#PCDATA)*>
|
||||
|
||||
<!--***** List elements. *****-->
|
||||
|
||||
<!-- An item in a list. -->
|
||||
<!ELEMENT item (%text; | %block;)*>
|
||||
|
||||
<!-- An enumerated list. -->
|
||||
<!ELEMENT enum (item+)>
|
||||
|
||||
<!-- A ordinary, unnumbered list. -->
|
||||
<!ELEMENT list (item+)>
|
||||
|
||||
<!-- A term to defined in a definition list. -->
|
||||
<!ELEMENT term (%text;)*>
|
||||
|
||||
<!-- A definition list. -->
|
||||
<!ELEMENT deflist (term, desc)+>
|
||||
|
||||
<!-- A question for a question and answer list. -->
|
||||
<!ELEMENT question (%text;)*>
|
||||
|
||||
<!-- An answer for a question and answer list. -->
|
||||
<!ELEMENT answer (%block;)*>
|
||||
|
||||
<!-- A question and answer list. -->
|
||||
<!ELEMENT qalist (question, answer)+>
|
||||
|
||||
<!--**********-->
|
||||
|
||||
|
||||
<!--***** Cross references. *****-->
|
||||
|
||||
<!-- A reference.
|
||||
ID of the reference.
|
||||
TYPE of reference, if implied, a reference to a label.
|
||||
CLASS specific class for a method
|
||||
-->
|
||||
<!ELEMENT ref EMPTY>
|
||||
<!ATTLIST ref
|
||||
id CDATA #REQUIRED
|
||||
type (class|protocol|method|function|type|macro|variable|label) "label"
|
||||
class CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!-- An e-mail address. -->
|
||||
<!ELEMENT email EMPTY>
|
||||
<!ATTLIST email
|
||||
address CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!-- A URL. -->
|
||||
<!ELEMENT url EMPTY>
|
||||
<!ATTLIST url
|
||||
url CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!-- A reference to a URL.
|
||||
The text contained appears in the output unless
|
||||
-->
|
||||
<!ELEMENT uref (%text;)*>
|
||||
<!ATTLIST uref
|
||||
url CDATA #REQUIRED
|
||||
>
|
||||
|
||||
|
||||
<!--***** Anchors. *****-->
|
||||
|
||||
<!-- An anchor for a general reference.
|
||||
The text contained appears in the ouput.
|
||||
-->
|
||||
<!ELEMENT label (%text;)*>
|
||||
<!ATTLIST label
|
||||
id CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- An entry for the general index.
|
||||
The text that is contained appears in the index, and never in
|
||||
the text itself.
|
||||
-->
|
||||
<!ELEMENT entry (%text;)*>
|
||||
<!ATTLIST entry
|
||||
id CDATA #REQUIRED
|
||||
>
|
||||
|
||||
|
||||
<!--***** Argument elements. *****-->
|
||||
|
||||
<!-- An argument. -->
|
||||
<!ELEMENT arg (#PCDATA)*>
|
||||
<!ATTLIST arg
|
||||
type CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!-- Denotes that the rest of the arguments is a variable list,
|
||||
like in printf().
|
||||
-->
|
||||
<!ELEMENT vararg EMPTY>
|
||||
|
||||
|
||||
<!--***** Method elements. *****-->
|
||||
|
||||
<!-- A component for a method selector. -->
|
||||
<!ELEMENT sel (#PCDATA)*>
|
||||
|
||||
<!-- A method. If there is no DESC, it is understood that the element
|
||||
is used to override some information from the same method in the
|
||||
superclass.
|
||||
If factory not set, instance method
|
||||
-->
|
||||
<!ELEMENT method (((sel, arg?), (sel, arg)*, vararg?), desc?)>
|
||||
<!ATTLIST method
|
||||
type CDATA #IMPLIED
|
||||
factory %boolean; "no"
|
||||
init %boolean; "no"
|
||||
override (subclass|never) #IMPLIED
|
||||
role (alloc|init|dealloc|copy|mcopy) #IMPLIED
|
||||
>
|
||||
|
||||
|
||||
<!--***** Elements for definitions of classes, functions, etc. *****-->
|
||||
|
||||
<!-- A standard that something is compliant with. -->
|
||||
<!ELEMENT standard (%text;)*>
|
||||
|
||||
<!-- Show what header file something lives in. -->
|
||||
<!ELEMENT declared (#PCDATA)*>
|
||||
|
||||
<!-- A macro definition. -->
|
||||
<!ELEMENT macro ((arg*, vararg?), declared?, desc?, standard*)>
|
||||
<!ATTLIST macro
|
||||
id CDATA #IMPLIED
|
||||
name CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT typespec (#PCDATA)*>
|
||||
|
||||
<!-- A type definition. -->
|
||||
<!ELEMENT type (typespec, declared?, desc?, standard*)>
|
||||
<!ATTLIST type
|
||||
id CDATA #IMPLIED
|
||||
name CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- Variable definition.
|
||||
VALUE may be set for a constant or a default value
|
||||
-->
|
||||
<!ELEMENT variable (declared?, desc?, standard*)>
|
||||
<!ATTLIST variable
|
||||
id CDATA #IMPLIED
|
||||
name CDATA #REQUIRED
|
||||
type CDATA #REQUIRED
|
||||
value CDATA #IMPLIED
|
||||
role (except|defaults|notify|key) #IMPLIED
|
||||
>
|
||||
|
||||
<!-- A function definition. -->
|
||||
<!ELEMENT function ((arg*, vararg?), declared?, desc?, standard*)>
|
||||
<!ATTLIST function
|
||||
id CDATA #IMPLIED
|
||||
name CDATA #REQUIRED
|
||||
type CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- Protocol definition. -->
|
||||
<!ELEMENT protocol (declared?, desc?, method*, standard*)>
|
||||
<!ATTLIST protocol
|
||||
id CDATA #IMPLIED
|
||||
name CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- Category definition. -->
|
||||
<!ELEMENT category (declared?, desc?, method*, standard*)>
|
||||
<!ATTLIST category
|
||||
id CDATA #IMPLIED
|
||||
name CDATA #REQUIRED
|
||||
class CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- Show a protocol a class conforms to. -->
|
||||
<!ELEMENT conform (#PCDATA)*>
|
||||
|
||||
<!ELEMENT class (declared?, conform*, desc?, method*, standard*)>
|
||||
<!ATTLIST class
|
||||
id CDATA #IMPLIED
|
||||
name CDATA #REQUIRED
|
||||
super CDATA #IMPLIED
|
||||
>
|
||||
|
||||
|
||||
<!--***** Elements for ordinary block level elements. *****-->
|
||||
|
||||
<!-- A paragraph. -->
|
||||
<!ELEMENT p (%text;)*>
|
||||
|
||||
<!-- An example. -->
|
||||
<!ELEMENT example (#PCDATA)*>
|
||||
<!ATTLIST example
|
||||
id CDATA #IMPLIED
|
||||
caption CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!-- An embedded object. If it is of a type that the SGML processor
|
||||
cannot handle, then use the content, which is ignored otherwise.
|
||||
refer - method of referring to object (default is file)
|
||||
src - the reference to the object
|
||||
type - Internet media type of the objec
|
||||
title - optional title describing object
|
||||
-->
|
||||
<!ELEMENT embed (%block;)*>
|
||||
<!ATTLIST embed
|
||||
id CDATA #IMPLIED
|
||||
refer (file|url) #IMPLIED
|
||||
src CDATA #REQUIRED
|
||||
type CDATA #IMPLIED
|
||||
title CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!--***** Elements for document structure such as chapters. *****-->
|
||||
|
||||
<!-- A heading for chapters, sections, ... -->
|
||||
<!ELEMENT heading (%text;)*>
|
||||
|
||||
<!-- A subsubsection. -->
|
||||
<!ELEMENT subsubsect (heading, (%block;)*)>
|
||||
<!ATTLIST subsubsect
|
||||
id CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!-- A subsection. -->
|
||||
<!ELEMENT subsect (heading, (%block;)*, subsubsect*)>
|
||||
<!ATTLIST subsect
|
||||
id CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!-- A section. -->
|
||||
<!ELEMENT section (heading, (%block;)*, subsect*)>
|
||||
<!ATTLIST section
|
||||
id CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!-- A chapter. -->
|
||||
<!ELEMENT chapter (heading, (%block;)*, section*)>
|
||||
<!ATTLIST chapter
|
||||
id CDATA #IMPLIED
|
||||
>
|
||||
|
||||
|
||||
<!--***** Elements that make searching for things easier. *****-->
|
||||
|
||||
<!-- Table of contents. -->
|
||||
<!ELEMENT contents EMPTY>
|
||||
|
||||
<!-- Index -->
|
||||
<!ELEMENT index EMPTY>
|
||||
<!ATTLIST index
|
||||
type (class|protocol|method|function|type|macro|variable|label) "label"
|
||||
>
|
||||
|
||||
|
||||
<!--***** Elements that describe the document itself. *****-->
|
||||
|
||||
<!-- Copyright of the document. -->
|
||||
<!ELEMENT copy (%text;)*>
|
||||
|
||||
<!-- An abstract. -->
|
||||
<!ELEMENT abstract (%text;)*>
|
||||
|
||||
<!-- The version of the document. -->
|
||||
<!ELEMENT version (%text;)*>
|
||||
|
||||
<!-- The date the document was written. -->
|
||||
<!ELEMENT date (%text;)*>
|
||||
|
||||
<!-- An author. -->
|
||||
<!ELEMENT author (email?, url?, desc?)>
|
||||
<!ATTLIST author
|
||||
name CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!-- The title of the document. -->
|
||||
<!ELEMENT title (%text;)*>
|
||||
|
||||
|
||||
<!--***** The topmost structures for the document body. *****-->
|
||||
|
||||
<!-- Unnumbered parts appearing in the front, such as a preface. -->
|
||||
<!ELEMENT front (contents?, chapter*)>
|
||||
|
||||
<!-- Unnumbered parts appearing in the back, such as an afterword or
|
||||
indices.
|
||||
-->
|
||||
<!ELEMENT back (chapter*, index?)>
|
||||
|
||||
|
||||
<!--***** The topmost structures for the document. *****-->
|
||||
|
||||
<!-- The head containing general information about the document. -->
|
||||
<!ELEMENT head (title, author+, version?, date?, abstract?, copy?)>
|
||||
|
||||
<!-- The main part of the document. -->
|
||||
<!ELEMENT body (front?, chapter+, back?)>
|
||||
|
||||
<!--**********-->
|
||||
|
||||
|
||||
<!-- The entire document. -->
|
||||
<!ELEMENT gsdoc (head, body)>
|
||||
<!ATTLIST gsdoc
|
||||
base CDATA #IMPLIED
|
||||
next CDATA #IMPLIED
|
||||
prev CDATA #IMPLIED
|
||||
up CDATA #IMPLIED
|
||||
>
|
||||
|
1985
GSDoc/gsdoc.m
Normal file
1985
GSDoc/gsdoc.m
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue