Several years ago (literally) a feature request was discussed on Mantis BT. I have at long last spent some time on implementing it!
In version 18.1.5 of Meeting Schedule Assistant you will see a new item added to the File menu:
This new menu item is only enabled when you are using the Workbook view in the editor. Clicking Print Preview – Personal Copies will display this popup window:
A help topic has been provided with the updated program about using this feature. In summary:
- Use the Display options to limit the publishers shown in the list.
- Use the Select options to quickly select all the publishers that meet the given criteria.
- You can also manually use CTRL + Left Mouse Click to select multiple entries.
- Select the Style (there is one installed by default).
- Press Print Preview to close the window and display the preview.
As mentioned above, the updated application includes a modified schedule script Workbook-S-140-Personal. It is based on the existing Workbook-S-140 document and was adapted to facilitate the new requirements. Here is a copy of that script, with the amended items highlighted. This may be of use to you if you are using your own S-140 scripts and want to make a Personal version.
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:msa="https://www.publictalksoftware.co.uk/msa"> <xsl:output method="html" indent="yes" version="4.01" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/> <xsl:template match="/"> <html xmlns="http://www.w3.org/1999/xhtml"> <xsl:attribute name="lang"> <xsl:value-of select="//Settings//LanguageCode"/> </xsl:attribute> <xsl:attribute name="dir"> <xsl:value-of select="//Settings/Direction"/> </xsl:attribute> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <link rel="stylesheet" type="text/css" href="Workbook-S-140-Personal.css"/> <title> <xsl:value-of select="//Labels/Congregation"/> <xsl:value-of select="//Labels/Title" /> </title> </head> <body> <xsl:for-each select="//NamesToHighlight/Name"> <xsl:variable name="NameToHighlight" select="."/> <div class="containerPage"> <xsl:for-each select="//MeetingWorkBook/Meeting"> <div class="containerMeeting"> <xsl:if test="@PageBreak=1"> <br style="page-break-before: always;"/> </xsl:if> <xsl:if test="@PageBreak=1 or position()=1"> <xsl:call-template name="HEADING"/> </xsl:if> <xsl:if test="@BookmarkId"> <a> <xsl:attribute name="name"> <xsl:value-of select="concat('week', @BookmarkId)"/> </xsl:attribute> <![CDATA[ ]]> </a> </xsl:if> <xsl:call-template name="WEEK"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:call-template> <xsl:apply-templates select="TFGW"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> <xsl:apply-templates select="AYFM"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> <xsl:apply-templates select="LAC"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> </div> </xsl:for-each> <xsl:if test="not(position() = last())" > <br style="page-break-before: always;"/> </xsl:if> </div> </xsl:for-each> </body> </html> </xsl:template> <xsl:template name="WEEK"> <xsl:param name ="NameToHighlight"/> <table class="tableDATE" cellspacing="0" cellpadding="0"> <xsl:call-template name="SetColumnWidths"/> <xsl:if test="@SpecialEvent=1"> <tr> <td class="cellBibleReading" colspan="4"> <xsl:value-of select="Date"/> | <xsl:value-of select="WeeklyBibleReading"/> </td> </tr> <xsl:apply-templates select="SpecialEvent"/> </xsl:if> <xsl:if test="@SpecialEvent=0"> <tr> <td class="cellBibleReading" colspan="3"> <div class="floatRight"> <xsl:value-of select="//Labels/Chairman"/> <xsl:if test="@NumberClasses = 2"> <br/> <xsl:value-of select="//Labels/AuxCounsellor"/> </xsl:if> <xsl:if test="@NumberClasses = 3"> <br/> <xsl:value-of select="//Labels/AuxCounsellor1"/> <br/> <xsl:value-of select="//Labels/AuxCounsellor2"/> </xsl:if> </div> <xsl:value-of select="Date"/> | <xsl:value-of select="WeeklyBibleReading"/> </td> <td class="cellName"> <xsl:choose> <xsl:when test="Chairman/@Duplicate=1"> <span class="textDuplicate"> <xsl:value-of select="Chairman"/> </span> </xsl:when> <xsl:when test="Chairman=$NameToHighlight"> <span class="textHighlight"> <xsl:value-of select="Chairman"/> </span> </xsl:when> <xsl:otherwise> <xsl:value-of select="Chairman"/> </xsl:otherwise> </xsl:choose> <xsl:if test="@NumberClasses >= 2"> <br/> <xsl:choose> <xsl:when test="AuxCounsellor1/@Duplicate=1"> <span class="textDuplicate"> <xsl:value-of select="AuxCounsellor1"/> </span> </xsl:when> <xsl:when test="AuxCounsellor1=$NameToHighlight"> <span class="textHighlight"> <xsl:value-of select="AuxCounsellor1"/> </span> </xsl:when> <xsl:otherwise> <xsl:value-of select="AuxCounsellor1"/> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="@NumberClasses = 3"> <br/> <xsl:choose> <xsl:when test="AuxCounsellor2/@Duplicate=1"> <span class="textDuplicate"> <xsl:value-of select="AuxCounsellor2"/> </span> </xsl:when> <xsl:when test="AuxCounsellor2=$NameToHighlight"> <span class="textHighlight"> <xsl:value-of select="AuxCounsellor2"/> </span> </xsl:when> <xsl:otherwise> <xsl:value-of select="AuxCounsellor2"/> </xsl:otherwise> </xsl:choose> </xsl:if> </td> </tr> <xsl:apply-templates select="Note"/> <tr> <td colspan="4"> </td> </tr> <tr> <xsl:apply-templates select="SongOpen" /> <xsl:apply-templates select="PrayerOpen"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> </tr> <xsl:apply-templates select="OpeningComments" /> </xsl:if> </table> </xsl:template> <!--Displays the notes (if any)--> <xsl:template match="Note"> <xsl:if test="normalize-space(.) != ''"> <tr> <td class="cellNotes" colspan="4"> <xsl:value-of select="//Labels/Note"/>: <xsl:value-of select="."/> </td> </tr> </xsl:if> </xsl:template> <xsl:template match="SpecialEvent"> <tr> <td class="textSpecialEvent" colspan="4"> <xsl:value-of select="Event"/> [<xsl:value-of select="Date"/>] </td> </tr> <xsl:if test="normalize-space(Location) != ''"> <tr> <td class="textSpecialEventLocation" colspan="4"> <xsl:value-of select="Location"/> </td> </tr> </xsl:if> </xsl:template> <!--Displays heading with a nice double underline--> <xsl:template name="HEADING"> <div class="borderHEADINGOuter"> <div class="borderHEADINGInner"> <table class="tableHEADING"> <tr> <td class="textCongregation"> <xsl:value-of select="//Labels/Congregation"/> </td> <td class="textTitle"> <xsl:value-of select="//Labels/Title"/> </td> </tr> </table> </div> </div> </xsl:template> <!--Display the end time (using 24 hour format)--> <xsl:template match="Time" mode="End"> <td class="cellTime"> <xsl:value-of select="@EndTime24"/> </td> </xsl:template> <!--Display the start time (using 24 hour format)--> <xsl:template match="Time" mode="Start"> <td class="cellTime"> <xsl:value-of select="@StartTime24"/> </td> </xsl:template> <!--Displays the duration of the item in minutes--> <xsl:template match="Time" mode="Duration"> <span class="textDuration"> (<xsl:value-of select="."/>) </span> </xsl:template> <!--Display the name of the brother assigned--> <xsl:template match="Name | PrayerOpen | PrayerEnd"> <xsl:param name="NameToHighlight"/> <td class="cellName"> <xsl:choose> <xsl:when test="@Duplicate=1"> <span class="textDuplicate"> <xsl:value-of select="."/> </span> </xsl:when> <xsl:when test=".=$NameToHighlight"> <span class="textHighlight"> <xsl:value-of select="."/> </span> </xsl:when> <xsl:otherwise> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose> </td> </xsl:template> <!--Displays the theme for the assignment--> <xsl:template match="Theme"> <span class="textTheme"> <xsl:value-of select="." disable-output-escaping="yes"/> </span> </xsl:template> <!--Displays the chairman label--> <xsl:template name="Chairman"> <td class="cellName"> <!--Trims the " :" from the end of the chairman label--> <xsl:value-of select="normalize-space(translate(//Labels/Chairman,':',''))"/> </td> </xsl:template> <xsl:template match="Method"> <span class="textMethod"> <xsl:value-of select="." disable-output-escaping="yes"/> </span> </xsl:template> <!--Treasures From God's Word--> <xsl:template match="TFGW"> <xsl:param name="NameToHighlight"/> <table class="tableTFGW" cellspacing="0" cellpadding="0"> <xsl:call-template name="SetColumnWidths"/> <xsl:call-template name="SectionHeading"> <xsl:with-param name="strSection">TFGW</xsl:with-param> <xsl:with-param name="iSpanColumns">3</xsl:with-param> </xsl:call-template> <xsl:apply-templates select="TFGWItem"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> <xsl:with-param name="iSpanCols"> <xsl:value-of select="@NumberClasses"/> </xsl:with-param> </xsl:apply-templates> <xsl:apply-templates select="BibleReadingItem"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> </table> </xsl:template> <!--Bible talk and Digging for Spiritual Gems--> <xsl:template match="TFGWItem"> <xsl:param name="NameToHighlight"/> <xsl:param name="iSpanCols"/> <tr> <xsl:apply-templates select="Time" mode="End"/> <td colspan="{$iSpanCols+1}"> <span class="bulletTFGW">•</span> <xsl:apply-templates select="Theme"/> <xsl:apply-templates select="Time" mode="Duration"/> <xsl:apply-templates select="Method"/> </td> <xsl:apply-templates select="Name"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> </tr> </xsl:template> <!--Displays all of the bible reading students for each class--> <xsl:template match="BibleReadingItem"> <xsl:param name="NameToHighlight"/> <tr> <xsl:apply-templates select="Time" mode="End"/> <td class="cellTheme"> <span class="bulletTFGW">•</span> <span class="textTheme"> <xsl:value-of select="Type"/> </span> <xsl:apply-templates select="Time" mode="Duration"/> <xsl:apply-templates select="Material"/> </td> <td class="cellPosition"> <xsl:value-of select="//Labels/Student"/> </td> <xsl:for-each select="Readers/Reader"> <td class="cellName"> <xsl:choose> <xsl:when test="@Duplicate=1"> <span class="textDuplicate"> <xsl:value-of select="."/> </span> </xsl:when> <xsl:when test=".=$NameToHighlight"> <span class="textHighlight"> <xsl:value-of select="."/> </span> </xsl:when> <xsl:otherwise> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose> </td> </xsl:for-each> </tr> </xsl:template> <!--Apply Yourself To The Field Ministry--> <xsl:template match="AYFM"> <xsl:param name ="NameToHighlight"/> <table class="tableAYFM" cellspacing="0" cellpadding="0"> <xsl:call-template name="SetColumnWidths"/> <xsl:call-template name="SectionHeading"> <xsl:with-param name="strSection">AYFM</xsl:with-param> <xsl:with-param name="iSpanColumns">3</xsl:with-param> </xsl:call-template> <xsl:apply-templates select="Presentations" /> <xsl:apply-templates select="StudentItem"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> </table> </xsl:template> <!--Displays all the information for a student item. This includes all the students from each class.--> <xsl:template match="StudentItem"> <xsl:param name="NameToHighlight"/> <tr> <xsl:apply-templates select="Time" mode="End"/> <td class="cellTheme"> <span class="bulletAYFM">•</span> <span class="textTheme"> <xsl:value-of select="Type"/> </span> <xsl:apply-templates select="Time" mode="Duration"/> <xsl:apply-templates select="Material"/> </td> <td class="cellPosition"> <xsl:choose> <xsl:when test="@IsSampleVideo=1"> <!--We need an empty cell--> <xsl:text> </xsl:text> </xsl:when> <xsl:otherwise> <xsl:value-of select="//Labels/Student"/> <xsl:if test="@IsTalk=0"> <br/> <xsl:value-of select="//Labels/Assistant"/> </xsl:if> </xsl:otherwise> </xsl:choose> </td> <xsl:apply-templates select="Students"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> </tr> </xsl:template> <xsl:template match="Material | SourceMaterial"> <span class="textMaterial"> <xsl:value-of select="." disable-output-escaping="yes"/> </span> </xsl:template> <!--Displays the student and assistant for the current student item--> <xsl:template match="Students"> <xsl:param name="NameToHighlight"/> <td class="cellName"> <xsl:choose> <xsl:when test="../@IsSampleVideo=1"> <xsl:choose> <xsl:when test="@ChairmanHandleSampleVideo=0"> <xsl:value-of select="//Labels/Counsellor"/> </xsl:when> <xsl:otherwise> <!--Trims the " :" from the end of the chairman label--> <xsl:value-of select="normalize-space(translate(//Labels/Chairman,':',''))"/> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="Student/@Duplicate=1"> <span class="textDuplicate"> <xsl:value-of select="Student"/> </span> </xsl:when> <xsl:when test="Student=$NameToHighlight"> <span class="textHighlight"> <xsl:value-of select="Student"/> </span> </xsl:when> <xsl:otherwise> <xsl:value-of select="Student"/> </xsl:otherwise> </xsl:choose> <xsl:if test="../@IsTalk=0"> <br/> <xsl:choose> <xsl:when test="Assistant/@Duplicate=1"> <span class="textDuplicate"> <xsl:value-of select="Assistant"/> </span> </xsl:when> <xsl:when test="Assistant=$NameToHighlight"> <span class="textHighlight"> <xsl:value-of select="Assistant"/> </span> </xsl:when> <xsl:otherwise> <xsl:value-of select="Assistant"/> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:template> <!--First week of month item--> <xsl:template match="Presentations"> <tr> <xsl:apply-templates select="Time" mode="End"/> <td colspan="2"> <span class="bulletAYFM">•</span> <xsl:apply-templates select="Theme"/> <xsl:apply-templates select="Time" mode="Duration"/> <xsl:apply-templates select="Method"/> </td> <xsl:apply-templates select="Name"/> </tr> </xsl:template> <!--Define the column widths for the schedule--> <xsl:template name="SetColumnWidths"> <!--The widths in the column classes will add up to 100%--> <xsl:choose> <xsl:when test="not(@NumberClasses) or @NumberClasses=1 or self::Meeting"> <colgroup> <col class="columnTime"/> <col class="columnTheme1ClassB"/> <col class="columnPosition"/> <col class="columnName"/> </colgroup> </xsl:when> <xsl:when test="@NumberClasses=2"> <colgroup> <col class="columnTime"/> <col class="columnTheme2ClassB"/> <col class="columnPosition"/> <col class="columnName"/> <col class="columnName"/> </colgroup> </xsl:when> <xsl:when test="@NumberClasses=3"> <colgroup> <col class="columnTime"/> <col class="columnTheme3ClassB"/> <col class="columnPosition"/> <col class="columnName"/> <col class="columnName"/> <col class="columnName"/> </colgroup> </xsl:when> </xsl:choose> </xsl:template> <!--Living As Christians--> <xsl:template match="LAC"> <xsl:param name ="NameToHighlight"/> <table class="tableLAC" cellspacing="0" cellpadding="0"> <xsl:call-template name="SetColumnWidths"/> <xsl:call-template name="SectionHeading"> <xsl:with-param name="strSection">LAC</xsl:with-param> <xsl:with-param name="iSpanColumns">4</xsl:with-param> </xsl:call-template> <tr> <xsl:apply-templates select="SongMiddle" /> </tr> <xsl:apply-templates select="LACItem"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> <xsl:choose> <xsl:when test="@CircuitVisit=0"> <xsl:apply-templates select="CongregationBibleStudy"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> <xsl:apply-templates select="ClosingComments"/> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="ClosingComments"/> <xsl:apply-templates select="CircuitVisit/LACItem"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> </xsl:otherwise> </xsl:choose> <tr> <xsl:apply-templates select="SongEnd"/> <xsl:apply-templates select="PrayerEnd"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> </tr> </table> </xsl:template> <xsl:template name="SectionHeading"> <xsl:param name="strSection"/> <xsl:param name="iSpanColumns"/> <tr> <td class="cell{$strSection}" colspan="{$iSpanColumns}"> <div class="text{$strSection}"> <xsl:value-of select="//Labels/*[name() = $strSection]"/> </div> </td> <xsl:if test="@NumberClasses = 3"> <td class="cellClass"> <xsl:value-of select="//Labels/AuxClass1"/> </td> <td class="cellClass"> <xsl:value-of select="//Labels/AuxClass2"/> </td> </xsl:if> <xsl:if test="@NumberClasses = 2"> <td class="cellClass"> <xsl:value-of select="//Labels/AuxClass"/> </td> </xsl:if> <xsl:if test="@NumberClasses >= 1"> <td class="cellClass"> <xsl:value-of select ="//Labels/MainHall"/> </td> </xsl:if> </tr> </xsl:template> <xsl:template match="LACItem"> <xsl:param name ="NameToHighlight"/> <tr> <xsl:apply-templates select="Time" mode="End"/> <td class="cellTheme" colspan="2"> <span class="bulletLAC">•</span> <xsl:apply-templates select="Theme"/> <xsl:apply-templates select="Time" mode="Duration"/> <xsl:apply-templates select="Method"/> </td> <xsl:apply-templates select="Name"> <xsl:with-param name="NameToHighlight" select="$NameToHighlight"/> </xsl:apply-templates> </tr> </xsl:template> <!--Displays the congregation bible study information--> <xsl:template match="CongregationBibleStudy"> <xsl:param name ="NameToHighlight"/> <tr> <xsl:apply-templates select="Time" mode="End"/> <td class="cellTheme"> <span class="bulletLAC">•</span> <span class="textTheme"> <xsl:value-of select="//Labels/CBS"/> </span> <xsl:apply-templates select="Time" mode="Duration"/> <xsl:apply-templates select="SourceMaterial" /> </td> <td class="cellPosition"> <xsl:value-of select="//Labels/Conductor"/> <br/> <xsl:value-of select="//Labels/Reader"/> </td> <td class="cellName"> <xsl:choose> <xsl:when test="Conductor/@Duplicate=1"> <span class="textDuplicate"> <xsl:value-of select="Conductor"/> </span> </xsl:when> <xsl:when test="Conductor=$NameToHighlight"> <span class="textHighlight"> <xsl:value-of select="Conductor"/> </span> </xsl:when> <xsl:otherwise> <xsl:value-of select="Conductor"/> </xsl:otherwise> </xsl:choose> <br/> <xsl:choose> <xsl:when test="Reader/@Duplicate=1"> <span class="textDuplicate"> <xsl:value-of select="Reader"/> </span> </xsl:when> <xsl:when test="Reader=$NameToHighlight"> <span class="textHighlight"> <xsl:value-of select="Reader"/> </span> </xsl:when> <xsl:otherwise> <xsl:value-of select="Reader"/> </xsl:otherwise> </xsl:choose> </td> </tr> </xsl:template> <!--Displays the song information--> <xsl:template match="SongOpen | SongMiddle | SongEnd"> <td class="cellTime"> <xsl:value-of select="@EndTime24"/> </td> <td class="cellTheme"> <xsl:if test="self::SongMiddle"> <xsl:attribute name="colspan">3</xsl:attribute> <xsl:attribute name="class"></xsl:attribute> </xsl:if> <span> <xsl:attribute name="class"> <xsl:choose> <xsl:when test="self::SongOpen">bulletTFGW</xsl:when> <xsl:otherwise>bulletLAC</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:text>•</xsl:text> </span> <span class="textSongLabel"> <xsl:value-of select="//Labels/Song"/> </span> <span class="textSongNumber"> <xsl:value-of select="."/> </span> <span class="textSongTitle"> <xsl:value-of select="@Title"/> </span> </td> <xsl:if test="self::SongOpen or self::SongEnd"> <td class="cellPosition"> <xsl:value-of select="//Labels/Prayer"/> </td> </xsl:if> </xsl:template> <!--Displays the comments--> <xsl:template name="Comments"> <xsl:param name="bulletClass" /> <tr> <xsl:apply-templates select="Time" mode="End"/> <td class="cellTheme" colspan="2"> <span class="{ $bulletClass }">•</span> <xsl:apply-templates select="Theme"/> <xsl:apply-templates select="Time" mode="Duration"/> </td> <xsl:call-template name="Chairman"/> </tr> </xsl:template> <xsl:template match="OpeningComments"> <xsl:call-template name="Comments"> <xsl:with-param name="bulletClass">bulletTFGW</xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template match="ClosingComments"> <xsl:call-template name="Comments"> <xsl:with-param name="bulletClass">bulletLAC</xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template match="PUBLICTALK"> <table class="tableWeekend"> <tr> <td class ="cellWEEKEND" colspan="2"> <div class="textWEEKEND" style="float:left"> <xsl:value-of select="//Labels/PTS_WeekendMeeting"/> </div> <div style="float:right"> <span class="textPTSLabel"> <xsl:value-of select="//Labels/PTS_Chairman"/>: </span> <span class="textPTSValue"> <xsl:value-of select="Assignments/Chairman"/> </span> </div> </td> </tr> <xsl:apply-templates select="HomeTalk"/> <xsl:apply-templates select="AwayTalk"/> <xsl:apply-templates select="Assignments"/> </table> </xsl:template> <!--Displays the home talk speaker details--> <xsl:template match="HomeTalk"> <tr> <td class="cellWEEKENDText"> <span class="textPTSLabel"> <xsl:value-of select="//Labels/PTS_Speaker"/>: </span> <span class="textPTSValue"> <xsl:value-of select="Speaker"/> </span> </td> <td> <span class="textPTSLabel"> <xsl:value-of select="//Labels/PTS_Congregation"/>: </span> <span class="textPTSValue"> <xsl:value-of select="Congregation"/> </span> </td> </tr> <tr> <td class="cellWEEKENDText" colspan="2"> <span class="textPTSLabel"> <xsl:value-of select="//Labels/PTS_Theme"/>: </span> <span class="textPTSValue"> <xsl:value-of select="Theme"/> </span> </td> </tr> </xsl:template> <xsl:template match="AwayTalk"> <tr> <td class="cellWEEKENDText" colspan="2"> <span class="textPTSLabel"> <xsl:choose> <!--We only support 2 away speakers. We could just use one label--> <xsl:when test="position()=1"> <xsl:value-of select="//Labels/PTS_AwaySpeaker1"/>: </xsl:when> <xsl:otherwise> <xsl:value-of select="//Labels/PTS_AwaySpeaker2"/>: </xsl:otherwise> </xsl:choose> </span> <span class="textPTSValue"> <xsl:value-of select="Speaker"/> (<xsl:value-of select="Congregation"/>) </span> </td> </tr> </xsl:template> <!--Displays the Watchtower conductor and reader--> <xsl:template match="Assignments"> <tr> <td class="cellWEEKENDText"> <span class="textPTSLabel"> <xsl:value-of select="//Labels/PTS_WTConductor"/>: </span> <span class="textPTSValue"> <xsl:value-of select="Conductor"/> </span> </td> <td> <span class="textPTSLabel"> <xsl:value-of select="//Labels/PTS_WTReader"/>: </span> <span class="textPTSValue"> <xsl:value-of select="Reader"/> </span> </td> </tr> </xsl:template> </xsl:stylesheet>
The application also installs an updated CSS document:
/* Column widths */ .columnTime { width: 7%; } .columnTheme1Class { width: 66%; } .columnTheme2Classes { width: 54%; } .columnTheme3Classes { width: 42%; } .columnPosition { width: 10%; } .columnName { width: 17%; } table { border-collapse: collapse; table-layout: fixed; width: 100%; } table th, td { /* Comment out the following line if you do not want borders */ border: 1px #d3d3d3 solid; /* This is the default font for all cells */ font-family: Calibri; } table tbody tr:hover td { color: #000; background: #efefef; } body { width: 100%; margin-left: 0; margin-right: 0; background: #666; } .containerPage { min-width: 210mm; max-width: 210mm; padding-left: 2mm; padding-right: 2mm; margin-left: auto; margin-right: auto; background: #FFF; } .containerMeeting { margin-bottom: 3mm; } .cellBibleReading { padding-left: 3mm; font-size: 11pt; font-weight: 700; text-transform: uppercase; border-right-style: none; } .cellNotes { font-size: 10pt; font-style: italic; } .cellTime { padding-left: 3mm; padding-right: 5mm; font-size: 9pt; font-weight: 700; color: gray; } .cellTheme { border-right-style: none; } .cellPosition { color: gray; padding-right: 2mm; text-align: right; font-size: 8pt; font-weight: 700; vertical-align: middle; text-transform: none; border-left-style: none; } .cellName { font-size: 10pt; font-weight: normal; } .floatRight { color: gray; padding-top: 1mm; padding-bottom: 1mm; padding-right: 2mm; float: right; text-align: right; font-size: 8pt; font-weight: 700; text-transform: none; } .borderHEADINGOuter { border-bottom: 1px gray solid; margin-bottom: 2mm; } .borderHEADINGInner { border-bottom: 4px gray solid; margin-bottom: 2px; } .tableHEADING { table-layout: auto; width: 100%; border: none; } .tableHEADING td { border: none; } .textSpecialEvent { text-align: center; } .textSpecialEventLocation { text-align: center; } .tableDATE { margin-bottom: 2mm; } .tableTFGW { margin-bottom: 2mm; } .cellTFGW { padding-left: 1mm; } .textTFGW { padding-left: 1mm; padding-top: 1mm; padding-bottom: 1mm; color: #fff; background-color: #606a70; width: 90mm; font-size: 10pt; font-weight: 700; } .bulletTFGW { /*padding-top: 1mm; padding-bottom: 1mm;*/ padding-right: 1mm; color: #606a70; /*font-size: 14pt;*/ font-weight: normal; } .tableAYFM { margin-bottom: 2mm; } .cellAYFM { padding-left: 1mm; } .textAYFM { padding-left: 1mm; padding-top: 1mm; padding-bottom: 1mm; color: #fff; background-color: #c18626; width: 90mm; font-size: 10pt; font-weight: 700; } .bulletAYFM { /*padding-top: 1mm; padding-bottom: 1mm;*/ padding-right: 1mm; color: #c18626; /*font-size: 14pt;*/ font-weight: normal; } .textHighlight { background-color: #ffff00; } .textDuplicate { background-color: #ff0000; } .textMaterial { /* Uncomment to hide the material */ /* display:none;*/ font-size: 10pt; font-style: italic; font-weight: 700; } .textMethod { /* Uncomment to hide the method */ /* display:none;*/ font-size: 10pt; font-style: italic; font-weight: 700; } .textSongTitle { /* Uncomment to hide the song title */ /* display:none;*/ font-size: 10pt; font-weight: 700; } .cellClass { font-size: 8pt; font-weight: 700; vertical-align: bottom; color: gray; } .tableLAC { margin-bottom: 2mm; } .cellLAC { padding-left: 1mm; } .textLAC { padding-left: 1mm; padding-top: 1mm; padding-bottom: 1mm; color: #fff; background-color: #961526; width: 90mm; font-size: 10pt; font-weight: 700; } .bulletLAC { /*padding-top: 1mm; padding-bottom: 1mm;*/ padding-right: 1mm; color: #961526; /*font-size: 14pt;*/ font-weight: normal; } .textDuration { padding-left: 1mm; font-family: Calibri; font-size: 9pt; font-weight: normal; } .textTheme { font-size: 10pt; font-weight: normal; } .textSongLabel { font-size: 10pt; font-weight: normal; } .textSongNumber { font-size: 10pt; font-weight: normal; } .textCongregation { vertical-align: bottom; text-align: left; font-size: 11pt; font-weight: 700; text-transform: uppercase; } .textTitle { vertical-align: bottom; text-align: right; font-family: Cambria; font-size: 18pt; font-weight: 700; } .tableWeekend { margin-bottom: 2mm; } .cellWEEKEND { padding-left: 1mm; } .textWEEKEND { padding-left: 1mm; padding-top: 1mm; padding-bottom: 1mm; color: #fff; background-color: #8b8378; width: 90mm; font-size: 10pt; font-weight: 700; text-transform: uppercase; } .cellWEEKENDText { padding-left: 3mm; } .textPTSLabel { font-weight: 700; font-size: 10pt; } .textPTSValue { font-size: 10pt; } /* For right-to-left: text directions swapped */ [dir=rtl] .textCongregation { text-align: right; } [dir=rtl] .textTitle { text-align: left; } @media print { body { background: #FFF; } .containerPage, .containerMeeting, .tableDATE, .tableHEADING, .tableTFGW, .tableAYFM, .tableLAC, .tableWeekend { width: 99%; min-width: 99%; max-width: 99%; padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; } }
At line 172 you will see a new class:
.textHighlight { background-color: #ffff00; }
This class sets any assigned name with a YELLOW BACKGROUND.
This new feature work well and is very useful.