Step shift-string-set {http://www.daisy.org/ns/pipeline/braille-css}

Move 'string-set' declarations to inline boxes.

Defined in: http://www.daisy.org/pipeline/modules/braille/css-utils/library.xpl

Input Ports

Port Description
source primary

Boxes must be represented by css:box elements. All block boxes must have at least one descendant inline box and inline boxes must have no descendant block boxes. 'string-set' properties must be declared in css:string-set attributes, and must conform to http://braillespecs.github.io/braille-css/#the-string-set-property.

Output Ports

Port Description
result primary

For each element in the input that has a css:string-set attribute and is not a descendant of an inline box and not an inline box itself, the attribute is moved to the first descendant or following inline box within the same block (which may be the element itself). If there is no such element, the attribute is placed on an empty css:_ element inserted as the last child of the last preceding inline box (in the same block). In the former case, if the attribute is moved to a css:box element that already has a css:string-set attribute in the input, the 'string-set' declarations are prepended to it.