[sword-devel] Are individual verses in a module "well formed"

Troy A. Griffitts scribe at crosswire.org
Wed Apr 20 11:52:45 MST 2005


DM,
	No, SWORD currently does no work to promise any retrievable segment of 
text as valid markup.  I have talked with a few XML experts and have had 
a number of ideas brewing for the past few years how we might offer such 
information, as it is a necessary obstacle to overcome.

	The question, more generally, really is:

	How can one package and send a segment of an XML document.  Steve 
DeRose has pointed me to at least one project/standard which tries to 
address this issue.  I need to review my email archives and study their 
solution.  My ideas, very generally are either:

With each retrieved segment of text from the API, provide a context tag 
stack object which described the tag context at the start of the segment.

or

Do the actual work of returning valid XML for a segment of text, and 
provide an attribute in all supplied markup to designate it as such:

<verse osisID="Mat.6.10"><q who="Jesus" level="1" sID="Mat.5.3.q1" 
misc="phantom" /><q who="Jesus" level="2" sID="Mat.6.9.q1" 
misc="phantom" />Your kingdom come. Your will be done, On earth as it is 
in heaven<q eID="Mat.6.9.q1" misc="phantom" /><q eID="Mat.5.3.q1" 
misc="phantom" /></verse>

Note that this last example doesn't really supply any REQUIRED FOR XML 
VALIDITY, but does provide the more important tags required to represent 
the text correctly.  And also not that any 'phantom' TRUE END TAGS will 
not be identifiable, as we cannot supply an attributed.

I think the first option works best for our engine design.  When a 
client iterates a chapter, making 1 call for each verse, they aren't 
concerned with valid XML for each verse, but rather, they want any 
context when they start the segment (chapter in our example) and then 
they may want to close any remaining open tags when done rendering.

But it's all still just rumbling around in my mind, so any ideas are 
very welcome.

	-Troy.





  DM Smith wrote:

> I asked this earlier on another thread, but it was lost in the noise of 
> that thread.
> 
> Does Sword, in making a module, ensure (or try to ensure) that each 
> verse is well formed? That is, for every begin feature marker, there is 
> a corresponding end feature marker. In XML and ThML it would be a 
> <tag>...</tag> or <tag/> but in gbf it might be a matched pair <TAG> <tAG>.
> 
> If not, is there some boundary (e.g. chapter) that is guaranteed to be a 
> well-formed unit?
> And any suggestions on how to manage individual verses that are not well 
> formed?
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page



More information about the sword-devel mailing list