Differences in format - lexicon app created from XHTML

I’m trying to build some dictionary apps using the XHTML output from FLEx, as we have some very specific format requirements. My understanding is that whatever dictionary configuration format you build in FLEx should be represented in the XHTML output, and also in the data format in the app.

What we have set up in the dictionary configuration is shown with this image:

If we export to XHTML and open the XHTML file in a browser, we get this on the screen:

So far so good. But then when I load the XHTML into a DAB app, this is what I get:

That’s pretty close. But ignoring the font differences (which I can adjust as desired in the app configuration), there are still a few differences. The /A around “de l’arabe” to make a new line isn’t being used. And the “sens:” section is indented (and isn’t in the XHTML), and “variante:” shold be indented farther than “sens:”.

Is there something that I can do to make the output look closer to what it should, or am I coming across bugs that need to be fixed?

And one more thing… The “avec verbe auxiliare:” is not in italics. This is a style which is defined in the ProjectDictionaryOverrides.css file, as follows:

.entry> .auxiliare> span:first-child:before{
		content:'\A avec verbe auxiliaire: ';

Can someone confirm that the overrides are indeed taken into account in the DAB import?

Can you share your project with me? XHTML in DAB does do some things different to what the CSS says.

I’ve sent you a link, Ian. Looking closer, my guess is that the ProjectDictionaryOverrides.css file is NOT taken into account, because it isn’t even copied into the “lexicon” folder in the DAB project folder.

For the avec verbe auxiliaire look in the Imported Styles tab for:
.entry> .auxiliare> span:first-child:before
Modify that style so font-style: italic

For the de l’arabe if you add a style in Modifications tab:
Style Name .etymologies
And in the CSS put:

.etymologies {
    display: block;
    padding-left: 14px;


You may need to adjust the padding-left to that style too.

I appreciate your willingness to look into this, Ian. And I certainly can play around with the styles to make things look more like I need them to look. But that begs the question: Why is the output from DAB different than the format within FLEx? I can understand if the overrides are not handled that there would be some differences. (That should be considered a bug, by the way…) But this block stuff that you are suggesting that I need to do - that should be handled automatically by DAB, should it not? Both are using HTML and CSS to display the entry, so can’t we make it so that there is a seamless transition between the dictionary format in FLEx and the entry layout produced by DAB, so they are the same? It seems like that should be what we want to shoot for.

I have been bothered by this same issue, the fact that DAB does not reproduce exactly what I have configured in FLEx and would see this as something to get fixed urgently in DAB. Is this really difficult to implement?
I greatly appreciate what you are doing and have enjoyed making dictionary apps with DAB.

1 Like

Similarly for the POS info:
Add Style
And in the CSS:

.sharedgrammaticalinfo {
    padding-left: 14px;

Also add:
And in the CSS:

.lexsensereferences {
    padding-left: 21px;

I will look at the other CSS files and see why they are not being included. As a work around you could combine all CSS files into the one that is included. But I think you will need to start a new project.

I have now figured out how to inlcude images in this tool.
Here is what the configured view looks in FLEx (several entries) and below how the chɔŋ entry is displayed in DAB.

My problem is that I have no idea why this should be such a discrepancy, nor what I need to do to get the same result in the dictionary app. Is this a bug? Or do I need to learn more about how to create apps.

You are asking why is the XHTML representation in DAB different?

Flex follows a traditional presentation model in their XHTML output = Print model: use abbreviations, minimize white space and save paper.

Digital dictionaries are not bound to that traditional (print) model. Why preserve the limitations of a print dictionary on a digital dictionary? What is more important the information or the preservation of print centric formatting? Who is the target audience, the lexicographer or the people group?

You have to learn to read a dictionary, (what does v. mean) so if we can eliminate abbreviations and spread out the information, it may be easier to learn to read and find the information you want.

Print dictionaries have space limitations. Digital dictionaries don’t. Let’s not take an excellent model for one form (print) and assume it is an excellent model for another form (digital).

Yes DAB output is different to the look in Flex. I hope you can understand why that is. Maybe we should ask why Flex can’t output a more digital format?

I’m finally getting around to playing with this again. Your suggestions were very helpful, and I was able to do a number of changes on my own. But I’m having some difficulty with a couple of things:


  1.  I don’t know why the POS (verbe nominal) is indented a bit – I thought there was space as content, but removing that didn’t fix the problem.
  2.  The “voir aussi:” should be under the a), as it is part of the sense.
  3.  I can’t figure out why the example in quotes is going onto a new line after the “example:” tag.

Any thoughts about those things?

You are in XHTML.

  1. In many/most models the POS is part of the sense not part of the initial information. I think the indentation is set for that placement.

  2. Are you saying the “voir aussi:” section should be higher up, it is under the a) section, so I am not sure I follow what you want.

  3. My guess is that the French double quotes are fixed to the preceding word with a non-breaking space. Thus making the word too long for the space.