xmlcopyeditor-1.2.0.12/ 0000755 0001750 0001750 00000000000 12256045007 013312 5 ustar zane zane xmlcopyeditor-1.2.0.12/autogen.sh 0000755 0001750 0001750 00000000214 12256042514 015310 0 ustar zane zane #!/bin/sh
export WANT_AUTOCONF_2_5="1"
export WANT_AUTOMAKE_1_7="1"
aclocal
libtoolize --automake --force --copy
automake -a -c
autoconf
xmlcopyeditor-1.2.0.12/Makefile.am 0000755 0001750 0001750 00000000225 12256042514 015350 0 ustar zane zane AUTOMAKE_OPTIONS = foreign
EXTRA_DIST = autogen.sh checkinstall.sh gpl-2.0.txt
SUBDIRS = src
AM_CPPFLAGS = -I$(top_srcdir)/. -I$(top_srcdir)/src
xmlcopyeditor-1.2.0.12/depcomp 0000755 0001750 0001750 00000037101 12256042514 014671 0 ustar zane zane #! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2005-07-09.11
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program 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, or (at your option)
# any later version.
# This program 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 program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva .
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to .
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mecanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
xmlcopyeditor-1.2.0.12/COPYING 0000644 0001750 0001750 00000000216 12256042514 014344 0 ustar zane zane See src/copying for acknowledgements and licenses.
Acknowledgement files are copied to /usr/local/share/xmlcopyeditor/copying on install.
xmlcopyeditor-1.2.0.12/src/ 0000755 0001750 0001750 00000000000 12256042514 014101 5 ustar zane zane xmlcopyeditor-1.2.0.12/src/readfile.cpp 0000644 0001750 0001750 00000002320 12256042514 016355 0 ustar zane zane /*
* Copyright 2005-2007 Gerald Schmidt.
*
* This file is part of Xml Copy Editor.
*
* Xml Copy Editor 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; version 2 of the License.
*
* Xml Copy Editor 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 Xml Copy Editor; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include
#include "readfile.h"
bool ReadFile::run ( std::string fname, std::string &buffer )
{
std::ifstream ifs ( fname.c_str(), std::ios::binary|std::ios::in );
if ( !ifs.is_open() )
return false;
ifs.seekg ( 0, std::ios::end );
size_t size = ifs.tellg();
ifs.seekg ( 0, std::ios::beg );
buffer.reserve ( size + 1 );
std::stringstream iss;
iss << ifs.rdbuf();
buffer = iss.str();
return true;
}
xmlcopyeditor-1.2.0.12/src/xmlschemagenerator.h 0000644 0001750 0001750 00000006227 12256042514 020151 0 ustar zane zane /*
* Copyright 2012 Zane U. Ji.
*
* This file is part of Xml Copy Editor.
*
* Xml Copy Editor 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; version 2 of the License.
*
* Xml Copy Editor 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 Xml Copy Editor; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef XMLSCHEMAGENERATOR_H_
#define XMLSCHEMAGENERATOR_H_
#include
#include
#include
#include
You can enable/disable tag locking by selecting ‘Lock tags’ from the XML menu or by pressing F8.
When active, tag locking blocks access to tags and attributes while facilitating cursor navigation (the cursor will skip tags and entity references) and translating literal ‘&’, ‘<’ and ‘>’ to the relevant XML entity references.
The aim is to prevent inadvertent changes to the document structure while preserving the user’s freedom to enter, delete, select, cut, copy and paste text.
You may wish to choose a color scheme that supports tag locking by de-emphasizing tags.
You can pretty-print your document, apply XSL transformations, evaluate XPath expressions and change the document encoding. The results of XSL transformations and XPath evaluations are presented in a new document.
Changing the encoding is not just a matter of converting the characters that make up the document: the parser ensures that the output document is well-formed XML (e.g. by applying character entities and adjusting the charset pseudo-attribute of XHTML meta elements).
The default rule sets address basic concerns such as Commonwealth/American spelling and inclusive language.
The modules relating to Commonwealth/American spelling are based on advice given in the Wikipedia article ‘American and British English differences’ <http://en.wikipedia.org/wiki/American_and_British_English_differences>.
The default dictionary is based on Kevin Atkinson’s Spell Checker Oriented Word Lists <http://wordlist.sourceforge.net>.
To create a new rule set, create an XML document using the XML Schema ‘ruleset.xsd’.
Rule sets consist of a title, an optional copyright notice, optional lists of excluded and inherited house styles, and a list of rules. Rules are of two kinds. In most cases, each rule specifies a report string (e.g. ‘Words to avoid’) and a regular expression matching a phrase or spelling discouraged by the rule, plus a suggested replacement string.
Alternatively, rules can contain dictionaries. If at least one dictionary is selected, all words not found in the dictionary are reported as matches.
Files that are stored in the ‘rulesets’ directory are available from the left-hand drop-down menu in the Spelling and Style dialog.
Rule sets are typically based on a hierarchy of modules (e.g. the default style inherits Commonwealth, Ise, Gender, etc.).
Exclusions can be used to block specific modules (e.g. to combine the default module for Commonwealth spelling with -ize/-yse rather than -ise spelling).
If available, ‘Default dictionary and style’ is selected at start-up.
To hide attribute keys and values, select ‘Hide Attributes’ from the XML menu or press Ctrl+H. Especially in combination with tag locking, this function can help the user concentrate on the content rather than formatting and metadata.
The document content is not affected by this: rather, the editor component treats attributes as invisible text.
Folding is available both for XML elements and for embedded scripts (e.g. PHP).
If you are working with large documents, you may find that folding is fairly processor-intensive. You can achieve significant performance gains by disabling this option in the Editor tab of the Options dialog.
You can access Print Setup, Print Preview and Print from the File menu.
Printouts (and previews) do not take account of the appearance of the text in the edit control (color, size, proportional/non-proportional font, folding, etc.).
The syntax of XML documents is highlighted by default. You can choose a color scheme from the View menu; if you prefer to view your document in black and white, select ‘None’.
xmlcopyeditor-1.2.0.12/src/help/html/large_documents.html 0000644 0001750 0001750 00000002442 12256042514 022040 0 ustar zane zane
Working with large documents
Working with large documents
You can select ‘Open Large Document...’ from the File menu to open documents that take too long to open in normal mode. Documents opened in large document mode are not parsed on open. Most visual editor features are disabled: the document appears in a non-proportional font in black and white, without syntax highlighting, folding, indentation guides, and so on.
If the computer runs out of memory while opening a document in normal mode, the user is given the option of opening the document in large document mode instead.
Files opened in large document mode will also be saved, unparsed, in large document mode.
When should I open a document in large document mode?
This depends entirely on the memory and processing power of your computer. It is usually best to attempt opening a document in normal mode first.
XML Copy Editor supports DTD, XML Schema and RELAX NG validation.
To validate against a DTD or XML Schema, the document needs to be attached to the relevant definition or schema.
DTDs are stored locally. A number of DTDs are installed by default (e.g. the public identifier ‘-//W3C/DTD XHTML 1.0 Strict//EN’ is keyed to a local copy of the XHTML 1.0 Strict DTD), but you can also add new DTDs by editing the file ‘catalog’ in the ‘catalog’ directory and saving copies of the DTDs themselves in the ‘dtd’ directory.
As RELAX NG does not define an association mechanism, you can either select one of a number of RELAX NG preset grammars (XHTML, DocBook, XSLT, etc.) or select a grammar using a file dialog. You can supply additional preset grammars by copying them to the ‘rng’ directory.
xmlcopyeditor-1.2.0.12/src/help/html/word.html 0000644 0001750 0001750 00000002515 12256042514 017641 0 ustar zane zane
Microsoft Word documents
Microsoft Word documents
The options ‘Import Microsoft Word Document’ and ‘Export Microsoft Word Document’ in the File menu allow you to edit Word documents without loss of content or formatting.
Lossless conversion requires version 2003 or later of Microsoft Word. Earlier versions (2000 and XP) can be used to import Unicode text from binary Word documents, but all formatting is lost.
It is also possible to create XML-based Microsoft Word documents from scratch. To create a new Word document, select ‘New’ from the File menu and choose the WordprocessingML template. Select ‘Export Microsoft Word Document’ to save the document in binary (*.doc) format.
New documents can be based on one of a number of default templates (e.g. XHTML, XSL stylesheet, XML Schema, RELAX NG grammar, WordprocessingML document).
To add a template to the list, simply create a new document and save it with extension ‘.xml’ under ‘templates’ in the application directory. The next time you select ‘New...’ from the File menu, the template will be available. The template file does not need to be well-formed XML.
To set up a new filter, create an XML document using the schema ‘filter.xsd’.
Filters consist of a title, optional lists of excluded and inherited filters, and a list of elements. Each element specifies a particular tag and, optionally, a map of attribute keys and values.
The aim has been to create a spelling and style check that is more user-friendly and flexible but no less reliable than the ones provided by standard office applications.
To start, select ‘Spelling and Style’ from the Tools menu or press F7. At the top of the Spelling and Style Dialog, you can select a rule set (e.g. Default dictionary or Diversity) and filter (e.g. XHTML or WordprocessingML). Press ‘Report’ to check the document.
Once the table of matches and suggestions has been filled, you can tweak the report (e.g. mark some matches as ‘Ignore’, others as ‘Change’) before making the selected changes by pressing ‘Edit’.
Double-clicking items toggles the item status between ‘Change’ and ‘Ignore’. Right-clicking the item allows you to change the status of groups of matches or enter a new suggestion.
The ‘Web report’ and ‘Web summary’ options are intended for users who wish to check the matches in a browser or on paper. Only items marked ‘Change’ are listed here. To set all items to ‘Ignore’ or ‘Change’ in one step, select ‘Change all’ or ‘Ignore all’.
The spelling and style check is parser-based, not least in order to enable the user to exclude the contents of specific elements (e.g. binData elements in namespace http://schemas.microsoft.com/office/word/2003/wordml). As a result, documents that are not well-formed are checked in read-only mode.
The best way to get started is to select New or Open from the File menu. The editor offers a range of facilities including syntax highlighting, folding and tag completion.
The File and Edit menus (and shortcuts) will be familiar to users of office programs. The View menu allows the user to switch between documents, open documents in the browser, choose a different color scheme or adjust the font size. All XML tools are accessible via the XML menu and function keys. The Tools menu contains the Spelling and Style and Options dialogs.
The main design goal has been to avoid non-essential windows and toolbars. The toolbar contains only a handful of icons and can be hidden if it is not needed. The documents are shown as tabs in a single notebook (as in Firefox, you can close tabs using the middle mouse button).
Message boxes are only used if a user response is required. For all other communications, a message pane opens above the status bar. (You can close this pane by clicking on the ‘x’ symbol or pressing Escape.)
The editor component offers a range of font sizes. You can adjust the size in the Text Size submenu of the View menu or by pressing Ctrl+I (increase font size), Ctrl+D (decrease font size) and Ctrl+0 (normal font size).
Changing the font size has no effect on the appearance of printouts (see Printing above).
If you have selected this option, all tags you enter are closed automatically and you also will be prompted for element names, attribute keys and attribute values.
Tag completion lists all known child elements of the parent element, without regard for further constraints expressed in the DTD/XML Schema/RELAX NG grammar. The set of known child elements is derived from the document itself and updated every time the document is opened or saved, so tag completion will work even if a document is not attached to a schema.
XML Copy Editor is an XML editor with DTD/XML Schema/RELAX NG validation, XSLT, XPath, pretty-printing, syntax highlighting, folding, tag completion and tag locking.
If Microsoft Word is installed on your computer, you can import and export Microsoft Word documents without loss of content or formatting.
The spelling and style check supports inclusive language, harmonizes preferred spellings and converts documents from Commonwealth to American spelling (and vice versa).