Learn More/Contact > InfoML Examples
An InfoML card (also called an infocard) can be very simple or, when desired, very expressive. The following examples show how you can use InfoML to capture a "chunk" of information plus as little or as much metadata (that is, data about the original chunk of information) as you wish.
This page shows only the simplest of examples. To discover the full capabilities of InfoML, please read the InfoML schema file, which is part of the Infocard Organizer distribution.
Capturing a quotation
Although you can use InfoML to capture many kinds of information, the next four examples will show how you can use InfoML to store an exact quotation from a book. These examples use the same quotation to show the flexibility of InfoML in meeting different needs.
The simplest possible infocard
All you need to specify to create a valid standard infocard is:
- the information you want to capture (the content element)
In the example below, this information is highlighted in blue.
<infoml cardId="abbyw.aol.com_101" encoding="UTF-8" version="0.88"><data>
<content>
<p>Then he bends to embrace her... and when he looked at
her, in the whole world was not a young woman of gait
more graceful.</p>
</content>
</data>
</infoml>
The content is wrapped in a p (paragraph) element because an infocard can contain multiple paragraphs of content. But that's not all--the content element can also contain poems, quotations, and tables.
If you're using a data-entry program designed for InfoML, all you have to enter is the text colored in blue; the program will automatically generate everything else. (Note that the value of the cardId element, abbyw.aol.com_101, is the infocard's globally unique ID. You can unambiguously point to any infocard--one created by you or anyone else--by specifying this value.)
An "average" infocard
Many infocards contain additional information:
- a title for the infocard
- the name of the content's author (represented by the agent element)
- an arbitrary number of keywords (i.e., tags)
In the example below, this new information is highlighted in blue.
<infoml cardId="abbyw.aol.com_102" encoding="UTF-8" version="0.88"><data>
<title>Seeing beauty with the inner eye</title>
<content>
<p>Then he bends to embrace her... and when he looked at
her, in the whole world was not a young woman of gait
more graceful.</p>
</content>
<source>
<agent role="author">
<first>Standish</first>
<middle>H.</middle>
<last>Freeman</last>
</agent>
</source>
</data>
<selectors>
<tag>love</tag>
<tag>age</tag>
<tag>inner beauty</tag>
<tag>women</tag>
</selectors>
</infoml>
In this example, you can see the parallels between an infocard and its real-world counterpart, the index card: both have a title and one or more paragraphs of content. Infocards, which are not limited by the size of the index card, can contain additional useful information--for example, an arbitrary number of keywords (in Web 2.0 vocabulary, tags). The creator of the infocard can tag it with words and phrases (note that tags can contain spaces), thus providing a mechanism for categorizing this infocard and for making it easier to find the infocard in the future.
Adding source information
The previous infocard is sufficient if you only want to record the quotation and its author. However, you may someday want to know the source of the quotation and the date this infocard was created on. The infocard that follows adds the following new pieces of data (highlighted in blue):
- the name of the container (in this case, a book) that contains the quotation
- the container's publication date
- the location (page number) at which the quotation is found
- the date of the infocard's creation (the creationDate element)
<data>
<title>Seeing beauty with the inner eye</title>
<content>
<p>Then he bends to embrace her... and when he looked at
her, in the whole world was not a young woman of gait
more graceful.</p>
</content>
<source>
<agent role="author">
<first>Standish</first>
<middle>H.</middle>
<last>Freeman</last>
</agent>
<container>
<containerNamePart>Silva Gadeilica</containerNamePart>
<date role="publication">1803</date>
</container>
<location>
<complexPoint>
<axis unit="volume" value="II"/>
<axis unit="page" value="114"/>
</complexPoint>
</location>
</source>
</data>
<selectors>
<tag>love</tag>
<tag>age</tag>
<tag>inner beauty</tag>
<tag>women</tag>
</selectors>
<properties>
<dateCreated>2003-05-23</dateCreated>
</properties>
</infoml>
Adding more source information
Perhaps the situation surrounding this quotation is a bit more complicated than what you've described so far. You don't have a copy of Silva Gadeilica. In fact, you found this quotation in The Hero with a Thousand Faces, by Joseph Campbell. This situation (of a quotation from book A being found in book B) occurs more frequently than you might expect, and for some situations--academic research, for example--you need to capture identifying information for both sources.
InfoML can handle this--in fact, InfoML has been designed to handle even more complex situations (for example, quoting from a refereed paper found "inside" a published book of collected papers). In this case, Silva Gadeilica is considered to be the quotation's source--that is, the place from which the quotation ultimately originated. In contrast, The Hero with a Thousand Faces is the book in which the quotation was actually found.
The infocard that follows adds the following new pieces of data (highlighted in blue):
- the name and publication date of the book within which the quotation was actually found
- the page number of the quotation within the origin book
- the dates at which the infocard was modified
<infoml cardId="abbyw.aol.com_104" encoding="UTF-8"
version="0.88">
<data>
<title>Seeing beauty with the inner
eye</title>
<content>
<p>Then he bends
to embrace her... and when he looked at
her, in the whole world was
not a young woman of gait
more graceful.</p>
</content>
<extendedSource>
<source>
<agent role="author">
<first>Standish</first>
<middle>H.</middle>
<last>Freeman</last>
</agent>
<container>
<containerNamePart>Silva
Gadeilic
</containerNamePart>
<date role="publication">1803</date>
</container>
</source>
<foundIn>
<agent role="author">
<first>Joseph</first>
<last>Campbell</last>
</agent>
<container>
<containerNamePart>The Hero with a Thousand
Faces</containerNamePart>
<date role="publication">1968</date>
</container>
<location>
<point unit="page" value="117"/>
</location>
</foundIn>
</extendedSource>
</data>
<selectors>
<tag>love</tag>
<tag>age</tag>
<tag>inner beauty</tag>
<tag>women</tag>
</selectors>
<properties>
<dateCreated>2003-05-23</dateCreated>
<dateModified>2004-01-07T11:15:04</dateModified>
<dateModified>2004-01-07T12:42:38</dateModified>
</properties>
</infoml>
The InfoML schema includes many more elements that
may be called upon as needed. However, as the first example shows,
users with simple needs can create valid InfoML content using only a
handful of elements.