You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
(36) |
Apr
(36) |
May
(127) |
Jun
(193) |
Jul
(12) |
Aug
(46) |
Sep
(66) |
Oct
(28) |
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(39) |
Feb
(68) |
Mar
(58) |
Apr
(88) |
May
(40) |
Jun
(82) |
Jul
(213) |
Aug
(19) |
Sep
(2) |
Oct
(26) |
Nov
(2) |
Dec
|
| 2008 |
Jan
(5) |
Feb
(30) |
Mar
(26) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
(4) |
Apr
(44) |
May
(1) |
Jun
(9) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
(4) |
Feb
(4) |
Mar
|
Apr
(7) |
May
(35) |
Jun
|
Jul
|
Aug
(48) |
Sep
(10) |
Oct
(1) |
Nov
|
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(40) |
| 2017 |
Jan
(82) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(15) |
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
(37) |
Mar
(28) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(7) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(27) |
| 2021 |
Jan
(52) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
(72) |
Dec
(100) |
| 2022 |
Jan
(119) |
Feb
(94) |
Mar
(4) |
Apr
|
May
|
Jun
(5) |
Jul
(3) |
Aug
(2) |
Sep
|
Oct
|
Nov
(10) |
Dec
(97) |
| 2023 |
Jan
(52) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(17) |
Sep
(21) |
Oct
(8) |
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
(11) |
Feb
(1) |
Mar
|
Apr
(27) |
May
(62) |
Jun
(27) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2026 |
Jan
(14) |
Feb
(55) |
Mar
(49) |
Apr
(31) |
May
(177) |
Jun
(82) |
Jul
(53) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <vic...@us...> - 2026-07-31 09:56:52
|
Revision: 3344
http://sourceforge.net/p/axsl/code/3344
Author: victormote
Date: 2026-07-31 09:56:49 +0000 (Fri, 31 Jul 2026)
Log Message:
-----------
Add word-choice element to group proper but conflicting spellings together.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-30 13:26:32 UTC (rev 3343)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-31 09:56:49 UTC (rev 3344)
@@ -122,7 +122,7 @@
-->
<!ELEMENT axsl-dictionary (import-adhoc-dictionary*,
import-standard-dictionary*,
- (section | w | ambiguous-word | phrase | word-placeholder)*)>
+ (section | w | ambiguous-word | phrase | word-placeholder | word-choice)*)>
<!--
1. id: Used to allow one dictionary to point to another. It is an error for
more than one dictionary document to have the same id, although that must
@@ -233,7 +233,7 @@
<!-- Artificial subdivision for human navigation purposes. -->
<!ELEMENT section
(section | w | ambiguous-word | unresolved-duplicate | phrase |
- word-placeholder)* >
+ word-placeholder | word-choice)* >
<!ATTLIST section
description CDATA #IMPLIED
>
@@ -262,6 +262,20 @@
<!--
+Groups two or more words together as being the same word, but having alternative
+spellings and/or hyphenations.
+This allows applications to detect which alternative is being used, and enforce
+consistency.
+Not to be confused with unresolved-duplicate or ambiguous-word, each of which
+also groups words together, but for different purposes.
+Since alternate spellings could result in <w> elements being out-of-order,
+the first child should be used for sorting purposes, and the other(s) should be
+ignored for that purpose.
+-->
+<!ELEMENT word-choice (w, w+) >
+
+
+<!--
A valid word in this language.
By "word" is meant a sequence of characters whose spelling and hyphenation is
unique.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-30 13:26:34
|
Revision: 3343
http://sourceforge.net/p/axsl/code/3343
Author: victormote
Date: 2026-07-30 13:26:32 +0000 (Thu, 30 Jul 2026)
Log Message:
-----------
Make Lexer implement ListIterator instead of Iterator, to improve client code understanding of context.
Modified Paths:
--------------
trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Lexer.java
Modified: trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Lexer.java
===================================================================
--- trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Lexer.java 2026-07-29 22:56:24 UTC (rev 3342)
+++ trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Lexer.java 2026-07-30 13:26:32 UTC (rev 3343)
@@ -25,7 +25,7 @@
import org.axsl.i18n.WritingSystem;
-import java.util.Iterator;
+import java.util.ListIterator;
/**
* <p>Implementations know how to break a character sequence into words and interword content.</p>
@@ -50,7 +50,7 @@
* Downstream processes may need to consult a dictionary to resolve whether such items are part of a word or are
* interword content.</p>
*/
-public interface Lexer extends Iterator<Lexer.Token> {
+public interface Lexer extends ListIterator<Lexer.Token> {
/**
* <p>Enumeration of valid token types that can be returned by this Lexer.</p>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-29 22:56:25
|
Revision: 3342
http://sourceforge.net/p/axsl/code/3342
Author: victormote
Date: 2026-07-29 22:56:24 +0000 (Wed, 29 Jul 2026)
Log Message:
-----------
Treat element "abbrev" like a first-class word.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-29 22:11:11 UTC (rev 3341)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-29 22:56:24 UTC (rev 3342)
@@ -274,7 +274,7 @@
An example of such a word is the English word "record," which can be a noun,
hyphenated "rec-ord", or a verb, hyphenated "re-cord".
-->
-<!ELEMENT w (t, (abbrev | contraction | (%parts-of-speech;))?, comment?)>
+<!ELEMENT w (t, abbrev?, (contraction | (%parts-of-speech;))?, comment?)>
<!--
The text of the word, including valid hyphenation points in the word.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-29 22:11:14
|
Revision: 3341
http://sourceforge.net/p/axsl/code/3341
Author: victormote
Date: 2026-07-29 22:11:11 +0000 (Wed, 29 Jul 2026)
Log Message:
-----------
Simplify language, script, and country attributes. Move size and source to the comments.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-29 16:54:18 UTC (rev 3340)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-29 22:11:11 UTC (rev 3341)
@@ -183,17 +183,19 @@
<!--
-1. language-iso-3char: The 3-character ISO-639-2/T code for the language being
- configured. For example, for English: "eng".
-2. script-iso-4char: The 4-character ISO-15924 code for the script being
- configured. For example, for Latin: "Latn".
-3. country-iso-3char: The 3-character ISO-3166-1 code for the language being
- configured. For example, for Canada: "CAN".
+Each of these attributes needs to match up with resources configured elsewhere.
+1. language: The 3-character or 4-character ISO-639 code for the language being
+ configured. For example, for English: "eng". For Early Middle English:
+ "emen".
+2. script: The 4-character ISO-15924 code for the script being configured. For
+ example, for Latin: "Latn".
+3. country: The 3-character ISO-3166-1 code for the language being configured.
+ For example, for Canada: "CAN".
-->
<!ATTLIST orthography
- language-iso-3char CDATA #REQUIRED
- script-iso-4char CDATA #REQUIRED
- country-iso-3char CDATA #REQUIRED
+ language CDATA #REQUIRED
+ script CDATA #REQUIRED
+ country CDATA #REQUIRED
>
<!-- Last line of DTD -->
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-29 16:54:20
|
Revision: 3340
http://sourceforge.net/p/axsl/code/3340
Author: victormote
Date: 2026-07-29 16:54:18 +0000 (Wed, 29 Jul 2026)
Log Message:
-----------
Add back nested "text" elements.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd 2026-07-29 16:52:50 UTC (rev 3339)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd 2026-07-29 16:54:18 UTC (rev 3340)
@@ -56,7 +56,7 @@
4. "xpath" is the (optional) xpath of the element in the original document, if
known.
-->
-<!ELEMENT text (#PCDATA | word | marker)*>
+<!ELEMENT text (#PCDATA | word | marker | text)*>
<!ATTLIST text
xml:lang CDATA #IMPLIED
line CDATA #IMPLIED
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-29 16:52:52
|
Revision: 3339
http://sourceforge.net/p/axsl/code/3339
Author: victormote
Date: 2026-07-29 16:52:50 +0000 (Wed, 29 Jul 2026)
Log Message:
-----------
Allow individual derivative factory to be added to an orthography.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-24 19:34:27 UTC (rev 3338)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-29 16:52:50 UTC (rev 3339)
@@ -179,7 +179,7 @@
<!ELEMENT orthography (match-rules*,
derivative-rules?, dictionary?, hyphenation-patterns?,
- derivative-factories?) >
+ derivative-factories?, derivative-factory*) >
<!--
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-24 19:34:29
|
Revision: 3338
http://sourceforge.net/p/axsl/code/3338
Author: victormote
Date: 2026-07-24 19:34:27 +0000 (Fri, 24 Jul 2026)
Log Message:
-----------
Add POS qualifier for proper noun.
Modified Paths:
--------------
trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/PosQualifier.java
Modified: trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/PosQualifier.java
===================================================================
--- trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/PosQualifier.java 2026-07-24 18:59:42 UTC (rev 3337)
+++ trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/PosQualifier.java 2026-07-24 19:34:27 UTC (rev 3338)
@@ -104,8 +104,11 @@
EXTENSIBLE((byte) 18, Collections.singletonList(PartOfSpeech.ADJECTIVE)),
/** Indicates whether the word is the possessive form of a noun. */
- POSSESSIVE((byte) 19, Collections.singletonList(PartOfSpeech.ADJECTIVE));
+ POSSESSIVE((byte) 19, Collections.singletonList(PartOfSpeech.ADJECTIVE)),
+ /** Indicates that a noun is a always a proper noun. */
+ PROPER((byte) 20, Collections.singletonList(PartOfSpeech.NOUN));
+
/** The items in this enumeration as an unmodifiable List, to avoid copying the underlying array each time its
* content is needed. */
public static final List<PosQualifier> AS_LIST =
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-24 18:59:44
|
Revision: 3337
http://sourceforge.net/p/axsl/code/3337
Author: victormote
Date: 2026-07-24 18:59:42 +0000 (Fri, 24 Jul 2026)
Log Message:
-----------
Add "unresolved-duplicate" element to use instead of ambiguous-word, when the hyphenation has simply not yet been resolved.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-24 18:58:34 UTC (rev 3336)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-24 18:59:42 UTC (rev 3337)
@@ -232,7 +232,8 @@
<!-- Artificial subdivision for human navigation purposes. -->
<!ELEMENT section
-(section | w | ambiguous-word | phrase | word-placeholder)* >
+ (section | w | ambiguous-word | unresolved-duplicate | phrase |
+ word-placeholder)* >
<!ATTLIST section
description CDATA #IMPLIED
>
@@ -247,7 +248,20 @@
-->
<!ELEMENT ambiguous-word (w, w+) >
+
<!--
+Groups two or more words that have identical spelling, but which have differing
+hyphenation points, due to a failure to resolve which set is correct.
+This is basically an error in the dictionary that needs attention.
+Parsers should generally ignore this element and simply process its contents
+as it normally would.
+This results in an implementation-dependent handling, with some implementations
+possibly using the first element, others possible using the last.
+-->
+<!ELEMENT unresolved-duplicate (w, w+) >
+
+
+<!--
A valid word in this language.
By "word" is meant a sequence of characters whose spelling and hyphenation is
unique.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-24 18:58:36
|
Revision: 3336
http://sourceforge.net/p/axsl/code/3336
Author: victormote
Date: 2026-07-24 18:58:34 +0000 (Fri, 24 Jul 2026)
Log Message:
-----------
Add "proper" element as a sub-element to "noun."
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-parts-of-speech.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-parts-of-speech.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-parts-of-speech.dtd 2026-07-23 13:19:47 UTC (rev 3335)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-parts-of-speech.dtd 2026-07-24 18:58:34 UTC (rev 3336)
@@ -26,8 +26,7 @@
<!ELEMENT noun (
(singular | plural | pluralizable | number-any)?,
((masculine?, feminine?, neuter?) | gender-any)?,
- convertible-to-possessive?
-
+ convertible-to-possessive?, proper?
)>
@@ -210,6 +209,14 @@
and plural. -->
<!ELEMENT number-any EMPTY >
+<!-- Indicates that this noun is always a proper noun, and should always be
+captialized.
+Examples: Eisenhower, Iceland.
+Counter-examples, sometimes proper nouns that can also be common nouns: china,
+king.
+ -->
+<!ELEMENT proper EMPTY >
+
<!-- Indicates that this word or usage can be used in the masculine gender. -->
<!ELEMENT masculine EMPTY >
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-23 13:19:50
|
Revision: 3335
http://sourceforge.net/p/axsl/code/3335
Author: victormote
Date: 2026-07-23 13:19:47 +0000 (Thu, 23 Jul 2026)
Log Message:
-----------
Add AmbiguousWord interface and method to retrieve it from Dictionary.
Modified Paths:
--------------
trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java
trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Orthography.java
Added Paths:
-----------
trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/AmbiguousWord.java
Added: trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/AmbiguousWord.java
===================================================================
--- trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/AmbiguousWord.java (rev 0)
+++ trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/AmbiguousWord.java 2026-07-23 13:19:47 UTC (rev 3335)
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2026 The aXSL Project.
+ * http://www.axsl.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.orthography;
+
+/**
+ * Container for words that are spelled the same, but that have different hyphenation, depending on part-of-speech.
+ * Instances are obtained from {@link Dictionary#getAmbiguousWord(CharSequence)}.
+ */
+public interface AmbiguousWord {
+
+ /**
+ * Returns the number of alternatives for this ambiguous word.
+ * @return The number of alternatives for this ambiguous word.
+ */
+ int size();
+
+ /**
+ * Retrieves an alternative from this ambiguous word.
+ * @param index The index into the (conceptual) array of alternatives.
+ * @return The word at {code index}.
+ */
+ Word getAlternative(int index);
+
+}
Property changes on: trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/AmbiguousWord.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
Modified: trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java
===================================================================
--- trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java 2026-07-22 17:30:36 UTC (rev 3334)
+++ trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java 2026-07-23 13:19:47 UTC (rev 3335)
@@ -40,26 +40,50 @@
WritingSystem getWritingSystem();
/**
- * Returns the number of alternative ways a given sequence of characters appears in this dictionary.
- * @param wordChars The chars whose word is being queried.
- * @return The number of alternatives for this word in this dictionary.
- * @see #getWord(CharSequence, int) where this quantity can be used to iterate the alternatives.
+ * Retrieves an unambiguous word from this dictionary.
+ * By "unambiguous" is meant that there is only one correct way to hyphenate the word.
+ * Applications looking up words in a dictionary should generally check both {@link #getWord(CharSequence)} and
+ * {@link #getAmbiguousWord(CharSequence)} before deciding that the word is not available.
+ * @param wordChars The chars whose word should be retrieved.
+ * @return The word matching {@code wordChars} or null if none matches.
+ * @see #getAmbiguousWord(CharSequence)} to obtain a word that has more than one correct way to be hyphenated,
+ * based on usage.
+ * @see Orthography#recognizeWord(CharSequence, int, int, org.axsl.orthography.Word.PartOfSpeech) which can
+ * also consider other dictionaries as well as derivative forms.
*/
- int qtyAlternatives(CharSequence wordChars);
+ Word getWord(CharSequence wordChars);
/**
- * Retrieves a word from this dictionary based on an index into its alternatives.
+ * Retrieves an ambiguous word from this dictionary.
* The same sequence of characters can be represented by different words, usually because of differences in
* part-of-speech.
+ * Applications looking up words in a dictionary should generally check both {@link #getWord(CharSequence)} and
+ * {@link #getAmbiguousWord(CharSequence)} before deciding that the word is not available.
* @param wordChars The chars whose word should be retrieved.
- * @param alternativeIndex The index into the (conceptual) array of alternatives for {@code wordChars}.
- * If the word is in this dictionary at all, setting this to zero should always return something.
- * @return The word matching the parameters, or null if none matches.
+ * @return The ambiguous word matching {@code wordChars} or null if none matches.
+ * @see #getWord(CharSequence)} to obtain a word that has only one correct way to be hyphenated.
* @see Orthography#recognizeWord(CharSequence, int, int, org.axsl.orthography.Word.PartOfSpeech) which can
* also consider other dictionaries as well as derivative forms.
- * @see #qtyAlternatives(CharSequence) for the range of alternatives that can be iterated.
+ *
+ * @apiNote <p>Consideration was given to keeping the functionality of this method within what is now
+ * {@link #getWord(CharSequence)} by requiring a parameter in that method to specify the index into the alternatives
+ * for the word, and a method to first report how many alternatives there were.
+ * This forced implementations to either 1) awkwardly try to handle these two methods as a single transaction, or
+ * 2) lookup up the word twice, once to report the number of alternatives, then another to actually return the word.
+ * In the case of an ambiguous word, yet another lookup was required to get the second alternative to the word.</p>
+ *
+ * <p>Consideration was also given to returning a {@link java.util.List} at {@link #getWord(CharSequence)}, but this
+ * places unnecessary memory and processing overhead on unambiguous words.</p>
+ *
+ * <p>Consideration was also given to devising a return type that could return both an unambiguous word and an
+ * ambiguous one. It was decided that this introduced unnecessary complexity.</p>
+ *
+ * <p>Finally, consideration was also given to passing part-of-speech and any other information needed to
+ * {@link #getWord(CharSequence)} to disambiguate the requested word. It was decided that this placed more
+ * responsibility on the {@link Dictionary} than was warranted, requiring an {@link Orthography} to be passed to
+ * that method.<p>
*/
- Word getWord(CharSequence wordChars, int alternativeIndex);
+ AmbiguousWord getAmbiguousWord(CharSequence wordChars);
/**
* Indicates whether this dictionary stores information about a specific part-of-speech qualifier.
Modified: trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Orthography.java
===================================================================
--- trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Orthography.java 2026-07-22 17:30:36 UTC (rev 3334)
+++ trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Orthography.java 2026-07-23 13:19:47 UTC (rev 3335)
@@ -51,8 +51,10 @@
* @param pos The part of speech for the word that should be returned.
* This can be null, implying that a word with no part of speech or any part of speech can be returned.
* @return The word matching the parameters, or null if none is found.
- * @see Dictionary#getWord(CharSequence, int) which retrieves a word directly from a dictionary without
+ * @see Dictionary#getWord(CharSequence) which retrieves an unambiguous word directly from a dictionary without
* consideration for other dictionaries or finding derivatives.
+ * @see Dictionary#getAmbiguousWord(CharSequence) which retrieves an ambiguous word directly from a dictionary
+ * without consideration for other dictionaries or finding derivatives.
*/
Word recognizeWord(CharSequence wordChars, int offset, int length, PartOfSpeech pos);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-22 17:30:39
|
Revision: 3334
http://sourceforge.net/p/axsl/code/3334
Author: victormote
Date: 2026-07-22 17:30:36 +0000 (Wed, 22 Jul 2026)
Log Message:
-----------
Add "allow-duplicates" attribute to axsl-dictionary element, to better control duplicate word values.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-22 13:48:49 UTC (rev 3333)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-22 17:30:36 UTC (rev 3334)
@@ -165,6 +165,17 @@
word in the dictionary.
For languages where the hyphen character (both hard and soft) is "-", the
recommended value for this attribute is "=".
+8. allow-duplicates: Set to "true"" to allow "w" elements that have the same
+normalized text values but are not elements within an ambiguous-word element.
+The implied value is "false."
+If set to "false," parsers should flag duplicate values with an exception.
+If set to "true," any actual duplicates not within an ambiguous-word element
+are subject to implementation-dependent handling.
+For example, some implementations may use the first of the duplicates, others
+may use the last.
+In general, this value should be set to "false" if possible, but a "true" value
+may be helpful when building a dictionary, especially if components are coming
+from different sources, and differences need to be resolved.
-->
<!ATTLIST axsl-dictionary
id CDATA #REQUIRED
@@ -174,6 +185,7 @@
epoch CDATA #IMPLIED
soft-hyphen-char CDATA #REQUIRED
hard-hyphen-char CDATA #REQUIRED
+ allow-duplicates %boolean; #IMPLIED
>
<!--
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-22 13:48:51
|
Revision: 3333
http://sourceforge.net/p/axsl/code/3333
Author: victormote
Date: 2026-07-22 13:48:49 +0000 (Wed, 22 Jul 2026)
Log Message:
-----------
Change element "word-group" to "ambiguous-word", for clarity.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-21 10:45:08 UTC (rev 3332)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-22 13:48:49 UTC (rev 3333)
@@ -52,8 +52,9 @@
information to select the correct usage.
If such information is not provided, applications should fall back to use the
first usage listed.
-4. Parsers should throw an exception for "word-group" elements whose contents do
-not have identical spellings.
+4. Parsers should throw an exception for "ambiguous-word" elements whose
+contents do not have identical spellings, or whose contents are not in fact
+ambiguous.
5. Parsers should throw an exception for "word" elements that have the same
semantics.
@@ -101,7 +102,7 @@
"./axsl-parts-of-speech.dtd">
%aXSL-Parts-of-Speech-DTD;
-<!ENTITY % Boolean "(true|false)">
+<!ENTITY % boolean "(true|false)">
<!--
@@ -121,7 +122,7 @@
-->
<!ELEMENT axsl-dictionary (import-adhoc-dictionary*,
import-standard-dictionary*,
- (section | w | word-group | phrase | word-placeholder)*)>
+ (section | w | ambiguous-word | phrase | word-placeholder)*)>
<!--
1. id: Used to allow one dictionary to point to another. It is an error for
more than one dictionary document to have the same id, although that must
@@ -212,7 +213,7 @@
-->
<!ELEMENT resource-location EMPTY>
<!ATTLIST resource-location
- parsed %Boolean; #REQUIRED
+ parsed %boolean; #REQUIRED
url CDATA #REQUIRED
>
@@ -219,7 +220,7 @@
<!-- Artificial subdivision for human navigation purposes. -->
<!ELEMENT section
-(section | w | word-group | phrase | word-placeholder)* >
+(section | w | ambiguous-word | phrase | word-placeholder)* >
<!ATTLIST section
description CDATA #IMPLIED
>
@@ -226,29 +227,26 @@
<!--
-Optional element containing two or more words that have identical spelling, but
-that have different semantics.
-Currently the only semantic difference contemplated is a difference in
+Groups two or more words that have identical spelling, but whose hyphenation
+points are different.
+Parsers should throw an exception for ambiguous-word elements whose contents do
+not have identical spellings, and for elements that do not have different
hyphenation.
-Parsers should throw an exception for word-group elements whose contents do not
-have identical spellings.
-However, parsers and processors should handle word-group as optional.
-It exists only for the benefit of the dictionary author.
-->
-<!ELEMENT word-group (w, w+) >
+<!ELEMENT ambiguous-word (w, w+) >
<!--
A valid word in this language.
-By "word" is meant a sequence of characters whose semantics are unique.
-By "semantics" here is meant that the content of the enclosed "text" element is
+By "word" is meant a sequence of characters whose spelling and hyphenation is
unique.
For purposes of this dictinary, differences of meaning, pronunciation, and
part of speech are not considered, i.e. these differences can exist and the
word is still considered to be the same word.
-As an example of different words with the same spelling, the English word
-"record" can be a noun, hyphenated "rec-ord", or a verb, hyphenated "re-cord".
-These should be treated as different words in this dictionary, but could both be
-placed inside the same word-group.
+Words having the same spelling, but different hyphenation, should each be in
+their own "w" element, and those elements should be placed inside an
+"ambiguous-word" element.
+An example of such a word is the English word "record," which can be a noun,
+hyphenated "rec-ord", or a verb, hyphenated "re-cord".
-->
<!ELEMENT w (t, (abbrev | contraction | (%parts-of-speech;))?, comment?)>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-21 10:45:11
|
Revision: 3332
http://sourceforge.net/p/axsl/code/3332
Author: victormote
Date: 2026-07-21 10:45:08 +0000 (Tue, 21 Jul 2026)
Log Message:
-----------
Convert boolean values to an entity.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-parts-of-speech.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-parts-of-speech.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-parts-of-speech.dtd 2026-07-20 21:04:32 UTC (rev 3331)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-parts-of-speech.dtd 2026-07-21 10:45:08 UTC (rev 3332)
@@ -18,6 +18,7 @@
preposition?, conjunction?, determiner?, interjection?, past-participle?,
present-participle?, future-participle?, cardinal?, ordinal?">
+<!ENTITY % boolean "(true|false)">
<!--
A noun.
@@ -131,7 +132,7 @@
-->
<!ELEMENT regular-root EMPTY>
<!ATTLIST regular-root
- value (true | false) #IMPLIED
+ value %boolean; #IMPLIED
>
<!--
@@ -227,7 +228,7 @@
some standard rules from the orthography. -->
<!ELEMENT convertible-to-possessive EMPTY >
<!ATTLIST convertible-to-possessive
- value (true | false) #IMPLIED
+ value %boolean; #IMPLIED
>
<!-- Indicates that this adjective is a possessive indicator derived from a
@@ -244,7 +245,7 @@
superlative forms using standard rules from the orthography. -->
<!ELEMENT extensible EMPTY >
<!ATTLIST extensible
- value (true | false) #IMPLIED
+ value %boolean; #IMPLIED
>
<!-- Last Line of DTD -->
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-20 21:04:35
|
Revision: 3331
http://sourceforge.net/p/axsl/code/3331
Author: victormote
Date: 2026-07-20 21:04:32 +0000 (Mon, 20 Jul 2026)
Log Message:
-----------
Add element "section" to assist with human readability and navigation.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-18 16:04:13 UTC (rev 3330)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-20 21:04:32 UTC (rev 3331)
@@ -121,7 +121,7 @@
-->
<!ELEMENT axsl-dictionary (import-adhoc-dictionary*,
import-standard-dictionary*,
- (w | word-group | phrase | word-placeholder)*)>
+ (section | w | word-group | phrase | word-placeholder)*)>
<!--
1. id: Used to allow one dictionary to point to another. It is an error for
more than one dictionary document to have the same id, although that must
@@ -217,6 +217,14 @@
>
+<!-- Artificial subdivision for human navigation purposes. -->
+<!ELEMENT section
+(section | w | word-group | phrase | word-placeholder)* >
+<!ATTLIST section
+ description CDATA #IMPLIED
+>
+
+
<!--
Optional element containing two or more words that have identical spelling, but
that have different semantics.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-18 16:04:16
|
Revision: 3330
http://sourceforge.net/p/axsl/code/3330
Author: victormote
Date: 2026-07-18 16:04:13 +0000 (Sat, 18 Jul 2026)
Log Message:
-----------
Remove element "foreign," whose purpose is satisfied with a "text" element.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd 2026-07-17 16:25:23 UTC (rev 3329)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd 2026-07-18 16:04:13 UTC (rev 3330)
@@ -26,9 +26,11 @@
<!--
-Indicates which flow the descendant elements are in. Some documents have more than one flow. For example, many books
-have both a main flow and a footnote flow. When tracing the location of a spell-check flag, it is useful to know in
-which of these flows the flag was detected.
+Indicates which flow the descendant elements are in.
+Some documents have more than one flow.
+For example, many books have both a main flow and a footnote flow.
+When tracing the location of a spell-check flag, it is useful to know in which
+of these flows the flag was detected.
-->
<!ELEMENT flow (text | marker)*>
<!ATTLIST flow
@@ -47,12 +49,14 @@
Attributes:
1. "xml:lang" is used to determine which dictionary(ies) should be used for the
- spell-checking.
+ spell-checking. The implied value is the value of the same attribute on the
+ ancestor axsl-spell-check-input element.
2. "line" is the (optional) line number in the original document, if known.
3. "column" is the (optional) column number in the original document, if known.
-4. "xpath" is the (optional) xpath of the element in the original document, if known.
+4. "xpath" is the (optional) xpath of the element in the original document, if
+ known.
-->
-<!ELEMENT text (#PCDATA | word | foreign | marker)*>
+<!ELEMENT text (#PCDATA | word | marker)*>
<!ATTLIST text
xml:lang CDATA #IMPLIED
line CDATA #IMPLIED
@@ -79,7 +83,8 @@
spell-checking.
2. "line" is the (optional) line number in the original document, if known.
3. "column" is the (optional) column number in the original document, if known.
-4. "xpath" is the (optional) xpath of the element in the original document, if known.
+4. "xpath" is the (optional) xpath of the element in the original document, if
+ known.
-->
<!ELEMENT word (#PCDATA | marker)*>
<!ATTLIST word
@@ -91,36 +96,18 @@
<!--
-Marks a sequence of text as having a different writing system than the
-surrounding text.
-Such content does not mark the end of a processing segment, but only an
-interruption in it.
-
-Attributes:
-1. "xml:lang" is used to determine which dictionary(ies) should be used for the
- spell-checking.
-2. "line" is the (optional) line number in the original document, if known.
-3. "column" is the (optional) column number in the original document, if known.
-4. "xpath" is the (optional) xpath of the element in the original document, if known.
+A marker from an original document, that is, a document backing the semantic XML
+that is being parsed to create this spell-check document.
+This might be, for example, a page number in such a backing document.
+This is in distinction from the "line", "column", and "xpath" attributes, which
+give clues about the location of the original element in the original XML
+document.
+Marker elements are orthogonal to the text, word, and foreign elements, so they
+can occur in the middle of a word.
+This possibility must be considered by consumers of documents of this type to
+ensure that the entire word is considered for spell-checking instead of two
+fragments of the word.
-->
-<!ELEMENT foreign (#PCDATA | word | marker)* >
-<!ATTLIST foreign
- xml:lang CDATA #IMPLIED
- line CDATA #IMPLIED
- column CDATA #IMPLIED
- xpath CDATA #IMPLIED
->
-
-
-<!--
-A marker from an original document, that is, a document backing the semantic XML that is being parsed to create this
-spell-check document. This might be, for example, a page number in such a backing document. This is in distinction from
-the the "line", "column", and "xpath" attributes, which give clues about the location of the original element in the
-original XML document. Marker elements are orthogonal to the text, word, and foreign elements, so they can occur in the
-middle of a word. This possibility must be considered by consumers of documents of this type to ensure that the entire
-word is considered for spell-checking instead of two fragments of the word.
-
--->
<!ELEMENT marker EMPTY >
<!ATTLIST marker
value CDATA #REQUIRED
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-17 16:25:25
|
Revision: 3329
http://sourceforge.net/p/axsl/code/3329
Author: victormote
Date: 2026-07-17 16:25:23 +0000 (Fri, 17 Jul 2026)
Log Message:
-----------
Replace elements parsed-resource and unparsed-resource with new resource-location.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-17 13:03:27 UTC (rev 3328)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-17 16:25:23 UTC (rev 3329)
@@ -22,6 +22,8 @@
"./axsl-parts-of-speech.dtd">
%aXSL-Parts-of-Speech-DTD;
+<!ENTITY % Boolean "(true|false)">
+
<!ELEMENT axsl-orthography-config (match-rule-list*,
derivative-pattern-list*, derivative-factory-list*, dictionary-resource*,
hyphenation-patterns-resource*, orthography+)>
@@ -143,7 +145,7 @@
<!--
Describes how to find or build a dictionary resource.
-->
-<!ELEMENT dictionary-resource (parsed-resource*, unparsed-resource*)>
+<!ELEMENT dictionary-resource (resource-location+)>
<!ATTLIST dictionary-resource
id ID #REQUIRED
>
@@ -158,7 +160,7 @@
<!--
Describes how to find or build a hyphenation-patterns resource.
-->
-<!ELEMENT hyphenation-patterns-resource (parsed-resource*, unparsed-resource?) >
+<!ELEMENT hyphenation-patterns-resource (resource-location+) >
<!ATTLIST hyphenation-patterns-resource
id ID #REQUIRED
>
@@ -165,23 +167,16 @@
<!--
-Describes the location of a parsed resource.
+Describes the location of a resource.
-->
-<!ELEMENT parsed-resource EMPTY>
-<!ATTLIST parsed-resource
+<!ELEMENT resource-location EMPTY>
+<!ATTLIST resource-location
+ parsed %Boolean; #REQUIRED
url CDATA #REQUIRED
>
-<!--
-Describes the location of an unparsed resource.
--->
-<!ELEMENT unparsed-resource EMPTY>
-<!ATTLIST unparsed-resource
- url CDATA #REQUIRED
->
-
<!ELEMENT orthography (match-rules*,
derivative-rules?, dictionary?, hyphenation-patterns?,
derivative-factories?) >
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-17 13:03:29
|
Revision: 3328
http://sourceforge.net/p/axsl/code/3328
Author: victormote
Date: 2026-07-17 13:03:27 +0000 (Fri, 17 Jul 2026)
Log Message:
-----------
Replace element "import-dictionary" with "import-standard-dictionary" and "import-adhoc-dictionary" and "resource-location".
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-16 17:17:29 UTC (rev 3327)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-dictionary.dtd 2026-07-17 13:03:27 UTC (rev 3328)
@@ -41,14 +41,20 @@
1. Applications are expected to handle the content of multiple axsl-dictionary
items from multiple sources during processing, so that they can be combined to
capture the set of words that are valid in a document.
-2. If provided with part-of-speech information as /input/ (i.e. separate from
+2. The order in which various dictionaries are consulted when recognizing words
+is as follows:
+ 1. The current dictionary.
+ 2. Any imported adhoc dictionaries. Each of these in its own scope
+ 3. Any imported standard dictionaries.
+ 4. Any standard dictionaries whose
+3. If provided with part-of-speech information as /input/ (i.e. separate from
information in this dictionary), applications are expected to use that
information to select the correct usage.
If such information is not provided, applications should fall back to use the
first usage listed.
-3. Parsers should throw an exception for "word-group" elements whose contents do
+4. Parsers should throw an exception for "word-group" elements whose contents do
not have identical spellings.
-4. Parsers should throw an exception for "word" elements that have the same
+5. Parsers should throw an exception for "word" elements that have the same
semantics.
@@ -95,6 +101,9 @@
"./axsl-parts-of-speech.dtd">
%aXSL-Parts-of-Speech-DTD;
+<!ENTITY % Boolean "(true|false)">
+
+
<!--
Contains one or more axsl-dictionary items.
This is suitable as a root element for document-specific files that need
@@ -110,29 +119,27 @@
This is suitable as a root element for files that need to handle only one
orthography.
-->
-<!ELEMENT axsl-dictionary (import-dictionary*,
+<!ELEMENT axsl-dictionary (import-adhoc-dictionary*,
+ import-standard-dictionary*,
(w | word-group | phrase | word-placeholder)*)>
<!--
1. id: Used to allow one dictionary to point to another. It is an error for
more than one dictionary document to have the same id, although that must
be enforced at some higher level than an XML editor.
-2. overrides: References the "id" attribute of some other axsl-dictionary,
-allowing this dictionary to logically include the content of another,
-overriding its content as needed.
-[The attributes language, script, country, and epoch are intended to match the
-meaning of those terms as used in this article:
+[The attributes language, script, country, defined below are intended to match
+the meaning of those terms as used in this article:
https://www.w3.org/International/articles/language-tags
-except that "epoch" is a private-use subtag (see below).]
+The attribute "epoch" is a private-use subtag.]
-3. language: The 3-character ISO-639 code for the language to which the words
+2. language: The 3-character ISO-639 code for the language to which the words
belong.
-4. script: The 4-character ISO-15924 code for the script being used.
-5. country: The 3-character ISO-3166 code for the country, if the words in this
+3. script: The 4-character ISO-15924 code for the script being used.
+4. country: The 3-character ISO-3166 code for the country, if the words in this
dictionary are country-specific.
If the intent is for this dictionary to contain words that are applicable to
/any/ country in which "language" is spoken, do not set this attribute.
-6. epoch: A private-use subtag that describes the time period in which the
+5. epoch: A private-use subtag that describes the time period in which the
dictionary applies.
This is intended to allow one dictionary that overrides another to designate
the approximate period in which its content would be considered valid.
@@ -140,7 +147,7 @@
of "1920".
See the following for information about private-use subtags:
https://www.w3.org/International/articles/language-tags/#extension
-7. soft-hyphen-char: The character that is used in this dictionary to denote a
+6. soft-hyphen-char: The character that is used in this dictionary to denote a
valid hyphenation point.
Be sure to pick a character that will never occur in the actual spelling of any
word in the dictionary, except, if that character is the hard hyphen character,
@@ -148,7 +155,7 @@
other than the actual hard hyphen character.
For languages where the hyphen character (both hard and soft) is "-", the
recommended value for this attribute is "-".
-8. hard-hyphen-char: The character that is used in this dictionary to denote a
+7. hard-hyphen-char: The character that is used in this dictionary to denote a
hard hyphenation point, i.e. where the hyphen is part of the word.
For example, the English word "absent-minded" contains a hard hyphen.
Word spellings in this dictionary will need to distinguish between hard and
@@ -169,18 +176,48 @@
>
<!--
-An optional ancillary dictionary, usually specialized in nature, that is to be effectively imported into this
+An optional standard dictionary, usually specialized in nature, that is to be
+effectively imported into this dictionary.
+This allows document-specific dictionaries to include such specialized items as
+(for example) medical or legal terms, Biblical names, etc.
+Implementations need not actually import these dictionaries, but should behave
+as if they have.
+-->
+<!ELEMENT import-standard-dictionary EMPTY>
+<!--
+1. id: The id of the standard dictionary to be effectively imported into this
+dictionary. This is used to retrieve the dictionary.
+-->
+<!ATTLIST import-standard-dictionary
+ id CDATA #REQUIRED
+>
+
+
+<!--
+An optional ad-hoc dictionary, usually document-specific, that is to be
+effectively imported into this dictonary.
+-->
+<!ELEMENT import-adhoc-dictionary (resource-location+)>
+<!--
+1. id: The id of the adhoc dictionary to be effectively imported into this
dictionary.
-This allows document-specific dictionaries to include such specialized items as (for example) medical or legal terms,
-Biblical names, etc.
-Implementations need not actually import these dictionaries, but should behave as if they have.
-->
-<!ELEMENT import-dictionary EMPTY>
-<!ATTLIST import-dictionary
- dictionary-id CDATA #REQUIRED
+<!ATTLIST import-adhoc-dictionary
+ id CDATA #REQUIRED
>
+
<!--
+Describes the location of a resource.
+-->
+<!ELEMENT resource-location EMPTY>
+<!ATTLIST resource-location
+ parsed %Boolean; #REQUIRED
+ url CDATA #REQUIRED
+>
+
+
+<!--
Optional element containing two or more words that have identical spelling, but
that have different semantics.
Currently the only semantic difference contemplated is a difference in
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-16 17:17:32
|
Revision: 3327
http://sourceforge.net/p/axsl/code/3327
Author: victormote
Date: 2026-07-16 17:17:29 +0000 (Thu, 16 Jul 2026)
Log Message:
-----------
Remove method that is an implementation detail.
Modified Paths:
--------------
trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java
Modified: trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java
===================================================================
--- trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java 2026-07-16 12:42:20 UTC (rev 3326)
+++ trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java 2026-07-16 17:17:29 UTC (rev 3327)
@@ -26,7 +26,6 @@
import org.axsl.i18n.WritingSystem;
import java.io.Serializable;
-import java.util.List;
/**
* <p>A collection of natural-language words, possibly useful for hyphenation, spell-checking, etc.</p>
@@ -95,11 +94,4 @@
*/
boolean isExcludedWord(CharSequence wordChars);
- /**
- * Returns the list of imported dictionary IDs.
- * @return The list of imported dictionary IDs for this dictionary.
- * This should never be null, but can be empty.
- */
- List<String> getImportedDictionaries();
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-16 12:42:22
|
Revision: 3326
http://sourceforge.net/p/axsl/code/3326
Author: victormote
Date: 2026-07-16 12:42:20 +0000 (Thu, 16 Jul 2026)
Log Message:
-----------
Minor doc and naming changes.
Modified Paths:
--------------
trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java
Modified: trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java
===================================================================
--- trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java 2026-07-16 11:25:31 UTC (rev 3325)
+++ trunk/axsl/axsl-orthography/src/main/java/org/axsl/orthography/Dictionary.java 2026-07-16 12:42:20 UTC (rev 3326)
@@ -41,22 +41,26 @@
WritingSystem getWritingSystem();
/**
- * Returns the number of alternative ways a given word appears in this dictionary.
+ * Returns the number of alternative ways a given sequence of characters appears in this dictionary.
* @param wordChars The chars whose word is being queried.
* @return The number of alternatives for this word in this dictionary.
+ * @see #getWord(CharSequence, int) where this quantity can be used to iterate the alternatives.
*/
int qtyAlternatives(CharSequence wordChars);
/**
* Retrieves a word from this dictionary based on an index into its alternatives.
+ * The same sequence of characters can be represented by different words, usually because of differences in
+ * part-of-speech.
* @param wordChars The chars whose word should be retrieved.
- * @param index The index into the (conceptual) array of alternatives for {@code wordChars}.
+ * @param alternativeIndex The index into the (conceptual) array of alternatives for {@code wordChars}.
* If the word is in this dictionary at all, setting this to zero should always return something.
* @return The word matching the parameters, or null if none matches.
* @see Orthography#recognizeWord(CharSequence, int, int, org.axsl.orthography.Word.PartOfSpeech) which can
* also consider other dictionaries as well as derivative forms.
+ * @see #qtyAlternatives(CharSequence) for the range of alternatives that can be iterated.
*/
- Word getWord(CharSequence wordChars, int index);
+ Word getWord(CharSequence wordChars, int alternativeIndex);
/**
* Indicates whether this dictionary stores information about a specific part-of-speech qualifier.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-16 11:25:34
|
Revision: 3325
http://sourceforge.net/p/axsl/code/3325
Author: victormote
Date: 2026-07-16 11:25:31 +0000 (Thu, 16 Jul 2026)
Log Message:
-----------
1. Add support for markers and multiple flows.
2. Include the spell-check DTD in the distribution.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd
trunk/axsl/axsl-orthography/build.gradle
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd 2026-07-15 12:08:03 UTC (rev 3324)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-spell-check-input.dtd 2026-07-16 11:25:31 UTC (rev 3325)
@@ -81,7 +81,7 @@
3. "column" is the (optional) column number in the original document, if known.
4. "xpath" is the (optional) xpath of the element in the original document, if known.
-->
-<!ELEMENT word (#PCDATA | marker)>
+<!ELEMENT word (#PCDATA | marker)*>
<!ATTLIST word
xml:lang CDATA #IMPLIED
line CDATA #IMPLIED
@@ -121,8 +121,8 @@
word is considered for spell-checking instead of two fragments of the word.
-->
-<!ELEMENT marker>
-<ATTLIST marker
+<!ELEMENT marker EMPTY >
+<!ATTLIST marker
value CDATA #REQUIRED
>
Modified: trunk/axsl/axsl-orthography/build.gradle
===================================================================
--- trunk/axsl/axsl-orthography/build.gradle 2026-07-15 12:08:03 UTC (rev 3324)
+++ trunk/axsl/axsl-orthography/build.gradle 2026-07-16 11:25:31 UTC (rev 3325)
@@ -24,7 +24,8 @@
include "axsl-dictionary.dtd"
include "axsl-hyphenation.dtd"
include "axsl-orthography-config.dtd"
- include "axsl-parts-of-speech.dtd"
+ include "axsl-parts-of-speech.dtd"
+ include "axsl-spell-check-input.dtd"
into "/resources/org/axsl/dtds/"
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-15 12:08:14
|
Revision: 3324
http://sourceforge.net/p/axsl/code/3324
Author: victormote
Date: 2026-07-15 12:08:03 +0000 (Wed, 15 Jul 2026)
Log Message:
-----------
Replace unparsed-dictionary, resource-location, and dictionary-element with unparsed-resource uses.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-14 22:22:03 UTC (rev 3323)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-15 12:08:03 UTC (rev 3324)
@@ -143,7 +143,7 @@
<!--
Describes how to find or build a dictionary resource.
-->
-<!ELEMENT dictionary-resource (parsed-resource*, unparsed-dictionary*)>
+<!ELEMENT dictionary-resource (parsed-resource*, unparsed-resource*)>
<!ATTLIST dictionary-resource
id ID #REQUIRED
>
@@ -182,28 +182,6 @@
>
-<!--
-The path to a resource.
--->
-<!ELEMENT resource-location (#PCDATA)>
-<!ATTLIST resource-location
- type (classpath | url) #REQUIRED
->
-
-
-<!--
-The URL to an unparsed dictionary, the raw material for parsing a dictionary.
--->
-<!ELEMENT unparsed-dictionary (dictionary-element*)>
-
-
-<!--
-An element in a word list, usually a file that contains a list of words, or a
-file containing some other information used to create a dictionary.
--->
-<!ELEMENT dictionary-element (resource-location)>
-
-
<!ELEMENT orthography (match-rules*,
derivative-rules?, dictionary?, hyphenation-patterns?,
derivative-factories?) >
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-14 22:22:06
|
Revision: 3323
http://sourceforge.net/p/axsl/code/3323
Author: victormote
Date: 2026-07-14 22:22:03 +0000 (Tue, 14 Jul 2026)
Log Message:
-----------
Replace unparsed-hyphenation-patterns element with new unparsed-resource element.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-14 21:20:56 UTC (rev 3322)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-14 22:22:03 UTC (rev 3323)
@@ -158,7 +158,7 @@
<!--
Describes how to find or build a hyphenation-patterns resource.
-->
-<!ELEMENT hyphenation-patterns-resource (parsed-resource*, unparsed-hyphenation-patterns?) >
+<!ELEMENT hyphenation-patterns-resource (parsed-resource*, unparsed-resource?) >
<!ATTLIST hyphenation-patterns-resource
id ID #REQUIRED
>
@@ -174,6 +174,15 @@
<!--
+Describes the location of an unparsed resource.
+-->
+<!ELEMENT unparsed-resource EMPTY>
+<!ATTLIST unparsed-resource
+ url CDATA #REQUIRED
+>
+
+
+<!--
The path to a resource.
-->
<!ELEMENT resource-location (#PCDATA)>
@@ -195,12 +204,6 @@
<!ELEMENT dictionary-element (resource-location)>
-<!--
-The URL to a raw (unparsed) hyphenation patterns file.
--->
-<!ELEMENT unparsed-hyphenation-patterns (resource-location)>
-
-
<!ELEMENT orthography (match-rules*,
derivative-rules?, dictionary?, hyphenation-patterns?,
derivative-factories?) >
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-14 21:20:58
|
Revision: 3322
http://sourceforge.net/p/axsl/code/3322
Author: victormote
Date: 2026-07-14 21:20:56 +0000 (Tue, 14 Jul 2026)
Log Message:
-----------
Store the URL as an attribute of the parsed-resource element.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-14 19:57:53 UTC (rev 3321)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-14 21:20:56 UTC (rev 3322)
@@ -167,7 +167,10 @@
<!--
Describes the location of a parsed resource.
-->
-<!ELEMENT parsed-resource (resource-location)>
+<!ELEMENT parsed-resource EMPTY>
+<!ATTLIST parsed-resource
+ url CDATA #REQUIRED
+>
<!--
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-14 19:57:56
|
Revision: 3321
http://sourceforge.net/p/axsl/code/3321
Author: victormote
Date: 2026-07-14 19:57:53 +0000 (Tue, 14 Jul 2026)
Log Message:
-----------
Remove unused "exclusion" element.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-14 19:20:29 UTC (rev 3320)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-14 19:57:53 UTC (rev 3321)
@@ -116,15 +116,6 @@
>
-<!--
-Describes patterns in a resource file that should be excluded when building the
-resource.
--->
-<!ELEMENT exclusion EMPTY>
-<!ATTLIST exclusion
- regex-pattern CDATA #REQUIRED
->
-
<!ELEMENT dictionary EMPTY>
<!ATTLIST dictionary
reference IDREF #REQUIRED
@@ -131,12 +122,6 @@
>
-<!ELEMENT hyphenation-patterns EMPTY>
-<!ATTLIST hyphenation-patterns
- reference IDREF #REQUIRED
->
-
-
<!ELEMENT match-rules EMPTY>
<!ATTLIST match-rules
reference IDREF #REQUIRED
@@ -164,6 +149,12 @@
>
+<!ELEMENT hyphenation-patterns EMPTY>
+<!ATTLIST hyphenation-patterns
+ reference IDREF #REQUIRED
+>
+
+
<!--
Describes how to find or build a hyphenation-patterns resource.
-->
@@ -198,7 +189,7 @@
An element in a word list, usually a file that contains a list of words, or a
file containing some other information used to create a dictionary.
-->
-<!ELEMENT dictionary-element (resource-location, exclusion*)>
+<!ELEMENT dictionary-element (resource-location)>
<!--
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <vic...@us...> - 2026-07-14 19:20:32
|
Revision: 3320
http://sourceforge.net/p/axsl/code/3320
Author: victormote
Date: 2026-07-14 19:20:29 +0000 (Tue, 14 Jul 2026)
Log Message:
-----------
Remove unused attribute.
Modified Paths:
--------------
trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
Modified: trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd
===================================================================
--- trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-14 13:08:47 UTC (rev 3319)
+++ trunk/axsl/axsl-00-dev/doc/web/dtds/0.1/en/axsl-orthography-config.dtd 2026-07-14 19:20:29 UTC (rev 3320)
@@ -170,7 +170,6 @@
<!ELEMENT hyphenation-patterns-resource (parsed-resource*, unparsed-hyphenation-patterns?) >
<!ATTLIST hyphenation-patterns-resource
id ID #REQUIRED
- raw-hyphenation-patterns-url CDATA #IMPLIED
>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|