Talk:List of eXtensions to OSIS used in SWORD
From CrossWire Bible Society
Why this page should prove useful
For a valid OSIS XML file to be "fit for purpose", it's necessary to know what to include in order to achieve the goal of making good SWORD modules. Though some of these extensions are already partially documented in existing wiki pages, there is no single place where they are all listed along with usage rules. As further pre-processing tools are being developed (such as USX to OSIS), having a one stop reference should be valuable to help developers ensure that they can take full advantage of existing solutions and workarounds. David Haslam 05:00, 27 April 2012 (MDT)
- This page will be a 'work in progress' for a time. I have made a start by adding sections for extensions found by searching the wiki. the result of such a search is probably quite incomplete. Developers who work on the SWORD source code should be able to add further sections. David Haslam 05:11, 27 April 2012 (MDT)
- Further extensions were added by reference to usfm2osis.pl and to kjv.xml. David Haslam 05:30, 28 April 2012 (MDT)
- Examination of existing modules for unsupported extensions may also suggest opportunities for further enhancements to the SWORD engine, especially if they are used extensively, and when it would seem that their purpose was to affect how text is displayed. David Haslam 02:36, 1 May 2012 (MDT)
- Comment from the xulsword developer received by email: David Haslam 12:11, 1 May 2012 (MDT)
"Hey this is great! This is the kind of thing that enables developers to make best use of their time and design products that are compatible. "
- It may also help us to decide which extensions should be deprecated. David Haslam 12:16, 8 August 2012 (MDT)
Non-CrossWire OSIS eXtensions
Please list any non-CrossWire OSIS eXtensions here in the talk page. David Haslam 11:45, 27 April 2012 (MDT)
SWORD and JSword
The page is intended to reflect what extensions are supported by the SWORD API. There is no guarantee that these extensions are also supported by JSword, albeit many of them are. David Haslam 05:26, 28 April 2012 (MDT)
Extensions no longer supported ...
If it turns out that I have listed any extension that is no longer supported by the latest release of the SWORD engine, please contact me before editing the main page. David Haslam 05:33, 28 April 2012 (MDT)
- Likewise for any extension that was never supported. David Haslam 02:23, 1 May 2012 (MDT)
Extensions used in xulsword
This can be used within the note element as a value of the attribute subType.
It's used to mark crossReference links for parallel passages.
This can be used within the milestone element as a value of the attribute type.
It's used to provide a poetry indentation as an alternative to using line elements with level attributes.
Currently, deeper indents are created by two or three <milestone type="x-p-indent" /> elements in series.
- Poetry indent is solely indicated by level="n", where 1 is no indent. There is no other mechanism that should be used to indicate indentation of a line of poetry.
- --Dmsmith 08:30, 9 April 2014 (MDT)
Extensions found in SWORD modules
Research here about OSIS extensions found in SWORD modules, for which the status of support by the SWORD engine is still unclear. Please remember to identify the particular module. David Haslam 02:26, 1 May 2012 (MDT)
- In the following researches, I'm restricting to recording notable observations. David Haslam 10:51, 2 May 2012 (MDT)
This is a list of all x-prefix extensions in the ESV module (along with a count in column 1):
05206 x-begin-paragraph 19805 x-br 00081 x-declares 05206 x-end-paragraph 00007 x-extra-space 11334 x-indent 00021 x-indent-2 02428 x-preverse 00001 x-psalm-book 00003 x-psalm-doxology 00179 x-same-paragraph 00074 x-selah 00001 x-speaker 00002 x-textual-note 00016 x-us-time
This is an edited list of all x-prefix extensions in the KJV module v2.6 (along with a count in column 1):
02970 x-p Used to indicate the presence of a pilcrow in the original text <milestone type="x-p" marker="¶"/> 03422 x-split-n Used to indicate that a Greek word, typically a verb, is translated into English in split parts. n is a unique integer that can be used to identify the two parts. Example: <w morph="strongMorph:TH8686" lemma=" strong:H05307" type="x-split-2">caused</w> <w lemma="strong:H08639">a deep sleep</w> <w morph="strongMorph:TH8686" lemma="strong:H05307" type="x-split-2">to fall</w> 01424 x-added Not significant. Ignore. Will be removed in the future. It is an editorial mark used to indicate pilcrows that were not present in the KJV 2003 and added in the KJV 2006. <milestone type="x-p" subType="x-added" marker="¶"/>
This is a list of all x-prefix extensions in the LEB module (along with a count in column 1):
000959 x-idiom 000002 x-license 000002 x-trademark
This can be used within the seg element as a value of the attribute type.
This extension is used to identify idiomatic words and phrases, and is normally immediately followed by a note element giving the literal meaning. e.g.
“Behold, the virgin <seg type="x-idiom">˻will become pregnant˼</seg><note>Literally “will have in the womb”</note> and ...
The LEB also uses visible markers (low corner brackets) to mark the start and end of each idiom.
This is a list of all x-prefix extensions in the Hebrew OSHB module (along with a count in column 1):
000119 x-accent 000001 x-importer 000004 x-large 042578 x-maqqef 471677 x-morph 000001 x-osis2mod 002278 x-paseq 001181 x-pe 001259 x-qere 000009 x-reversednun 001981 x-samekh 000003 x-small 023192 x-sof-pasuq 000004 x-suspended
This is a list of all x-prefix extensions in the Hebrew WLC module (along with a count in column 1):
005915 x-DHSource 000009 x-invertednun 001276 x-ketiv 000004 x-large 472676 x-morph 001181 x-pe 001288 x-qere 001981 x-samekh 000003 x-small 000004 x-suspended 001018 x-textual
This is a list of all x-prefix extensions in the Hebrew MapM module (along with a count in column 1):
000026 x-big 000001 x-importer 001060 x-ketiv 013477 x-milestone 000001 x-osis2mod 001624 x-p 000283 x-paseq 013477 x-preverse 000002 x-reversednun 000021 x-small 000002 x-space 000004 x-suspended 000009 x-symbol
This is a list of all x-prefix extensions in the WEB module v3.1 (along with a count in column 1):
09596 x-milestone 09596 x-preverse 00002 x-testament
This is a list of all x-prefix extensions in the file web.osis.xml (downloaded from ebible.org 2010-06-15) included for comparison:
000333 x-directAddress 000680 x-doNotGeneratePunctuation 000628 x-noteStartAnchor 003983 x-plural 007660 x-primary 008342 x-secondary
This could be used within the w element as a value of the attribute type.
It's intended to mark the pronoun 'you' where it's second person plural in the original languages.
The WEB is a translation that uses 'you' for both singular and plural second person pronouns.
For the whole pronoun word to be highlighted somehow (future implementation?), the syntax might be:
As it was in the file web.osis.xml, the pronouns were not wrapped like that, but merely tagged as:
you<w type="x-plural" />
I guess it depends to a large extent on how the translator envisaged them to be visibly displayed.
- <w> is a container element, so <w/> doesn't mean anything. <w type="x-plural"/> doesn't mean that the previous word is plural, it means that the empty word is plural. Also, plurality is properly marked in the morph attribute of <w>. --Osk 06:59, 6 August 2012 (MDT)
x-primary & x-secondary
These could be used within the l element as a value of the attribute type.
It was a method envisaged to mark poetry indents in the WEB translation.
- Poetic level (indentation) is indicated by the level attribute of <l>. --Osk 07:04, 6 August 2012 (MDT)
usfm2osis.py : osis2mod & SWORD ?
We ought to compile a planning table to list whether and how osis2mod and the SWORD API handles each of the OSIS eXtensions capable of being generated as part of the output from usfm2osis.py
This would help the SWORD developers. David Haslam 09:36, 9 May 2013 (MDT)
This page is misleading
There are classes of x-values that need to be distinguished.
- Values that CrossWire promotes as useful to making a SWORD module.
- Values that the SWORD engine handles as an internal implementation detail. These should never be used by a module maker.
- Values that the SWORD engine handles but should not be used in making current OSIS documents. These deprecated values should never be used by a module maker.
- Values that a module maker uses that will be retained in the module but never used by SWORD. Specifically, a module maker is free to use anything that does not conflict with the above.
- The presence of an x-value in a module is not an indication of what SWORD handles. There needs to be a clear indication of what SWORD handles vs what is found in modules.
- That SWORD handles an x-value does not mean that it should ever be used in an OSIS document.
- Many are deprecated and as such should not be mentioned at all.
- Others such as x-preverse are created by osis2mod and should never be used in an OSIS document.
--Dmsmith 11:54, 17 May 2013 (MDT)
- I don't disagree with those observations, yet something was clearly needed when I created the page in April 2012. Can we work together to improve the page? David Haslam 12:11, 17 May 2013 (MDT)