CBML Tag Set Documentation


Caveat

This CBML Tag Set Documentation is preliminary and in draft form, but we hope it will be useful for those adventurous souls experimenting with CBML at this early stage in its development.

<ad>

<ad>(advertisement) A subdivision that contains a single advertisement.
AttributesGlobal attributes and those inherited from declaring, divn.
Example
<ad>
  <head>
    Ugly Blackheads — Out in Seconds 
  </head>
  <p>
    <productName>VACUTEX</productName>
  </p>
  <p>
    Keep your complexion free of black heads — look attractive
    instantly. Scientifically designed vacuum pump gently "lifts" out
    ugly blackheads safely. No pinching or squeezing. Made in U.S.A. —
    beware of imitations. Try 10 days — if not delighted return for
    refund. send <measure reg="2.00" subtype="usd"
    type="currency">$2</measure> plus <measure reg="0.25"
    subtype="usd" type="currency">25¢</measure> pstg. &amp; hdlg.
    <address>
      <orgName>
        BALLCO PROD. CO., INC. 
      </orgName>
      <street>
        181 MAIN ST. DEPT. 310-A, 
      </street>
      <placeName>
        <settlement type="city">
          WESTPORT 
        </settlement>
        , 
        <region reg="CT" type="state">
          CONN. 
        </region>
      </placeName>
      <postCode>
        06881 
      </postCode>
    </address>
  </p>
</ad>
Class(es)declaring, divn
Declaration
<!ELEMENT ad   ( (%m.divtop; | %m.Incl; )*, ((ad | div | divGen | panel),  
                  (%m.Incl;)*)+ | ((%component;, (%m.Incl;)*)+,  
                  ((ad | div | divGen | panel), (%m.Incl;)*)*)),
                   ((%m.divbot;),(%m.Incl;)*)*)                   >
<!ATTLIST ad
     %a.global;
     %a.divn;
     %a.declaring;
     TEIform CDATA #FIXED 'div'">
		

<advisory>

<advisory>Contains an advisory or caution, such as the Comics Code Authority seal of approval or other parental guidance advisory.
AttributesGlobal attributes and those inherited from typed.
Example
<advisory type='cca'>APPROVED BY THE COMICS CODE AUTHORITY </advisory>
Class(es)typed
Declaration
<!ELEMENT advisory %om.RR; %paraContent;>
<!ATTLIST advisory
     %a.global;
     %a.typed;
     TEIform CDATA #FIXED "ab">

<balloon>

<balloon>Contains an individual speech or thought balloon. Based on the TEI <sp> element.
Attributes(In addition to Global attributes.)
typeA name or abbreviation describing the type of balloon.

Datatype: CDATA

Suggested values include:

speech
A balloon containing a character's speech. Conventionally, such a balloon is visually depicted with smooth edges.
thought
A balloon containing a character's thoughts. Conventionally, such a balloon is visually depicted with bumpy or "bubbled" edges.
broadcast
A balloon containing text or sound emitting from a radio, television, or other broadcast receiver.

Default: speech

Example
<balloon type="speech" who="robin">
  <p>Holy cow! Batman!  That's one big fish!</p>
</balloon>
Example
<balloon type="speech" who="iron_man thor cap antman">
  <p>Avengers Assemble!</p>
</balloon>
Notes
Declaration
<!ELEMENT %n.sp; %om.RO; ((%m.Incl;)*, (speaker, (%m.Incl;)*)?,
             ((%n.p; | %n.l; | %n.lg; | %n.ab; | %n.seg; | %n.stage;), (%m.Incl;)*)+)>
		

<!ATTLIST %n.sp;  
      %a.global;
      who IDREFS #IMPLIED
      type CDATA "speech"
      TEIform CDATA #FIXED "sp">
		

<caption>

<caption>Contains a narrative caption that occurs typically at the top of a panel in a comic.
Example
<panel n="1" characters="cap leila falc">
  <caption>
    The <emph rend="bold">trial</emph> of the Falcon is ended, and its
    <emph rend="bold">memories</emph> put out of the <emph
    rend="bold">minds</emph> of Sam Wilson and Cap, and so, days later
    in New York&#x2026;
  </caption>
  <balloon who="cap">
    <p>
      Bring on the health food Leila&#x2026; It may save the <emph
      rend="bold">Falcon</emph> from a bruised ego&#x2026;
    </p>
  </balloon>
  <!-- other balloons here -->
</panel>

			
Notes
Declaration
<!ELEMENT caption %om.RO; %paraContent;>
		
<!ATTLIST caption  
     %a.global;>

		

<cbml>

<cbml> (CBML document) contains a single CBML document, comprising a CBML header (<cbmlHeader>) and a comic or graphic novel (<comic>), either in isolation or as part of a <cbmlCorpus> element.
Notes
Declaration
<!ELEMENT cbml %om.RO;  (cbmlHeader, comic)>
		
<!ATTLIST cbml
      %a.global;>
		

<cbmlCorpus>

<cbmlCorpus> (CBML corpus) contains the whole of a CBML encoded corpus, comprising a single corpus header and one or more cbml elements, each containing a single text header and a text.
Notes
Declaration
<!ELEMENT cbmlCorpus %om.RO;  (cbmlHeader, cbml+)>
		
<!ATTLIST cbmlCorpus
      %a.global;>

		

<cbmlHeader>

<cbmlHeader>(TEI Header) supplies the descriptive and declarative information making up an "electronic title page" prefixed to every CBML text.
Example
<cbmlHeader>
  <fileDesc>
    <titleStmt>
      <title>Captain America 193: An Electronic Edition</title> 
      <principal>
        Walsh, John A. 
      </principal>
    </titleStmt>
    <publicationStmt>
      <publisher>
        Indiana University CBML Project
      </publisher>
      <pubPlace>
        Bloomington, Indiana 
      </pubPlace>
      <idno type="cbml">
        0000001 
      </idno>
      <availability status="restricted">
        <p>
          Original source material is copyright &#169; 1975 by Marvel
          Comics Group. The original editorial contributions of this
          electronic edition are copyright &#169; 2002 John A. Walsh
          and the Trustees of Indiana University.
        </p>
      </availability>
      <date value="2003-00-00">
        2003 
      </date>
    </publicationStmt>
    <sourceDesc>
      <biblFull>
        <titleStmt>
          <title level="monograph" type="main">The Madbomb Screamer in the Brain</title>
          <title level="monograph" type="parallel">"Madbomb": It Can Destroy the World!</title> 
          <respStmt>
            <resp type="creator" subtype="writer"/><name reg="Kirby, Jack">Jack Kirby</name>
          </respStmt>
          <respStmt>
            <resp type="creator" subtype="penciller"/><name reg="Kirby, Jack">Jack Kirby</name>
          </respStmt>
          <respStmt>
            <resp type="creator" subtype="inker"/><name reg="Giacoia, Frank">Frank Giacoia</name>
          </respStmt>
          <respStmt>
            <resp type="contributor" subtype="letter"/><name reg="Costanza, John">John Costanza</name>
          </respStmt>
          <respStmt>
            <resp type="contributor" subtype="colorist"/><name reg="Cohen, Janice">Janice Cohen</name>
          </respStmt>
        </titleStmt>
        <publicationStmt>
          <publisher>
            Marvel Comics Group 
          </publisher>
          <pubPlace>
            New York, New York 
          </pubPlace>
          <availability status="restricted">
            <p>
              Copyright &#169; 1975 by Marvel Comics Group 
            </p>
          </availability>
          <date value="1076-01-00">
            January, 1976 
          </date>
        </publicationStmt>
        <seriesStmt>
          <title level="journal">Captain America</title> 
          <idno type="volume">
            1
          </idno>
          <idno type="issue">
            193
          </idno>
        </seriesStmt>
      </biblFull>
    </sourceDesc>
  </fileDesc>
  <encodingDesc>
    <tagsDecl>
      <rendition type="css" id="italic">
        font-style: italic; 
      </rendition>
      <rendition type="css" id="bold">
        font-weight: bold; 
      </rendition>
      <rendition type="css" id="underline">
        font-rendition: underline; 
      </rendition>
      <rendition type="custom" id="outline">
        outline 
      </rendition>
      <rendition type="custom" id="splash">
        splash 
      </rendition>
    </tagsDecl>
  </encodingDesc>
  <profileDesc>
    <characterList>
      <characterItem>
        <persona id="cap" type="hero">
          Captain America 
        </persona>
        <persona id="steve_rogers">
          Steve Rogers 
        </persona>
      </characterItem>
      <characterItem>
        <persona id="falc" type="hero">
          The Falcon 
        </persona>
        <persona id="sam_wilson">
          Sam Wilson 
        </persona>
      </characterItem>
      <characterItem>
        <persona id="leila">
          Leila 
        </persona>
      </characterItem>
      <characterItem>
        <persona id="kissinger">
          Henry Kissinger 
        </persona>
      </characterItem>
      <characterItem>
        <persona id="anon_man">
          Anonymous Man 
        </persona>
      </characterItem>
      <characterItem>
        <persona id="anon_woman">
          Anonymous Woman 
        </persona>
      </characterItem>
    </characterList>
  </profileDesc>
</cbmlHeader>

			
Declaration
<!ELEMENT cbmlHeader %om.RR; (fileDesc, encodingDesc*, profileDesc*, 
revisionDesc?)>
		<!ATTLIST cbmlHeader  
      %a.global;
      type CDATA "text"
      creator CDATA #IMPLIED
      status (new | update) "new"
      date.created %ISO-date; #IMPLIED
      date.updated %ISO-date; #IMPLIED>

		

<characterGroup>

<characterGroup>(Character list grouping) groups one or more individual <characterItem> elements within a character list.
AttributesGlobal attributes only.
Notes
Declaration
<!ELEMENT characterGroup %om.RR; ((%m.Incl;)*, (head, (%m.Incl;)*)?,
                   ((characterItem | characterGroup), (%m.Incl;)*)+,
                   (trailer, (%m.Incl;)*)?)>
		
<!ATTLIST characterGroup  
      %a.global;>
		

<characterItem>

<characterItem>(Character list item) contains a single entry within a character list, describing either a single character or a list of personae, or identities, which are common for instance in superhero comics.
Attributes(In addition to Global attributes.)
typecharacterizes the character item

Datatype: (persona | list)

Legal values are:

persona
the item describes a character with a single persona or identity.
list
the item describes a list of a character's multiple personae or identities.

Default: persona

Notes
Declaration
<!ELEMENT characterItem %om.RO; (#PCDATA | persona | personaDesc | 
                   | %m.phrase; | %m.Incl; )*>
		
<!ATTLIST characterItem  
      %a.global;
      type (persona | list) "persona">
		

<characterList>

<characterList>(character list) contains a single character list.
AttributesGlobal attributes and those inherited from comp.drama, dramafront, inter.
Notes
Class(es)comp.drama, dramafront, inter
Declaration
<!ELEMENT characterList %om.RR; ((%m.divtop; | %m.Incl;)*,
                                ((%component;), (%m.Incl;)*)*,
                                ((characterItem | characterGroup), (%m.Incl;)*)+, 
                                ((%component;), (%m.Incl;)*)*)>
		
<!ATTLIST characterList  
      %a.global;>
		

<form>

<form>contains a form, usually a an order form within an <ad> (advertisement)
AttributesGlobal attributes only.
Example
<form>
  <p>
    <address>
      <orgName>
        Anchor Specialties Co. 
      </orgName>
      <postBox>
        DEPT M 14 BOX 3958 
      </postBox>
      <placeName>
        <settlement type="city">
          North Providence 
        </settlement>
        , 
        <region type="state" reg="RI">
          R. I. 
        </region>
      </placeName>
      <postCode>
        02911 
      </postCode>
    </address>
  </p>
  <p>
    <hi rend="italic">
      Rush money-making FREE SALES KIT. 
    </hi>
  </p>
  <label>Name</label><input name="name"/>
  <label>Address</label><input name="address"/>
  <label>City</label><input name="city"/>
  <label>State</label><input name="state"/>
  <label>Zip</label><input name="zip"/>
</form>
      
Declaration
<!ELEMENT form %om.RR; %specialPara; >
<!ATTLIST form 
            %a.global;>

<input>

<input>describes an input field within a form, usually in a clip-out coupon in an advertisement.
Attributes(In addition to Global attributes.)
typeA name or abbreviation describing the type of input field.

Datatype: CDATA

Suggested values include:

text
text field
checkbox
checkbox field

Default: text

Declaration
<!ELEMENT input %omRR; EMPTY >
<!ATTLIST input 
          %a.global;
          type         CDATA                   'text'
          name         CDATA                    #IMPLIED
          value        CDATA                    #IMPLIED
          checked      ( checked )              #IMPLIED
          size         %Number.datatype;        #IMPLIED>

<masthead>

<masthead>Contains the publication information (e.g., publisher, title, price, date) that typically appears at the top of the front cover of a comic.
AttributesGlobal attributes and those inherited from declarable.
Example
<masthead>
  <title>CAPT. AMERICA</title> 
  <publisher>
    Marvel Comics Group™ 
  </publisher>
  <advisory>
    APPROVED BY THE COMICS CODE AUTHORITY 
  </advisory>
  <measure reg="0.25" subtype="usd" type="currency">
    25¢ 
  </measure>
  <biblScope type="issue">
    193 
  </biblScope>
  <date>
    Jan 
  </date>
  <biblScope type="unknown">
    02453 
  </biblScope>
  <title>Captain America</title> 
</masthead>

			
Class(es)declarable
Declaration
<!ELEMENT masthead      (#PCDATA | advisory | %m.phrase; |
     %m.biblPart; | %m.Incl;)*>
		
<!ATTLIST masthead  
     %a.global;
     %a.declarable;
     TEIForm CDATA #FIXED 'bibl'> 

		

<measure>

<measure>contains a word or phrase referring to some quantity of an object or commodity, usually comprising a number, a unit, and a commodity name.
AttributesGlobal attributes and those inherited from names, typed.
Example
<p>
  48 page MARVEL pocket checklist with D.C. comic list and protective comic back only 
  <measure reg="0.50" subtype="usd" type="currency">
    50¢ 
  </measure>
  Over 100,000 comics in stock! 
</p>

			
Notes
Class(es)names, typed
Declaration
<!ELEMENT %n.measure; %om.RR; %phrase.seq;>
		
<!ATTLIST %n.measure;
     %a.global;
     %a.names;
     %a.typed;>

		

<panelDesc>

<panelDesc>(panel description) describes the visual content, action, or any other aspect of a panel, generally independent of any dialogue.
AttributesGlobal attributes and those inherited from stageDirection.
Class(es)stageDirection
Declaration
<!ELEMENT panelDesc %om.RO; %specialPara;>
		
<!ATTLIST panelDesc
      %a.global;>

		

<persona>

<persona>the name of a character persona, as given in a character list.
Attributes(In addition to Global attributes.)
typecharacterizes the persona in some sense, using any convenient classification scheme or typology

Datatype: CDATA

Suggested values include:

hero
A persona that identifies the public name of a superhero.
secret identity
A persona that identifies the secret identity of a superhero.

Default: #IMPLIED

Notes
Declaration
<!ELEMENT persona %om.RO; %phrase.seq;>
<!ATTLIST role  
      %a.global;
       type CDATA #IMPLIED >
		

<personaDesc>

<personaDesc>(persona description) describes a character's persona.
AttributesGlobal attributes only.
Notes
Declaration
<!ELEMENT personaDesc %om.RR; %phrase.seq;>
<!ATTLIST roleDesc  
      %a.global;>
		

<resp>

<resp>contains a phrase describing the nature of a person's intellectual responsibility.
Attributes(In addition to Global attributes.)
typecharacterizes the type of responsibility in some sense.

Datatype: CDATA

Suggested values include:

creator
responsible in whole or part for the creation of the comic. In comics, "creator" would characterize the role of writers, artists (or pencillers), and inkers.
contributor
responsible for contributions to the resource. In comics, "contributor" would characterize the role of letters and colorists

Default: #IMPLIED

subtypeprovides a sub-categorization of responsibility, if needed.

Datatype: CDATA

Suggested values include:

writer
writer of a comic.
penciller
penciller of a comic.
inker
inker of a comic.
letterer
letter of a comic.
colorist
colorist of a comic.

Default: #IMPLIED

Example
<titleStmt>
  <title level="monograph" type="main">
    The Madbomb Screamer in the Brain
	</title>
  <title level="monograph" type="parallel">
    "Madbomb": It Can Destroy the World!
  </title>
  <respStmt>
    <resp type="creator" subtype="writer"/><name reg="Kirby, Jack">Jack Kirby</name>
  </respStmt>
  <respStmt>
	  <resp type="creator" subtype="penciller"/><name reg="Kirby, Jack">Jack Kirby</name>
  </respStmt>
  <respStmt>
    <resp type="creator" subtype="inker"/><name reg="Giacoia, Frank">Frank Giacoia</name>
  </respStmt>
  <respStmt>
    <resp type="contributor" subtype="letter"/><name reg="Costanza, John">John Costanza</name>
  </respStmt>
  <respStmt>
    <resp type="contributor" subtype="colorist"/><name reg="Cohen, Janice">Janice Cohen</name>
  </respStmt>
</titleStmt>
			
Notes
Declaration
<!ELEMENT resp %om.RO; %phrase.seq;>

		<!ATTLIST %n.resp;  
     %a.global;
     %a.typed;>
		

<sound>

<sound>describes a sound effect or musical sequence specified within a comic.
Attributes(In addition to Global attributes.)
typecategorizes the sound in some respect, e.g. as music, special effect, etc.

Datatype: CDATA

any string of characters.

Default: #IMPLIED

discreteindicates whether the sound overlaps the surrounding speeches or interrupts them.

Datatype: ( y | n | u )

Suggested values include:

y
the sound is heard between the surrounding speeches.
n
the sound overlaps the surrounding speeches.
u
unknown or inapplicable.

Default: u

Example
<panel n="3" characters="cap" x="43" y="354" width="299" height="291">
  <caption>
    Before the hammer descends on cap, his shield <emph rend="bold">
    demolishes </emph> the evil mechanism!
  </caption>
  <sound type>
    KRAK! 
  </sound>
</panel>
			
Declaration
<!ELEMENT sound %om.RO; %paraContent;>
		
<!ATTLIST sound  
     %a.global;
     type CDATA #IMPLIED
     discrete ( y | n | u ) "u">
		 
		

<text>

<text>Contains a single text of any kind, whether unitary or composite, for example a comic or graphic novel, a poem or drama, a collection of essays, a novel, a dictionary, or a corpus sample.
Example
<text type="Superhero comic books, strips, etc.">
  <!-- content -->
</comic>
Notes
Class(es)inter, declaring, typed
Declaration
<!ELEMENT %n.text; %om.RR; ((%m.Incl;)*, (front, (%m.Incl;)*)?,
  (body | group), (%m.Incl;)*, (back, (%m.Incl;)*)?)>
		
<!ATTLIST %n.text;
     %a.global;
     %a.typed;
     %a.declaring;>

Date: (revised 05/03/2004) Author: John A. Walsh (revised jawalsh).