Idea Delivered

XPP 9.3 contains the new XPP-specific -xpp-text-set CSS property to capture the text content of an XML
element from the main content stream. Then you can use the new XPP-specific -xpp-text() function in
the content CSS property of the tag:before or tag:after CSS pseudo-element to call out the text
content of the captured XML element.

need CSS properties and values to address named text registers without having to escape to perl

Why

In the current CSS implementation we need to escape to perl whenever we want to set or read a text register.
And the text register are addressed using numbers.
None of that is particularly efficient or user friendly.

Implementation

I would like to propose the following 2 xpp properties that allows us to set the content of text register:

  • -xpp-text-register-start: <name>
    starts the capture of the text into a named text register
  • -xpp-text-register-end: <name>
    stops the capture of the text into a named text register

Remarks:

  • The display property will define if the text is printed and stored (= cs macro) or just stored and suppressed (=px macro) 
  • These properties can only be used in the main text and will always store the text in both a dynamic and frills text registers (just to make it easy on the user)

Reading back the content of the register is done through the -xpp-text-register(name, <instance>) in a before: or after: pseudo selector

Goals

  • keep as much of the styles setup in the CSS stylesheet
  • make it possible for the novice user to use text registers without having an intimate knowledge of how text registers work in XPP
  • enhance composition speed as there is no need to escape to perl
Parents
  • in order to make this work really like the CSS standard, we will also need a more simple way of defining a text register using the following property:

    (see www.w3.org/.../ for that part of the CSS standard)

    h1 {

    string-set: header-register content();

    }

    this would store the content of this element into a register called 'header-register'

Comment
  • in order to make this work really like the CSS standard, we will also need a more simple way of defining a text register using the following property:

    (see www.w3.org/.../ for that part of the CSS standard)

    h1 {

    string-set: header-register content();

    }

    this would store the content of this element into a register called 'header-register'

Children
No Data