[HN Gopher] Overlapping Markup
___________________________________________________________________
Overlapping Markup
Author : ripe
Score : 47 points
Date : 2026-01-18 10:37 UTC (12 hours ago)
(HTM) web link (en.wikipedia.org)
(TXT) w3m dump (en.wikipedia.org)
| tannhaeuser wrote:
| FIY the Wikipedia article rightfully says SGML CONCUR usage is
| uncommon, but compared to the stated alternatives for overlapping
| markup, it's basically the only one that is tolerable to use as
| actual markup language for use with a text editor. This is what
| it looks like: <!doctype d -- element decls for
| a, b ... --> <!doctype e -- element decls for a, x ...
| --> <(d|e)a> <(d)b>bla bla <(e)x>bla </(d)b>
| bla</(e)x> </(d|e)a>
|
| where the third "bla" span is marked up with overlap.
|
| Basically, in case you've ever wondered, SGML CONCUR is the only
| reason that the element name in end-element tags needs to be
| specified. In strictly nested markup (XML) it always must refer
| to the most recently opened start-element tag hence it's
| redundant. SGML actually has "</>" but it didn't make it into
| XML.
| jancsika wrote:
| Music has a lot of these. A fugue subject may traverse the
| boundaries between two metric groupings, _and_ between two clear
| sections of the form.
|
| There are also non-contiguous examples. Smack in the middle of
| Wagner's _Tristan und Isolde_ you hear the final theme that
| signals they are about to win the main boss battle. Then one of
| the NPCs screams _right before the final chord_. The audience
| instead hears the danger signal and realizes it was a fake boss
| and there 's another two hours of game play. Only when Isolde
| beats the final boss at the end do we get the final chord.
| ramblurr wrote:
| It also affects the digital markup of music. Music can't be
| expressed with a tree structure as there is lots of overlap.
|
| A simple example is a slur. It crosses bar lines. <bar1> ...
| <slur> ... </bar1> ... </slur> <bar2> uhoh!
|
| In fact there are many mutually incompatible hierarchies in
| music engraving.
|
| It's funny though MusicXML is a popular interchange format, but
| internally looks nothing like what one would naively expect.
| afandian wrote:
| Ditto control flow. It's tempting to think of repeat bars, DC
| al fines, codas etc hierarchical structures when in fact they
| are imperative GOTOs and always have been.
| bfgeek wrote:
| HTML parsing supports some of this, e.g: text
| <b>bold <i>bold-italic</b> italic</i>
| dorianmariecom wrote:
| that becomes: text <b>bold <i>bold-
| italic</i></b><i> italic</i>
| moralestapia wrote:
| Yeah. After parsing.
| gegtik wrote:
| Naturally this makes me think of the brilliant Justine Tunney's
| https://justine.lol/ape.html /
| https://github.com/jart/cosmopolitan / https://redbean.dev/
| frizlab wrote:
| Wow I did not know this thing that was a bit hard to implement in
| my project[0] had a name!
|
| Basically you can, with my lib, define the tokens `*` and `_` (or
| anything else) to resp. make text go bold and italic, and use it
| as such: This text is *bold _and* italic_!
|
| [0] https://github.com/Frizlab/XibLoc (Readme is lacking...)
___________________________________________________________________
(page generated 2026-01-18 23:00 UTC)