Design of Alph: the default implementations of the interfaces

Text spans

"Normal text spans"

TextSpan TextScrollBlock StdTextSpan PermanentTextScroll TransientTextScroll TextSpan TextScrollBlock StdTextSpan PermanentTextScroll TransientTextScroll alph_textspanimpl_std

URN5 text spans

URN 5 text spans are a relatively new innovation by Benja Fallenstein: instead of really having a permanent block of text, we virtualize it by always providing the text with the span, and use URN-5 ids.

This has both advantages and disadvantages: on the other hand, some things may be spoofed (unless care is taken), but on the other hand, it makes several operations easier, without having to worry about the text blocks.

TextSpan URN5TextSpan TextSpan URN5TextSpan alph_textspanimpl_urn

Fake text spans

Fake text spans are objects that implement the text span interface but are implemented as strings, not permanent media references.

TextSpan FakeTextSpan TextSpan FakeTextSpan alph_textspanimpl_fake

Fake spans are similar to URN5 spans, except that they have no IDs. They are therefore somewhat cheaper but lose the ability to link by transcluding.