The order of attributes within any XML element is immaterial as far as how XML is used by computers.
Even so, it makes a significant difference to the readability of OSIS XML to human beings. Improving readability can bring further practical benefits. Our SFM to OSIS converters (usfm2osis.py & .pl) have always generated the chapter and verse start milestone with osisID before sID. To my way of thinking this is less than ideal. Call it a personal preference if you like, but I think it's more "logical" for sID to come before osisID. The main advantage is that when the XML is suitably "prettified", most of the sID milestones align much better with the eID milstones. e.g. <verse sID="Gen.9.8" osisID="Gen.9.8" n="8"/>A dyma Duw yn dweud wrth Noa a'i feibion, <verse eID="Gen.9.8"/> <verse sID="Gen.9.9" osisID="Gen.9.9" n="9"/>“Dw i am wneud ymrwymiad i chi a'ch disgynyddion, <verse eID="Gen.9.9"/> When this kind of symmetry is preserved it also makes things easier for debugging conversion and postprocessing scripts. The symmetry is even more clearly desirable when faced with a verse range. e.g. <verse sID="Num.13.4-15" osisID="Num.13.4 Num.13.5 Num.13.6 Num.13.7 Num.13.8 Num.13.9 Num.13.10 Num.13.11 Num.13.12 Num.13.13 Num.13.14 Num.13.15" n="4-15"/>Dyma'u henwau nhw: ...... <verse eID="Num.13.4-15"/> If you know that sID is the first attribute in the verse element, it should make it easier to design postprocessing scripts, such as those needed to fix references. It's also more sensible to keep sID and eID to this shorter form, rather than the verbose form that is currently generated by usfm2osis.py for such verse ranges, in which the sID is a copy of the osisID. That's one of the aspects in which u2o.py is an improvement over usfm2osis.py That's the rationale - I hope everyone approves. I've not thought of any strong argument against it. I have already made this change in my working copy of u2o.py (provisionally called u2o2.py). [As yet, I'm not working on a github fork.] And yes, I have adjusted ALL the other parts of the script that used expressions like lines[i].startswith('<verse osisID') as part of the subsequent decision making. Finally (btw) having sID before osisID also matches what we documented in our wiki page for OSIS Bibles. http://www.crosswire.org/wiki/OSIS_Bibles#Body Best regards, David -- View this message in context: http://sword-dev.350566.n4.nabble.com/The-relative-order-of-osisID-and-sID-in-chapter-verse-milestones-tp4655662.html Sent from the SWORD Dev mailing list archive at Nabble.com. _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page