Re: [NTG-context] CSS selector for elements strictly preceded by other elements
On 8/3/2018 4:31 PM, MF wrote: make a (real) minimal example and we'll see what can be done Here it is: \startbuffer[test] In this paragraphfirst footnoteendnote strictly following a footnote (no other XML nodes between them) a footnote marker and an endnote marker are at the same point in the text; in the XML source, their elements are contiguous, with nothing in between. The CSS selector footnote + endnote works right, and the setup associated to that selector puts a comma between their markers to separate them in the typesetting. In this paragraphsecond footnote they don't occur at the same point in the textendnote comes after footnote: there's some text between them, but no XML elements; for the CSS selector footnote + endnote it's the same case of the previous paragraph, because there's no other XML element between the footnote and the endnote elements: that's why you still see a comma before the endnote's marker, but this time it's not what I want. In this paragraphthird footnote they don't occur at the same point in the text, and the CSS selector footnote + endnote does not matchendnote comes after footnote, but there are 3 nodes between them: a text, a code element, another text, because there's a code element between footnote and endnote elements. CSS has no operator to discriminate between the first two cases. \stopbuffer \setupnotation[footnote][numberconversion=a] \setupwhitespace[line] \startxmlsetups xml:notesetups \xmlsetsetup{#1}{body|p|footnote|code}{xml:*} \xmlsetsetup{#1}{{endnote}}{xml:endnote} \xmlsetsetup{#1}{{footnote + endnote}}{xml:endnote-after-footnote} \stopxmlsetups \xmlregistersetup{xml:notesetups} \startxmlsetups xml:body \xmlflush{#1} \stopxmlsetups \startxmlsetups xml:p \xmlflush{#1}\par \stopxmlsetups \startxmlsetups xml:footnote \footnote{\xmlflush{#1}} \stopxmlsetups \startxmlsetups xml:code {\tt\xmlflush{#1}} \stopxmlsetups \startxmlsetups xml:endnote \endnote{\xmlflush{#1}} \stopxmlsetups \startxmlsetups xml:endnote-after-footnote \high{,}\endnote{\xmlflush{#1}} \stopxmlsetups \starttext \xmlprocessbuffer{main}{test}{} \page \placenotes[endnote] \stoptext The obvious ... \setupnotes[textseparator={, }] \startxmlsetups xml:notesetups \xmlsetsetup{#1}{body|p|footnote|endnote|code}{xml:*} \stopxmlsetups \startxmlsetups xml:endnote \endnote{\xmlflush{#1}} \stopxmlsetups \startxmlsetups xml:footnote \footnote{\xmlflush{#1}} \stopxmlsetups -- - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
Re: [NTG-context] CSS selector for elements strictly preceded by other elements
> make a (real) minimal example and we'll see what can be done > Here it is: \startbuffer[test] In this paragraphfirst footnoteendnote strictly following a footnote (no other XML nodes between them) a footnote marker and an endnote marker are at the same point in the text; in the XML source, their elements are contiguous, with nothing in between. The CSS selector footnote + endnote works right, and the setup associated to that selector puts a comma between their markers to separate them in the typesetting. In this paragraphsecond footnote they don't occur at the same point in the textendnote comes after footnote: there's some text between them, but no XML elements; for the CSS selector footnote + endnote it's the same case of the previous paragraph, because there's no other XML element between the footnote and the endnote elements: that's why you still see a comma before the endnote's marker, but this time it's not what I want. In this paragraphthird footnote they don't occur at the same point in the text, and the CSS selector footnote + endnote does not matchendnote comes after footnote, but there are 3 nodes between them: a text, a code element, another text, because there's a code element between footnote and endnote elements. CSS has no operator to discriminate between the first two cases. \stopbuffer \setupnotation[footnote][numberconversion=a] \setupwhitespace[line] \startxmlsetups xml:notesetups \xmlsetsetup{#1}{body|p|footnote|code}{xml:*} \xmlsetsetup{#1}{{endnote}}{xml:endnote} \xmlsetsetup{#1}{{footnote + endnote}}{xml:endnote-after-footnote} \stopxmlsetups \xmlregistersetup{xml:notesetups} \startxmlsetups xml:body \xmlflush{#1} \stopxmlsetups \startxmlsetups xml:p \xmlflush{#1}\par \stopxmlsetups \startxmlsetups xml:footnote \footnote{\xmlflush{#1}} \stopxmlsetups \startxmlsetups xml:code {\tt\xmlflush{#1}} \stopxmlsetups \startxmlsetups xml:endnote \endnote{\xmlflush{#1}} \stopxmlsetups \startxmlsetups xml:endnote-after-footnote \high{,}\endnote{\xmlflush{#1}} \stopxmlsetups \starttext \xmlprocessbuffer{main}{test}{} \page \placenotes[endnote] \stoptext ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
Re: [NTG-context] CSS selector for elements strictly preceded by other elements
On 8/2/2018 10:20 AM, MF wrote: Hello list, please consider these XML snippets: some text some textblah blahsome other text now apply these CSS selectors to them: e ~ f matches all e + f matches the first and the third There's no CSS selector to match ONLY the third. But i have a use case for that: sometimes i have endnote markers that immediately follow footnote markers. Since -- in my layout -- footnotes have letter markers and endnotes numbers, it results in something like "c30" in superscript. It would be nice putting a comma between them ("c,30") or a thin space, but the "e + f" selector does not discriminate between: blah blah and blah blah some other text it would match both, but it's only the first one that i want to catch. I'd suggest a non-standard "e ++ f" operator. Would you prefer a lpath expression (which one)? make a (real) minimal example and we'll see what can be done Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
[NTG-context] CSS selector for elements strictly preceded by other elements
Hello list, please consider these XML snippets: some text some textblah blahsome other text now apply these CSS selectors to them: e ~ f matches all e + f matches the first and the third There's no CSS selector to match ONLY the third. But i have a use case for that: sometimes i have endnote markers that immediately follow footnote markers. Since -- in my layout -- footnotes have letter markers and endnotes numbers, it results in something like "c30" in superscript. It would be nice putting a comma between them ("c,30") or a thin space, but the "e + f" selector does not discriminate between: blah blah and blah blah some other text it would match both, but it's only the first one that i want to catch. I'd suggest a non-standard "e ++ f" operator. Would you prefer a lpath expression (which one)? Greetings, Massi ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___