trusty (3) HTMLDocument.addInlineElementAt.3kaya.gz

Provided by: kaya_0.4.4-6ubuntu3_amd64 bug

NAME

       HTMLDocument::addInlineElementAt - Wrap existing text in an inline element

SYNOPSIS

       ElementTree addInlineElementAt( ElementTree block, InlineElement inline, Int startpos, Int endpos )

ARGUMENTS

       block The element to add to

       inline The inline element to add

       startpos The start position for the inline element

       endpos The end position for the inline element

DESCRIPTION

       Encloses existing text within an element within an inline element. The characters from startpos to endpos
       inclusive (with a starting index of zero) will be included in the inline element.

    p = addParagraph(parent,"abcdefghijklmnopqrstuvwxyz");
    void(addInlineElementAt(p,Emphasis,5,10));
    void(addInlineElementAt(p,StrongEmphasis,6,8));
    // <p>abcde<em>f<strong>ghi</strong>jk</em>lmnopqrstuvwxyz</p>

       An HTMLDocument.InvalidNesting (3kaya) Exception will be thrown if the  element  being  added  to  cannot
       contain    inline    elements,    or   an   impossible   nesting   situation   would   be   created.   An
       HTMLDocument.InvalidRange (3kaya) Exception will be thrown if the startpos or endpos are outside the text
       contents of the block.

    p = addParagraph(parent,"abcdefghijklmnopqrstuvwxyz");
    void(addInlineElementAt(p,Emphasis,5,10));
    void(addInlineElementAt(p,StrongEmphasis,6,15));
    // exception thrown

       The firstOccurs function is useful for highlighting a particular word within a string.

    haystack = getAllText(element);
    npos = firstOccurs(needle,haystack);
    if (npos < length(haystack)) {
        try {
            added = addInlineElementAt(element,Emphasis,npos,npos+length(needle)+1);
        } catch(InvalidNesting(details)) {
            // probably overlapping elements
        }
    }

AUTHORS

       Kaya  standard  library  by  Edwin  Brady,  Chris  Morris  and  others  (kaya@kayalang.org).  For further
       information see http://kayalang.org/

LICENSE

       The Kaya standard library is free software; you can redistribute it and/or modify it under the  terms  of
       the  GNU  Lesser  General  Public  License  (version  2.1  or any later version) as published by the Free
       Software Foundation.

       HTMLDocument.InlineElement (3kaya)
       HTMLDocument.appendInlineElement (3kaya)
       Strings.firstOccurs_1 (3kaya)