Rob Ermers said this at Sat, 15 Jan 2005 02:31:32 +0100:
h h extern wrote:
if you want to move things around in an encoding neutral way:
\defineXMLsingular [c] [n=unknowncharacter] {\executeifdefined {\XMLop{id}} \unknowncharacter}
<c n='eacute'/>
Um, I'm not sure, but I think Hans mixed two different attribute names: the code won't work as is. It should probably be: \defineXMLsingular [c] [n=unknowncharacter] {\executeifdefined {\XMLop{n}} \unknowncharacter}
Thanks, Hans, for the example. I do agree, but I'm sorry I don't quite understand how to apply this code. Could you be more specific?
It should be in a .tex file that is loaded during processing. You can do this manually in your style file, or in (for example) a cont-loc.tex file that's in your path (e.g., the project directory or your tex/context/user ).
Do I still have to use the unicode number, or is this a method to use \"e again in the database?
This is so that you can substitute elements for entities in your database. This is an XML database, so it's a lot more useful if you don't restrict it to TeX-specific character entry. Entities (or elements) are a much better option, long-term.
Should I code each diacritic in this way, such as ouml (รถ) in my example: <p>J. Schöttelndreher</p>)?
<p>J. Schöttelndreher</p> or, if you \useXMLfilter[ent] : <p>J. Schouml;ttelndreher</p> or, with Hans's definition: <p>J. Sch<c n='odiaeresis'/>ttelndreher</p>
My solution by the way does not work with, e.g., a Turkish scedil (U0015F) in my database, while Tex excells in all kinds of diacritics.
This is a slightly different issue. It's fairly easily fixed with a couple additions to the style file/cont-loc file: % You can use ş with: \defineXMLentity [Scedil] {\Scedilla} \defineXMLentity [scedil] {\scedilla} % You can use ş or other unicode (decimal) numbers with: \def\executeXMLdeccharacter#1\relax % {\utfunifontglyph{#1}} (I was unable to come up with a satisfactory way of handling the hex version thereof. I also haven't really tested the above function overload--I'm sure someone can improve on this.) -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Adam T. Lindsay, Computing Dept. atl@comp.lancs.ac.uk Lancaster University, InfoLab21 +44(0)1524/510.514 Lancaster, LA1 4WA, UK Fax:+44(0)1524/510.492 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-