An
XML translation of Dan Graham's Schema
In 1966 conceptual
artist Dan Graham composed a language based work entitled Schema.
The artwork consisted of a formal procedure for how to describe a
document, or a "set of pages," with no real reference to the content of
that document. This schema, as he called it, shares a remarkable
similarity with XML, invented over 30 years later. The conceptual
artists of the late 1960's and early 1970's were interested in the nonvisual
abstraction of art and how artworks might be represented as information. Using
language in a non-literary and non-poetic manner, they sought to continue the
tradition of visual artists in a search for abstraction and minimalism. Many
conceptual works of this time were simply words on paper, instructions, or thought
experiments. Schema allowed
the viewer to be aware of the material nature and structure of the document
they were holding -- as well as any document they might hold. Using XML, I have created a machine-readable translation of his important
1966 work. Schema was
originally published in issue 5+6 of Aspen magazine. It is now being archived
at UbuWeb and can be viewed here. The
Translation Rather than starting
from a group of documents or a particular domain, I wanted to translate this pre-existing
conceptual writing into either a valid XML DTD or schema. Using an XML schema to accomplish
this was tempting, mostly because Graham used the word schema to describe his
approach and it seemed tidier to use an XML schema to do the translation. However
I wanted this translation to be accessible and I felt DTDs were much more readable to the layperson. Though DTDs
are less powerful and their usefulness is being questioned, their internal logic
can be easily grasped. Therefore my conceptual translation was done as a DTD. Since Graham, in
his instructions for Schema,
called it a schema for a "set of pages," that is what I've named my
DTD. In Graham's original text, the elements were not in a specific
order. The most difficult part of the translation was converting
Graham's loose structure to the strict nested structure of XML. I
think
it works because it starts by describing the structure of the page
itself then moves to the text and then to the structure of the text. To
make the XML work, in certain places it was
required that I invent descriptions where Graham had none. I invented
the <DATA> tag to hold the content of <WORD>. In addition,
I
needed to add an NA attribute since many of the parts of speech were
not covered in Graham's original work. SET_OF_PAGES.dtd
<?xml
version="1.0" encoding="UTF-8"?>
At this
point the mission has been accomplished. This DTD expresses what Graham expressed
in 1966 and I have a machine-readable version of his original work. It's interesting
to note that Graham leaves out several descriptions that would be useful for
a functioning XML document, such as a provision for verbs. I've attempted to stay true to his
original vision as closely as possible. The project doesn't need to be carried
out further, but it would be interesting to actually apply it to some documents. The
Application I
was tempted to mark up Graham's original document to continue in the
conceptual tradition of reflexivity. However for ease of use and
greater comprehension, I've marked up a couple of simple nursery
rhymes. I was
afraid, with the complexity of XML and the DTD, that being too
self-referential would
just add to confusion. Also, because Schema called for the description
of each and every word in a document, this would have been an extremely daunting
task to mark up more than a few sentences. The domain of documents that this project
calls for is literally any printed set of pages, so anything on paper can work.
I typed out a couple of my favorite small rhymes to which to apply the DTD. Poem
#1
Fee! Fie! Foe!
Fum!
Poem #2
Birds of a feather
flock together,
The task here is
to represent the children's poem in XML, paying attention to what Graham was
paying attention to in 1966. We must be aware of paper stock, font, parts of
speech, etc. We must also be able to view the XML poem in a format that is the
same as the original document. This was accomplished by transforming the XML
file into HTML via a cascading style sheet. To determine the
part of speech of each word, I used the Parts
of Speech Tagger developed by the Specialized Information Services Division
(SIS) of the National Library of Medicine (NLM). Here is the XML
translation of Poem #1 utilizing the XML DTD translation of Graham's conceptual
artwork.
<?xml
version="1.0" encoding="UTF-8"?>
Here is the XML
translation of Poem #2 utilizing the XML DTD translation of Graham's conceptual
artwork.
<?xml
version="1.0" encoding="UTF-8"?>
The documents are
represented the way Graham set in Schema, but to display it in it's original
form in HTML, we need to use either XSLT or CSS to transform it. In this case
I used CSS for its ease of use. Here is the style sheet I wrote to do this. page.css
/*
CSS Document */
Now,
when you view the XML documents using the latest web browsers, they should appear
in their original form. However they contain much more information, as detailed by Dan Graham almost 40 years
ago. visit rhizome.org project page
(http://www.mbutler.org/schema/SET_OF_PAGES.dtd)
<!ELEMENT PAGE (TEXT)>
<!ATTLIST PAGE
PERIMETER CDATA #REQUIRED
PAPER_STOCK CDATA #IMPLIED
PAPER_WEIGHT CDATA #IMPLIED>
<!ELEMENT TEXT (COLUMN+)>
<!ATTLIST TEXT
PERCENT_OF_PAGE CDATA #REQUIRED
FONT CDATA #REQUIRED
DEPRESSIONS_ON_SURFACE CDATA #IMPLIED
FONT_SIZE CDATA #REQUIRED>
<!ELEMENT COLUMN (LINE+)>
<!ELEMENT LINE (WORD+)>
<!ELEMENT WORD (DATA)>
<!ELEMENT DATA (#PCDATA) >
<!ATTLIST WORD
CAPITALIZED (YES | NO) "NO"
ITALICIZED (YES | NO) "NO"
NUMBER_OF_LETTERS CDATA #REQUIRED
PART_OF_SPEECH (ADJECTIVE | ADVERB | CONJUNCTION | GERUND | INFINITIVE | NOUN
| MATH_SYMBOL | NUMERAL | PREPOSITION | PRONOUN | PARTICIPLE | NA) "NA">
12 point Arial font on normal office paper
I smell the blood of an Englishman.
Be he 'live or be he dead,
I'll grind his bones to make my bread.
12 point Arial font on normal office paper
And so will pigs and swine;
Rats and mice will have their choice,
And so will I have mine.
fofum.xml
(http://www.mbutler.org/schema/fofum.xml)
<!DOCTYPE PAGE SYSTEM "http://www.mbutler.org/schema/SET_OF_PAGES.dtd">
<?xml-stylesheet type="text/css" href="page.css"?>
<PAGE PERIMETER="20625 mm" PAPER_STOCK="30% recycled"
PAPER_WEIGHT="75 g">
<TEXT PERCENT_OF_PAGE="20" FONT="ARIAL"
FONT_SIZE="12">
<COLUMN>
<LINE>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>Fee!</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>Fie!</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>Foe!</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>Fum!</DATA>
</WORD>
</LINE>
<LINE>
<WORD
NUMBER_OF_LETTERS="1" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="PRONOUN">
<DATA>I</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="5" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>smell</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>the</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="5" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>blood</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="PREPOSITION">
<DATA>of</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>an</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="10" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>Englishman.</DATA>
</WORD>
</LINE>
<LINE>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>Be</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>he</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="ADJECTIVE">
<DATA>'live</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="CONJUNCTION">
<DATA>or</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>be</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="PRONOUN">
<DATA>he</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="ADVERB">
<DATA>dead,</DATA>
</WORD>
</LINE>
<LINE>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="PRONOUN">
<DATA>I'll</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="5" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>grind</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="PRONOUN">
<DATA>his</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="5" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>bones</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="INFINITIVE">
<DATA>to</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>make</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="PRONOUN">
<DATA>my</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="5" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>bread.</DATA>
</WORD>
</LINE>
</COLUMN>
</TEXT>
</PAGE>
birds.xml
(http://www.mbutler.org/schema/birds.xml)
<!DOCTYPE PAGE SYSTEM "http://www.mbutler.org/schema/SET_OF_PAGES.dtd">
<?xml-stylesheet type="text/css" href="page.css"?>
<PAGE PERIMETER="20625 mm" PAPER_STOCK="30% recycled"
PAPER_WEIGHT="75 g">
<TEXT PERCENT_OF_PAGE="20" FONT="ARIAL"
FONT_SIZE="12">
<COLUMN>
<LINE>
<WORD
NUMBER_OF_LETTERS="5" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>Birds</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="PREPOSITION">
<DATA>of</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="1" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>a</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="7" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>feather</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="5" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>flock</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="8" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="ADVERB">
<DATA>together,</DATA>
</WORD>
</LINE>
<LINE>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="CONJUNCTION">
<DATA>And</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="ADVERB">
<DATA>so</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>will</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>pigs</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="CONJUNCTION">
<DATA>and</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="5" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>swine;</DATA>
</WORD>
</LINE>
<LINE>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>Rats</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="CONJUNCTION">
<DATA>and</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>mice</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>will</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>have</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="5" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="PRONOUN">
<DATA>their</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="6" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NOUN">
<DATA>choice,</DATA>
</WORD>
</LINE>
<LINE>
<WORD
NUMBER_OF_LETTERS="3" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="CONJUNCTION">
<DATA>And</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="2" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="ADVERB">
<DATA>so</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>will</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="1" CAPITALIZED="YES" ITALICIZED="NO"
PART_OF_SPEECH="PRONOUN">
<DATA>I</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO"
PART_OF_SPEECH="NA">
<DATA>have</DATA>
</WORD>
<WORD
NUMBER_OF_LETTERS="4" CAPITALIZED="NO" ITALICIZED="NO">
<DATA>mine.</DATA>
</WORD>
</LINE>
</COLUMN>
</TEXT>
</PAGE>
(http://www.mbutler.org/schema/page.css)
PAGE
{
background-color: #ffffff;
width: 100%;
font:Arial, Helvetica, sans-serif;
font-size:12px
}
LINE
{display:block
}
DATA
{
margin-bottom: 30pt;
margin-left: 0;
}
return to portfolio