This is also a very nice example of small blueprint with a well-defined domain. It is and endpoint blueprint, meaning it has no output terminals.
<div id="bulletlist"
impl="~017F54FD5052D4410dB7A34CB8A523E375"
script="http://localhost/BulletList.js">
<ul>
</ul>
</div>
Upon initiation, it finds the DOM node where it was defined and checks if it already wraps a UL element, which is created otherwise.
If the input message is a single text string or an array of text strings, a LI element will be created for each item,
If objects are passed (either singly or in an array) they can be represented as a string or they may have attributes such as
"uri", "name", "description", and "text_content" ( i.e. {"uri" : http://www.maya.com/, "name" : "Item Name", "text_content" : Extra text content", "description":"Description"} )
This is a very typical object structure used by many of the sample infotrons included in the standard distro.
If the object has just a name, the name will be rendered as an item of the bulleted list, if it also has a uri, then the name will be hyperlinked to it. If there is the text_content attribute, then a ":" will be appended to the list item followed by the string stored in "text_content". If the "text_content" is missing, it will use what is i in"description" instead. ( i.e.
<a href="http://www.maya.com/">Item Name</a>: Extra text content )