XML File Snippet of "Sleigh Mates"
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="../../Encoding/cbml.rnc" type="application/relax-ng-compact-syntax"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:cbml="http://www.cbml.org/ns/1.0">
<teiHeader>
<fileDesc>
<titleStmt>
<title>
Dennis the Menace: Volume 58
</title>
<author>Hank Ketcham</author>
<author role="illustrator">Owen Fitzgerald</author>
<editor>Remington Orange</editor>
<editor>Lyndon Herschell</editor>
<editor>Lauren McCurdy</editor>
</titleStmt>
<publicationStmt>
<date> 1962-04 </date>
<availability status="free">
<p>This work is in the public domain in the United States</p>
</availability>
</publicationStmt>
<notesStmt>
<note>Scanned and put online by Hallden Fawcett </note>
</notesStmt>
<sourceDesc>
<p><ref target="https://archive.org/details/dennis-the-menace-issue-58">Online Archive</ref></p>
<p><ref target="https://github.com/Remdog712/ComicBook_DIGIT110">Github Repo</ref></p>
<p>DENNIS THE MENANCE: a magazine published bi-monthly by Hallden Division of Fawcett Publications, Inc., (Copyright 1962 by the Hall Syndicate, Inc. Printed in the U.S.A., by the Eastern Color Printing Co.)</p>
<p>Published online on 2021-10-06 02:47:27 on the Internet Archive</p>
</sourceDesc>
</fileDesc>
<encodingDesc>
<tagsDecl>
<namespace name="http://www.cbml.org/ns/1.0">
<tagUsage gi="cbml:panel"></tagUsage>
<tagUsage gi="cbml:caption"></tagUsage>
</namespace>
</tagsDecl>
</encodingDesc>
</teiHeader>
<text>
<body>
<milestone unit="start" n="SLEIGH-MATES"/>
<div type="page" xml:id="pg_03">
<figure>
<graphic mimeType="images/pages/Dennis-58-03.jpeg" url="images/pages/Dennis-58-03.jpeg"/>
<head>Page 3</head>
</figure>
<div type="panelGrp" xml:id="eg_0001">
<cbml:panel n="1" characters="#dennis #father">
<cbml:caption type="heading" rend="red">
SLEIGH-MATES
</cbml:caption>
<note type="panelDesc"> Dennis's father pulls Dennis on a sled going up a hill
</note>
</cbml:panel>
<cbml:panel n="2" characters="#dennis #father">
<cbml:balloon type="speech" who="#dennis">
Here's a good sleddin' place, Dad!
</cbml:balloon>
<cbml:balloon type="speech" who="#father">
Snow's too deep!
</cbml:balloon>
<note type="panelDesc"> Dennis's father and Dennis are in the front seat of green car, Dennis is leaning across his father point out the window. A sled is the second row seats
</note>
</cbml:panel>
<cbml:panel n="3" characters="#dennis #father">
<cbml:balloon type="speech" who="#dennis">
How 'bout <emph rendition="#b"> HERE? </emph>
</cbml:balloon>
<cbml:balloon type="speech" who="#father">
Too many trees?
</cbml:balloon>
<note type="panelDesc"> The back of the green car is seen cressing over a snowy hill with green pine trees along the sides of the road
</note>
</cbml:panel>
</div>
<pb/>
</div>
<div type="page" xml:id="pg_04">
All of our XML was created by hand and done by viewing each page of the comic book and breaking it down into pieces
After finishing this project, it's become much easier to view XML in it's parts and as well to look at physical pages and see ways to convert them into XML.
John Walsh - Creator of the RNC that we used for our project
We didn't need to convert our Relax NG file at all as it was created specifically for Comic Book Encoding or CBML by John Walsh
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xpath-default-namespace="http://www.tei-c.org/ns/1.0"
xmlns:cbml="http://www.cbml.org/ns/1.0"
xmlns="http://www.w3.org/1999/xhtml"
version="3.0">
<xsl:output method="xhtml" html-version="5" omit-xml-declaration="yes"
include-content-type="no" indent="yes"/>
<xsl:template match="/">
<html>
<head>
<link rel="stylesheet" type="text/css" href="XSLT_to_HTML.css"/>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="teiHeader">
<div class="tei-header">
<div class="file-desc">
<div class="title-stmt">
<h1>
<xsl:value-of select="fileDesc/titleStmt/title"/>
</h1>
<p>
Author: <xsl:value-of select="fileDesc/titleStmt/author"/>
</p>
<p>
Illustrator: <xsl:value-of select="fileDesc/titleStmt/author[@role='illustrator']"/>
</p>
<p>
Editors:
<xsl:for-each select="fileDesc/titleStmt/editor">
<xsl:value-of select="."/>
<xsl:if test="position() < last()">, </xsl:if>
</xsl:for-each>
</p>
</div>
<div class="publication-stmt">
<p>
Date: <xsl:value-of select="fileDesc/publicationStmt/date"/>
</p>
<div class="availability">
<p>
<xsl:value-of select="fileDesc/publicationStmt/availability/p"/>
</p>
</div>
</div>
<div class="notes-stmt">
<p>
Note: <xsl:value-of select="fileDesc/notesStmt/note"/>
</p>
</div>
<div class="source-desc">
<p>
<a href="{fileDesc/sourceDesc/ref[@target='https://archive.org/details/dennis-the-menace-issue-58']}">Online Archive</a>
</p>
<p>
<a href="{fileDesc/sourceDesc/ref[@target='https://github.com/Remdog712/ComicBook_DIGIT110']}">Github Repo</a>
</p>
<p>
<xsl:value-of select="fileDesc/sourceDesc/p"/>
</p>
<p>
<xsl:value-of select="fileDesc/sourceDesc/p[last()]"/>
</p>
</div>
</div>
<div class="encoding-desc">
<div class="tags-decl">
<p>
Namespace: <xsl:value-of select="encodingDesc/tagsDecl/namespace/@name"/>
</p>
<p>
Tag Usage:
<xsl:for-each select="encodingDesc/tagsDecl/namespace/tagUsage">
<xsl:value-of select="@gi"/>
<xsl:if test="position() < last()">, </xsl:if>
</xsl:for-each>
</p>
</div>
</div>
</div>
</xsl:template>
<xsl:template match="cbml:caption">
<div class="caption">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="milestone[@unit='start'][@n][1]">
<h1 class="story-title">
<xsl:value-of select="@n"/>
</h1>
</xsl:template>
<xsl:template match="TEI">
<div class="comic">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="div[@type='page']">
<div class="page">
<div class="figure-head-box">
<h2 class="figure-title">
<xsl:value-of select="figure/head"/>
</h2>
</div>
<div class="page-image">
<img src="{figure/graphic/@url}" alt="{figure/head}" class="comic-image" width="500" height="auto"/>
</div>
<div class="panel-container">
<xsl:apply-templates/>
</div>
</div>
</xsl:template>
<xsl:template match="div[@type='panelGrp']">
<div class="panel-group">
<xsl:apply-templates/>
</div>
</xsl:template>
</xsl:stylesheet>
The XSLT had to be created custom for this project, After being written out, it was bug-checked by ChatGPT and now still remains some unused features that seem to break it even though they may not do much. NOTE: If it ain't broke, don't fix it.
CSS File for the Encodings
CSS File for the Website
We created two seperate CSS files. One for our main site and the other that was used solely for handling the XML to HTML. This allowed for a cleaner and simpler CSS write up scenario