SourceForge has been redesigned. Learn more.

#146 Restrictive content model of label


<label> appears to me to have an overly restrictive content model. For instance, it will not allow <bibl>. Different types of lists might often include in <label> elements an author/title, which could/should be wrapped in a <bibl>. Also, <soCalled> is allowed, but <q> is not. This seems wrong too. I'm using an odd, generated by the most recent version of Roma (as of today's date) using the more recent version of P5 (as of today's date).


  • Lou Burnard

    Lou Burnard - 2010-01-14
    • milestone: --> AMBER
  • Lou Burnard

    Lou Burnard - 2010-01-14

    <label> is defined as containing macro.phraseSeq, as are most other phrase level elements. <q> and <bibl> are "inter" level which is why they're not permitted here. Can you show us some real examples in which you'd want to put a <bibl> into a <label> ? It seems unlikely to me.

  • Nobody/Anonymous

    Here is my use case needing <bibl> inside of <label>. I have a chronology of an author's life, represented as a table. Every row in the first column is a year of the author's life. Each cell of the second column contains a gloss list (e.g., (<label>,<item>)+) of events for the corresponding year author's life. In the gloss list the <label> is a short label for the event, the <item> is a gloss with further detail about the event. Some of the events in the author's life are the publications of his works. So some <label>s contain <title>s. If I just needed titles I could get by without the <bibl>. But I have a third column, which provides the literary context for the author's life and includes the publication of major works by other authors, so there I have <author> and <title> in a <label>. And where more than one related bibliographic element appears in a text, my preference is to wrap them in a <bibl> to make the relationship explicit. A fourth column includes the historical and cultural context for the author's life, and so some <label>s there include titles of paintings (<title>) and artists (<respStmt>), which I also would prefer to wrap in a <bibl>.

    And can we agree that where <soCalled> is allowed, <q type="soCalled"> should also be allowed? :-)

  • John A. Walsh

    John A. Walsh - 2010-01-15

    I forgot to log in when commenting. The comment from "nobody" (a real boost to my self-esteem) on 2010-01-15 15:52 is from me, the original poster of the issue.

  • Syd Bauman

    Syd Bauman - 2010-01-16

    So this raises two issues:
    1) Why is model.qLike a member of model.inter? At first glance, seems silly to me. model.quoteLike, yes, but qLike?
    2) Why wouldn't members of model.inter be allowed in <label>? The members of model.inter are those things that are allowed inside paragraphs (as well as elsewhere) — shouldn't stuff that can go in a paragraph be able to go in a label inside said paragraph? (In truth, I'm hard pressed to come up with a reason to have a <table> in a <label>, but I'm asking in the big picture such that a singe counter-example doesn't really address the issue satisfactorily.)

  • Lou Burnard

    Lou Burnard - 2010-02-07

    I think this is a misuse of <label> It's really just meant to contain a short phrase or, um, label for an item in glossary lists, which are very simple cases of tables (as it says somewhere). Surely, if you have a four column table, wouldn't it be better to encode it as a table, rather than trying to squash it into a list? Or have I misunderstood the use case?

    To answer Syd's questions: qLike is in model inter for compatibility with quoteLike, since the two are structurally (if not semantically) identical. And model inter isn't allowed in phrase-level elements because only some of its members can appear there.

  • John A. Walsh

    John A. Walsh - 2010-02-07


    Indeed the data is encoded as a four-column table. The first column contains dates—one year in each cell. Every cell of the second, third, and fourth columns contains a gloss list of events that occur in that year. Sometimes an "event" is the publication of a text, which is why I was wanting <bibl> in <label>.


  • Syd Bauman

    Syd Bauman - 2010-02-07

    In response to Lou’s reply …

    I am not sure in what respect model.qLike and model.quoteLike are structurally similar. Indeed, I thought they were separate classes precisely because they are semantically different. model.quoteLike contains only things that go inside or between paras (<quote>, <cit>), whereas model.qLike also contains things that (IMHO) should not go between paras (<q>, <said>).

    I don’t think model.qLike should be a member of model.inter — I think it is model.quoteLike that should be a member of model.inter.

    As for John's problematic table with gloss-lists inside that have bibls-in-label, I'm not sure what to do. Personally, I'm not very fond of the label-item pairs model of a list, and might be inclined to encode something like this using <label> or <bibl> as the first child of <item>. That said, I'm not sure there's a really good reason *not* to have <bibl> in <label>. And certainly <q> should be allowed in <label>, since <hi> is. Just my 2¢.

  • Lou Burnard

    Lou Burnard - 2010-04-30
    • status: open --> closed
  • Lou Burnard

    Lou Burnard - 2010-04-30

    Council sees no need to change content model of <label> at this time.