<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="../sch/tei_all_LEMDO.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="../sch/tei_all_LEMDO.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xml:id="learn_encodeCastListTable">
   <teiHeader>
      <fileDesc>
         <titleStmt>
            <title type="main">Encode Cast Lists Contained by Tables in Semi-Diplomatic Transcriptions</title>
            <respStmt xml:id="odd_SPIT1_wtm">
               <resp ref="#wtm">Technical Writer</resp>
               <persName ref="#SPIT1">Sofia Spiteri</persName>
            </respStmt>
            <respStmt xml:id="odd_JENS1_cpy">
               <resp ref="#pfr">Copyeditor</resp>
               <persName ref="#JENS1">Janelle Jenstad</persName>
            </respStmt>
            <respStmt>
               <resp ref="#pdr">Project Director</resp>
               <persName ref="#JENS1">Janelle Jenstad</persName>
            </respStmt>
            <respStmt>
               <resp ref="#wtm">Project Manager</resp>
               <persName ref="#GALL2">Mahayla Galliford</persName>
            </respStmt>
            <respStmt>
               <resp ref="#wtm">Training and Documentation Lead</resp>
               <persName ref="#HOUL3">Navarra Houldin</persName>
            </respStmt>
            <respStmt>
               <resp ref="#prg">Programmer</resp>
               <persName ref="#HOLM1">Martin Holmes</persName>
            </respStmt>
            <respStmt>
               <resp ref="#prg">Programmer</resp>
               <persName ref="#TAKE1">Joey Takeda</persName>
            </respStmt>
            <respStmt>
               <resp ref="#prg">Junior Programmer</resp>
               <persName ref="#ELHA1">Tracey El Hajj</persName>
            </respStmt>
            <sponsor ref="#LEMD1"/>
            <funder>Social Sciences and Humanities Research Council of Canada</funder>
         </titleStmt>
         <editionStmt>
            <p>Released with Linked Early Modern Drama Online 1.0</p>
         </editionStmt>
         <publicationStmt>
            <publisher>University of Victoria on the Linked Early Modern Drama Online Platform</publisher>
            <availability>
               <licence from="2023-12-10" resp="#JENS1" corresp="lemdo.xml"/>
               <p>This file is licensed under a <ref target="https://creativecommons.org/licenses/by-nc-nd/4.0/">CC BY-NC_ND 4.0 license</ref>, which means that it is freely downloadable without permission under the following conditions: (1) credit must be given to the author and LEMDO in any subsequent use of the files and/or data; (2) the content cannot be adapted or repurposed (except in quotations for the purposes of academic review and citation); and (3) commercial uses are not permitted without the knowledge and consent of the editor and LEMDO. This license allows for pedagogical use of the documentation in the classroom.</p>
            </availability>
         </publicationStmt>
         <seriesStmt>
            <p>Linked Early Modern Drama Online</p>
         </seriesStmt>
         <sourceDesc>
            <p>TEI Customization created by <orgName ref="#HOLM1">Martin Holmes</orgName>, <orgName ref="#TAKE1">Joey Takeda</orgName>, and <orgName ref="#JENS1">Janelle Jenstad</orgName>; documentation written by members of the <orgName ref="#LEMD1">LEMDO Team</orgName>
            </p>
         </sourceDesc>
      </fileDesc>
      <profileDesc copyOf="#">
         <textClass>
            <catRef scheme="#emdDocumentTypes" target="TAXO1.xml#ldtBornDigDocumentation"/>
            <catRef scheme="#emdDocumentTypes" target="TAXO1.xml#ldtBornDig"/>
         </textClass>
      </profileDesc>
      <tei:encodingDesc xmlns:tei="http://www.tei-c.org/ns/1.0">
         <p>Encoded in TEI P5 according to the LEMDO Customization and Encoding Guidelines</p>
         <editorialDecl>
            <p>n/a</p>
         </editorialDecl>
         <tei:constraintDecl scheme="schematron" queryBinding="xslt2">
            <sch:ns xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                    prefix="tei"
                    uri="http://www.tei-c.org/ns/1.0"/>
            <sch:ns xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                    prefix="xs"
                    uri="http://www.w3.org/2001/XMLSchema"/>
            <sch:ns xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                    prefix="rng"
                    uri="http://relaxng.org/ns/structure/1.0"/>
            <sch:ns xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                    prefix="rna"
                    uri="http://relaxng.org/ns/compatibility/annotations/1.0"/>
            <sch:ns xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                    prefix="sch"
                    uri="http://purl.oclc.org/dsdl/schematron"/>
            <sch:ns xmlns:sch="http://purl.oclc.org/dsdl/schematron"
                    prefix="sch1x"
                    uri="http://www.ascc.net/xml/schematron"/>
         </tei:constraintDecl>
         <classDecl>
            <taxonomy copyOf="TAXO1.xml#emdDocumentTypes" xml:id="emdDocumentTypes">
               <desc>
                  <term>Document Types</term>
                  <gloss>All documents in LEMDO are either <soCalled>born-digital</soCalled>
                     documents or <soCalled>primary</soCalled> documents. Within those two general
                     categories, LEMDO offers additional ways to categorize a file.</gloss>
               </desc>
               <category copyOf="TAXO1.xml#ldtBornDig" xml:id="ldtBornDig">
                  <catDesc>
                     <term>Born-digital</term>
                     <gloss>Born-digital documents are anything other than primary texts</gloss>
                  </catDesc>
                  <category copyOf="TAXO1.xml#ldtBornDigDocumentation"
                            xml:id="ldtBornDigDocumentation">
                     <catDesc>
                        <term>Documentation</term>
                        <gloss>Encoding and editorial guidelines; programming, processing, and
                           rendering instructions; how-to instructions; element descriptions; and
                           records of remediation.</gloss>
                     </catDesc>
                  </category>
               </category>
            </taxonomy>
            <taxonomy copyOf="TAXO1.xml#emdRespTaxonomy" xml:id="emdRespTaxonomy">
               <desc>
                  <term>Responsibilities</term>
                  <gloss>Responsibilities</gloss>
               </desc>
               <category copyOf="TAXO1.xml#pdr"
                         xml:id="pdr"
                         corresp="http://id.loc.gov/vocabulary/relators/pdr.html">
                  <catDesc>
                     <term>Project Director</term>
                     <gloss type="marc">A person or organization with primary responsibility for all
                        essential aspects of a project, has overall responsibility for managing
                        projects, or provides overall direction to a project manager.</gloss>
                     <gloss type="emd">LEMDO uses the term project director for the person who
                        directs the LEMDO project. For anthology leads, use pbd.</gloss>
                  </catDesc>
               </category>
               <category copyOf="TAXO1.xml#pfr"
                         xml:id="pfr"
                         corresp="http://id.loc.gov/vocabulary/relators/pfr.html">
                  <catDesc>
                     <term>Proofreader</term>
                     <gloss type="marc">A person who corrects printed matter.</gloss>
                     <gloss type="emd">LEMDO uses the term proofreader for the person who performs
                        minor corrections to a finalized document, which usually include
                        typographical or rendering fixes. For copy-editing, use
                           <soCalled>resp:edt_cpy</soCalled>.</gloss>
                  </catDesc>
               </category>
               <category copyOf="TAXO1.xml#prg"
                         xml:id="prg"
                         corresp="http://id.loc.gov/vocabulary/relators/prg.html">
                  <catDesc>
                     <term>Programmer</term>
                     <gloss type="marc">A person, family, or organization responsible for creating a
                        computer program.</gloss>
                     <gloss type="emd">Gloss needed.</gloss>
                  </catDesc>
               </category>
               <category copyOf="TAXO1.xml#wtm"
                         xml:id="wtm"
                         corresp="http://id.loc.gov/vocabulary/relators/wtm.html">
                  <catDesc>
                     <term>Technical Writer</term>
                     <gloss type="marc">Writer of Technical Material: A person responsible for
                        writing or compiling documentation of the project’s editorial, encoding, and
                        programming practices.</gloss>
                  </catDesc>
               </category>
            </taxonomy>
         </classDecl>
      </tei:encodingDesc>
      <revisionDesc status="prgGenerated">
         <change who="#HOLM1" when="2026-05-01">Automatically generated this file by 
                        extracting its content from lemdo.lite.odd.</change>
      </revisionDesc>
   </teiHeader>
   <standOff>
      <listPerson>
         <person xml:id="ELHA1" copyOf="PERS1.xml#ELHA1">
            <persName>
               <reg>Tracey El Hajj</reg>
               <forename>Tracey</forename>
               <surname>El Hajj</surname>
            </persName>
            <note>
               <p>Junior Programmer 2019–2020. Research Associate 2020–2021. Tracey received her PhD from the Department of English at the University of Victoria in the field of Science and Technology Studies. Her research focuses on the <term>algorhythmics</term> of networked communications. She was a 2019–2020 President’s Fellow in Research-Enriched Teaching at UVic, where she taught an advanced course on <title level="a">Artificial Intelligence and Everyday Life.</title> Tracey was also a member of the <title level="m">Map of Early Modern London</title> team, between 2018 and 2021. Between 2020 and 2021, she was a fellow in residence at the Praxis Studio for Comparative Media Studies, where she investigated the relationships between artificial intelligence, creativity, health, and justice. As of July 2021, Tracey has moved into the alt-ac world for a term position, while also teaching in the English Department at the University of Victoria.</p>
            </note>
         </person>
         <person xml:id="GALL2" copyOf="PERS1.xml#GALL2">
            <persName>
               <reg>Mahayla Galliford</reg>
               <forename>Mahayla</forename>
               <surname>Galliford</surname>
            </persName>
            <note>
               <p>Project manager, 2025-present; research assistant, 2021-present. Mahayla Galliford (she/her) graduated with a BA (Hons with distinction) from the University of Victoria in 2024. Mahayla’s undergraduate research explored early modern stage directions and civic water pageantry. Mahayla continues her studies through UVic’s English MA program and her SSHRC-funded thesis project focuses on editing and encoding girls’ manuscripts, specifically Lady Rachel Fane’s dramatic entertainments, in collaboration with LEMDO.</p>
            </note>
         </person>
         <person xml:id="HOLM1" copyOf="PERS1.xml#HOLM1">
            <persName>
               <reg>Martin Holmes</reg>
               <forename>Martin</forename>
               <surname>Holmes</surname>
            </persName>
            <note>
               <p>Martin Holmes has worked as a developer in the UVic’s Humanities Computing and Media Centre for over two decades, and has been involved with dozens of Digital Humanities projects. He has served on the TEI Technical Council and as Managing Editor of the Journal of the TEI. He took over from Joey Takeda as lead developer on LEMDO in 2020. He is a collaborator on the SSHRC Partnership Grant led by Janelle Jenstad.</p>
            </note>
         </person>
         <person xml:id="HOUL3" copyOf="PERS1.xml#HOUL3">
            <persName>
               <reg>Navarra Houldin</reg>
               <forename>Navarra</forename>
               <surname>Houldin</surname>
            </persName>
            <note>
               <p>Training and Documentation Lead 2025–present. LEMDO project manager 2022–2025. Textual remediator 2021–present. Navarra Houldin (they/them) completed their BA with a major in history and minor in Spanish at the University of Victoria in 2022. Their primary research was on gender and sexuality in early modern Europe and Latin America. They are continuing their education through an MA program in Gender and Social Justice Studies at the University of Alberta where they will specialize in Digital Humanities.</p>
            </note>
         </person>
         <person xml:id="JENS1" copyOf="PERS1.xml#JENS1">
            <persName>
               <reg>Janelle Jenstad</reg>
               <forename>Janelle</forename>
               <surname>Jenstad</surname>
            </persName>
            <note>
               <p>Janelle Jenstad is a Professor of English at the University of Victoria, Director of <ref target="https://mapoflondon.uvic.ca">The Map of Early Modern London</ref>, and Director of <ref target="https://lemdo.uvic.ca">Linked Early Modern Drama Online</ref>. With Jennifer Roberts-Smith and Mark Beatrice Kaethler, she co-edited <title level="m">Shakespeare’s Language in Digital Media: Old Words, New Tools</title> (Routledge). She has edited John Stow’s <title level="m">A Survey of London</title> (1598 text) for MoEML and is currently editing <title level="m">The Merchant of Venice</title> (with Stephen Wittek) and Heywood’s <title level="m">2 If You Know Not Me You Know Nobody</title> for DRE. Her articles have appeared in <title level="j">Digital Humanities Quarterly</title>, <title level="j">Elizabethan Theatre</title>, <title level="j">Early Modern Literary Studies</title>, <title level="j">Shakespeare Bulletin</title>, <title level="j">Renaissance and Reformation</title>, and <title level="j">The Journal of Medieval and Early Modern Studies</title>. She contributed chapters to <title level="m">Approaches to Teaching Othello</title> (MLA); <title level="m">Teaching Early Modern Literature from the Archives</title> (MLA); <title level="m">Institutional Culture in Early Modern England</title> (Brill); <title level="m">Shakespeare, Language, and the Stage</title> (Arden); <title level="m">Performing Maternity in Early Modern England</title> (Ashgate); <title level="m">New Directions in the Geohumanities</title> (Routledge); <title level="m">Early Modern Studies and the Digital Turn</title> (Iter); <title level="m">Placing Names: Enriching and Integrating Gazetteers</title> (Indiana); <title level="m">Making Things and Drawing Boundaries</title> (Minnesota); <title level="m">Rethinking Shakespeare Source Study: Audiences, Authors, and Digital Technologies</title> (Routledge); and <title level="m">Civic Performance: Pageantry and Entertainments in Early Modern London</title> (Routledge). For more details, see <ref target="https://janellejenstad.com/">janellejenstad.com</ref>.</p>
            </note>
         </person>
         <person xml:id="SPIT1" copyOf="PERS1.xml#SPIT1">
            <persName>
               <reg>Sofia Spiteri</reg>
               <forename>Sofia</forename>
               <surname>Spiteri</surname>
            </persName>
            <note>
               <p>Sofia Spiteri is currently completing her Bachelor of Arts in History at the University of Victoria. During the summer of 2023, she had the opportunity to work with LEMDO as a recipient of the Valerie Kuehne Undergraduate Research Award (VKURA). Her work with LEMDO primarily includes semi-diplomatic transcriptions for <title level="m">The Winter’s Tale</title> and <title level="m">Mucedorus</title>.</p>
            </note>
         </person>
         <person xml:id="TAKE1" copyOf="PERS1.xml#TAKE1">
            <persName>
               <reg>Joey Takeda</reg>
               <forename>Joey</forename>
               <surname>Takeda</surname>
            </persName>
            <note>
               <p>Joey Takeda is LEMDO’s Consulting Programmer and Designer, a role he assumed in 2020 after three years as the Lead Developer on LEMDO.</p>
            </note>
         </person>
      </listPerson>
      <listOrg>
         <org xml:id="LEMD1" copyOf="ORGS1.xml#LEMD1">
            <orgName>
               <reg>LEMDO Team</reg>
            </orgName>
            <note>The LEMDO Team is based at the University of Victoria and normally comprises the project director, the lead developer, project manager, junior developers(s), remediators, encoders, and remediating editors.</note>
         </org>
      </listOrg>
   </standOff>
   <text>
      <body>
         <div ana="audEncoder audRemediator">
            <p xmlns:lemdo="http://hcmc.uvic.ca/lemdo/ns" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:teix="http://www.tei-c.org/ns/Examples" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">This documentation is intended for experienced encoders. It presupposes that you are comfortable using CSS and CSS Flex, and that you are familiar with LEMDO’s practice for encoding cast lists in semi-diplomatic transcriptions. If you do not yet feel confident in these skills, read through each hyperlink in the prior reading section of this documentation.</p>
            <div xmlns:lemdo="http://hcmc.uvic.ca/lemdo/ns" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:teix="http://www.tei-c.org/ns/Examples" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xml:id="learn_encodeCastListTable_prior">
               <head>Prior Reading</head>
               <list rend="bulleted">
                  <item>For encoding standard tables, see <title level="a"><ref target="learn_critParatextTables.xml">Create Tables in Critical Paratexts</ref></title>.</item>
                  <item>For the basics of encoding cast lists, see <title level="a"><ref target="learn_OScastList.xml">Encode Character Lists, Actor Lists, and Cast Lists in Semi-Diplomatic Transcriptions</ref></title>
                  </item>
                  <item>For cast lists that appear on title pages, see <title level="a"><ref target="learn_encodeTitlePage.xml#learn_encodeTitlePage_specialCases2">Special Case: Cast List on Title Page</ref></title>
                  </item>
                  <item>For an introduction to CSS and CSS Flex, see <title level="a"><ref target="learn_encodeStyleAdvanced.xml">Encode Inline Style Using CSS and CSS Flex in Semi-Diplomatic Transcriptions</ref></title>
                  </item>
               </list>
            </div>
            <div xmlns:lemdo="http://hcmc.uvic.ca/lemdo/ns" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:teix="http://www.tei-c.org/ns/Examples" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xml:id="learn_encodeCastListTable_rationale">
               <head>Rationale</head>
               <p>In some early print publications, cast lists appear inside of a table. These tables vary in size, shape, and form, making it difficult to capture them with standard CSS. Instead, we use CSS Flex to truthfully encode and accurately render cast list tables.</p>
               <p>We encode cast lists differently depending on where they are located in the playbook. Most cast list tables appear on the play’s title page, but others can appear on their own page or at the end of the play text. This documentation will demonstrate how to encode the cast list table itself. If your cast list table is located on the title page, please see <title level="a"><ref target="learn_encodeTitlePage.xml#learn_encodeTitlePage_specialCases2">Special Case: Cast List on Title Page</ref></title> to nest the table within the title page. If your table is located anywhere else, please see <title level="a"><ref target="learn_OScastList.xml">Encode Character Lists, Actor Lists, and Cast Lists in Semi-Diplomatic Transcriptions</ref></title> to encode a typical cast list.</p>
            </div>
            <div xmlns:lemdo="http://hcmc.uvic.ca/lemdo/ns" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:teix="http://www.tei-c.org/ns/Examples" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xml:id="learn_encodeCastListTable_table">
               <head>Practice: Encode the Table</head>
               <p>We encode tables according to the following pattern: <egXML xmlns="http://www.tei-c.org/ns/Examples" valid="false">
                     <table>
                        <row>
                           <cell/>
                        </row>
                     </table>
                  </egXML> To encode a cast list table, you will apply CSS and CSS Flex to this pattern. Style the elements in the hierarchical order they appear: first <ref target="lemdo_spec_table.xml"><gi>table</gi></ref>, then <ref target="lemdo_spec_row.xml"><gi>row</gi></ref>, and finally <ref target="lemdo_spec_cell.xml"><gi>cell</gi></ref>. Include as many <ref target="lemdo_spec_row.xml"><gi>row</gi></ref> and <ref target="lemdo_spec_cell.xml"><gi>cell</gi></ref> elements as you need to accurately capture all the rows and columns of your table’s mise-en-page. To learn more about the basic encoding for a table, see <title level="a"><ref target="learn_critParatextTables.xml">Create Tables in Critical Paratexts</ref></title>.</p>
               <p>Begin by adding CSS values to the <ref target="lemdo_spec_table.xml"><gi>table</gi></ref> element. Using the <att>style</att> attribute, place two CSS values on <ref target="lemdo_spec_table.xml"><gi>table</gi></ref>: <val>display: block;</val> and <val>width: 100%;</val>. These two values ensure that the table appears on its own line, and that it fills the available width of the page. Your completed <ref target="lemdo_spec_table.xml"><gi>table</gi></ref> element should look like this: <egXML xmlns="http://www.tei-c.org/ns/Examples" valid="false">
                     <table style="display: block; width: 100%;"/>
                  </egXML>
               </p>
               <p>After encoding <ref target="lemdo_spec_table.xml"><gi>table</gi></ref>, apply the following CSS styling to each <ref target="lemdo_spec_row.xml"><gi>row</gi></ref> element: <list rend="bulleted">
                     <item>
                        <val>display: flex;</val> to define <ref target="lemdo_spec_row.xml"><gi>row</gi></ref> as a flex container. This value establishes a specialized environment for its direct children (in this case, <ref target="lemdo_spec_cell.xml"><gi>cell</gi></ref>), which can be aligned, spaced, and resized as needed.</item>
                     <item>
                        <val>flex-direction: row;</val> to align your flex content horizontally.</item>
                     <item>(Optional) <val>min-height:</val> with a numerical value to set the minimum vertical space that each cell must take up. You may wish to use this if you have an empty row that needs to be a certain size.</item>
                  </list>
               </p>
               <p>Then, apply the following CSS styling to each <ref target="lemdo_spec_cell.xml"><gi>cell</gi></ref> element: <list rend="bulleted">
                     <item>
                        <val>display: flex;</val> to define <ref target="lemdo_spec_cell.xml"><gi>cell</gi></ref> as a flex item. This means that each cell can move around independently within the <ref target="lemdo_spec_row.xml"><gi>row</gi></ref> element.</item>
                     <item>
                        <val>flex-direction: row;</val> to align your flex content horizontally.</item>
                     <item>
                        <val>align-items: center;</val> to align your flex content in the middle of the cell.</item>
                     <item>
                        <val>flex: 1;</val> to allow your flex items to grow and shrink to fill available space as needed.</item>
                     <item>(Optional) <val>padding:</val> with up to four numerical values to add space inside the cell between its border and its content. You may wish to add padding if you need to indent your text or create space away from the edges of the cell.</item>
                  </list>
               </p>
               <p>When you finish styling the table, your encoding for one row should look like this (if it includes the optional padding): <egXML xmlns="http://www.tei-c.org/ns/Examples" valid="false">
                     <table style="display: block; width: 100%;">
                        <row style="display: flex; flex-direction: row; min-height: 6em;">
                           <cell style="display: flex; flex-direction: row; align-items: center; flex: 1; padding: 0.4em 0.3em 0.4em 0.6em;"/>
                        </row>
                     </table>
                  </egXML>
               </p>
            </div>
            <div xmlns:lemdo="http://hcmc.uvic.ca/lemdo/ns" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:teix="http://www.tei-c.org/ns/Examples" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xml:id="learn_encodeCastListTable_castList">
               <head>Practice: Style <gi>castList</gi>, <gi>castGroup</gi>, and <gi>castItem</gi>
               </head>
               <p>Now that you have encoded your table, you can use it as a guide to style your cast list.</p>
               <p>Place a <ref target="lemdo_spec_castList.xml"><gi>castList</gi></ref> element inside each <ref target="lemdo_spec_cell.xml"><gi>cell</gi></ref>. <ref target="lemdo_spec_castList.xml"><gi>castList</gi></ref> contains three children in the following order: <list rend="numbered">
                     <item>A <ref target="lemdo_spec_castGroup.xml"><gi>castGroup</gi></ref> element with a child <ref target="lemdo_spec_castItem.xml"><gi>castItem</gi></ref>. Encode one <ref target="lemdo_spec_castItem.xml"><gi>castItem</gi></ref> for each role and wrap the character’s name in the <ref target="lemdo_spec_role.xml"><gi>role</gi></ref> element.</item>
                     <item>A <ref target="lemdo_spec_metamark.xml"><gi>metamark</gi></ref> element with the } bracket (character) in the text node. If your cast list contains a vertical line instead, you can use the | (pipe) character.</item>
                     <item>A second <ref target="lemdo_spec_castGroup.xml"><gi>castGroup</gi></ref> with a child <ref target="lemdo_spec_roleDesc.xml"><gi>roleDesc</gi></ref>. In the text node of <ref target="lemdo_spec_roleDesc.xml"><gi>roleDesc</gi></ref>, include any casting notes (such as <q>For one man</q>).</item>
                  </list> Before adding any styling, your cast list for one cell should look like this: <egXML xmlns="http://www.tei-c.org/ns/Examples" valid="false">
                     <cell>
                        <castList>
                           <castGroup>
                              <castItem>
                                 <role>Ambidexter</role>
                              </castItem>
                              <castItem>
                                 <role>Triall.</role>
                              </castItem>
                           </castGroup>
                           <metamark>}</metamark>
                           <castGroup>
                              <roleDesc>For one man.</roleDesc>
                           </castGroup>
                        </castList>
                     </cell>
                  </egXML>
               </p>
               <p>Generally, the styling for <ref target="lemdo_spec_castList.xml"><gi>castList</gi></ref>, <ref target="lemdo_spec_castGroup.xml"><gi>castGroup</gi></ref>, and <ref target="lemdo_spec_castItem.xml"><gi>castItem</gi></ref> is consistent across plays. Apply the following styling to your cast list, ignoring (for now) the <ref target="lemdo_spec_metamark.xml"><gi>metamark</gi></ref> and second <ref target="lemdo_spec_castGroup.xml"><gi>castGroup</gi></ref> elements: <egXML xmlns="http://www.tei-c.org/ns/Examples" valid="false">
                     <castList style="display: flex; flex-direction: row; align-items: center; flex: 1; min-width: 0;">
                        <castGroup style="display: flex; flex-direction: column; justify-content: space-evenly; flex: 1; min-width: 0;">
                           <castItem style="display: block;">
                              <role style="display: block; white-space: nowrap; line-height: 1.55em;">Ambidexter</role>
                           </castItem>
                           <castItem style="display: block;">
                              <role style="display: block; white-space: nowrap; line-height: 1.55em;">Triall.</role>
                           </castItem>
                        </castGroup>
                        <metamark>}</metamark>
                        <castGroup>
                           <roleDesc>For one man.</roleDesc>
                        </castGroup>
                     </castList>
                  </egXML> This styling defines the cast list itself as a flex row (items will be stacked horizontally), but the list of names as a flex column (items will be stacked vertically). It also ensures that names don’t wrap and that all content is evenly spaced. If your table requires more specific placements, you can add <val>padding</val> to the first <ref target="lemdo_spec_castGroup.xml"><gi>castGroup</gi></ref> element.</p>
            </div>
            <div xmlns:lemdo="http://hcmc.uvic.ca/lemdo/ns" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:teix="http://www.tei-c.org/ns/Examples" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xml:id="learn_encodeCastListTable_metamark">
               <head>Practice: Style <gi>metamark</gi>
               </head>
               <p>The curly bracket that groups a set of roles is encoded as a <ref target="lemdo_spec_metamark.xml"><gi>metamark</gi></ref> element with the } character in the text node. To reproduce the stretched bracket used in many early print publications, we use the CSS value <val>transform</val> to scale the bracket along both the X and Y axes. Apply the following styling to your <ref target="lemdo_spec_metamark.xml"><gi>metamark</gi></ref> element, keeping in mind the specific needs of your play’s cast list table: <list rend="bulleted">
                     <item>
                        <val>display: flex;</val>
                     </item>
                     <item>
                        <val>align-items: center;</val>
                     </item>
                     <item>
                        <val>transform: scaleX(0) scaleY(0);</val>. The value 0 means that the bracket will be scaled 0 times its own size along the X and Y axes (so, not scaled at all). You want to change this number to something that better fits your particular cast list table. For example, <val>scaleX(3) scaleY(10)</val> would scale your bracket three times its width and ten times its height. You can always tweak your CSS using inspector view once your file builds on the website, so don’t worry about being exactly correct the first time.</item>
                     <item>
                        <val>transform-origin: left center;</val> to anchor the scaling to the left edge so the bracket grows rightward without shifting its position.</item>
                     <item>
                        <val>align-self: stretch;</val> to ensure the bracket spans the full height of its flex container, matching the height of the role list beside it.</item>
                     <item>
                        <val>width: 2em; min-width: 2em;</val> to reserve space in the flex layout for the bracket before scaling is applied. You will likely not need to change these values.</item>
                     <item>(Optional) <val>margin:</val> with up to four numerical values to move your bracket left, right, up, or down. You may not recognize that you need this value until after your initial CSS builds on the website, so keep it in mind when tweaking your encoding.</item>
                  </list>
               </p>
            </div>
            <div xmlns:lemdo="http://hcmc.uvic.ca/lemdo/ns" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:teix="http://www.tei-c.org/ns/Examples" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xml:id="learn_encodeCastListTable_roleDesc">
               <head>Practice: Style <gi>roleDesc</gi>
               </head>
               <p>The casting note is encoded in a <ref target="lemdo_spec_roleDesc.xml"><gi>roleDesc</gi></ref> element. It must be wrapped in its own <ref target="lemdo_spec_castGroup.xml"><gi>castGroup</gi></ref> element, rather than placed directly inside the first <ref target="lemdo_spec_castGroup.xml"><gi>castGroup</gi></ref>, so that it can be independently styled with CSS Flex. Both <ref target="lemdo_spec_castGroup.xml"><gi>castGroup</gi></ref> and <ref target="lemdo_spec_roleDesc.xml"><gi>roleDesc</gi></ref> require their own CSS styling.</p>
               <p>Begin by applying the following styling to your second <ref target="lemdo_spec_castGroup.xml"><gi>castGroup</gi></ref> element: <list rend="bulleted">
                     <item>
                        <val>display: flex;</val>
                     </item>
                     <item>
                        <val>align-items: center;</val>
                     </item>
                     <item>
                        <val>align-self: stretch;</val>
                     </item>
                     <item>
                        <val>padding-left: 3.5em;</val>. This value pushes the casting note away from the bracket so it doesn’t overlap. Although 3.5em is a standard value that works for most cast list tables, you may need to adjust it depending on the mise-en-page of your specific playbook.</item>
                  </list> These values ensure that the casting note is vertically centered along the right side of the bracket.</p>
               <p>Next, apply the following styling to your <ref target="lemdo_spec_roleDesc.xml"><gi>roleDesc</gi></ref> element: <list rend="bulleted">
                     <item>
                        <val>display: block;</val>
                     </item>
                     <item>
                        <val>white-space: nowrap;</val>
                     </item>
                     <item>
                        <val>align-self: center;</val>
                     </item>
                  </list> These values ensure that the text of the casting note appears on its own line, doesn’t wrap, and aligns itself to the centre of the space.</p>
            </div>
            <div xmlns:lemdo="http://hcmc.uvic.ca/lemdo/ns" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:teix="http://www.tei-c.org/ns/Examples" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xml:id="learn_encodeCastListTable_example">
               <head>Example: One Row</head>
               <p>This is a complete example of a single <ref target="lemdo_spec_row.xml"><gi>row</gi></ref> with two cells that has been fully encoded and correctly styled using CSS and CSS Flex. You will need to repeat this pattern for each row in your cast list table, using as many <ref target="lemdo_spec_cell.xml"><gi>cell</gi></ref> elements as you need to accurately capture the table in your playbook. <egXML xmlns="http://www.tei-c.org/ns/Examples" valid="false">
                     <row style="display: flex; flex-direction: row; min-height: 6em;">
                        <cell style="display: flex; flex-direction: row; align-items: center; flex: 1; padding: 0.4em 0.3em 0.4em 0.6em;">
                           <castList style="display: flex; flex-direction: row; align-items: center; flex: 1; min-width: 0;">
                              <castGroup style="display: flex; flex-direction: column; justify-content: space-evenly; flex: 1; min-width: 0; padding-right: 0.2em;">
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Knight,</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Snuf.</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">small habilitic.</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Proof.</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Execution.</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Attendance.</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">second Lord.</role>
                                 </castItem>
                              </castGroup>
                              <metamark style="display: flex; align-items: center; align-self: stretch; white-space: nowrap; width: 2em; min-width: 2em; margin: 0 0.25em; transform: scaleX(3) scaleY(13); transform-origin: left center; margin-bottom: 1.3em;">}</metamark>
                              <castGroup style="display: flex; align-items: center; align-self: stretch; padding-left: 2em;">
                                 <roleDesc style="display: block; white-space: nowrap; align-self: center;" rendition="rnd:italic">For one man.</roleDesc>
                              </castGroup>
                           </castList>
                        </cell>
                        <cell style="display: flex; flex-direction: row; align-items: center; flex: 1; padding: 0.4em 0.3em 0.4em 0.6em;">
                           <castList style="display: flex; flex-direction: row; align-items: center; flex: 1; min-width: 0;">
                              <castGroup style="display: flex; flex-direction: column; justify-content: space-evenly; flex: 1; min-width: 0; padding-right: 0.2em;">
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Meretrix.</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Shame.</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Otian.</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Mother.</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Lady.</role>
                                 </castItem>
                                 <castItem style="display: block;">
                                    <role style="display: block; white-space: nowrap; line-height: 1.55em;">Queene.</role>
                                 </castItem>
                              </castGroup>
                              <metamark style="display: flex; align-items: center; align-self: stretch; white-space: nowrap; width: 2em; min-width: 2em; margin: 0 0.25em; transform: scaleX(3) scaleY(12); transform-origin: left center; margin-bottom: 1.8em;">}</metamark>
                              <castGroup style="display: flex; align-items: center; align-self: stretch; padding-left: 3.5em;">
                                 <roleDesc style="display: block; white-space: nowrap; align-self: center;" rendition="rnd:italic">For one man.</roleDesc>
                              </castGroup>
                           </castList>
                        </cell>
                     </row>
                  </egXML>
               </p>
            </div>
         </div>
      </body>
   </text>
</TEI>
