braillespecs / pef

Portable embosser format
http://braillespecs.github.io/pef
3 stars 4 forks source link

Support unknown elements inside rows #14

Open joeha480 opened 7 years ago

joeha480 commented 7 years ago

Currently, unknown elements are not supported inside rows (as they are inside pages, sections and volumes). This is partly due to a limitation in RNG.

mvahowe commented 7 years ago

I am working on a project involving braille Bibles, for which we have added markup inside rows to show how the braille corresponds to the original text. We do this by adding namespaced empty "milestone" elements to show the start and end of books, chapters, verses and headings within row elements. The resulting XML is not valid according to the PEF RNG schema.

If supporting arbitrary elements inside rows is a challenge, an alternative (inspired by a suggestion from @joeha480) would be to add a couple of elements to the PEF schema, eg

<span type="app-specific-value">bla bla in braille unicode</span>

and

<a type="startChapter" value="MAT 14"/>

Spans would have similar semantics to those in HTML, ie default processing would be to ignore the tag and process its content. The a element would be for milestones that mark a point in the document but do not enclose anything, and default processing would be to ignore them. The values of the type and value attributes would be open (but it would probably make sense to restrict \@type to something NCName-like.)

joeha480 commented 6 years ago

@mvahowe What do you think about #15. Would the proposed solution suit you as well?