1:<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 2:xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:kso="nothin"> 3:<xsl:output method="xml" indent="yes"/> 4:<xsl:strip-space elements="h1 h2 body" /> 5: 6:<xsl:variable name="Copyright">Copyright © 2006 Example1 Co, Inc. All Rights Reserved</xsl:variable> 7: 8:<xsl:variable name="ChapterTitle">Plays by the Bard</xsl:variable> 9: 10: 11:<xsl:template match="/"> 12: <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> 13: <fo:layout-master-set> 14: <fo:simple-page-master 15: master-name="first" 16: margin-right="0.25in" margin-left="0.25in" 17: margin-bottom="0.25in" margin-top="0.25in" 18: page-width="8.5in" page-height="11in" 19: > 20: <fo:region-before extent="0.5in" region-name="first-before" /> 21: <fo:region-after extent="0.5in" region-name="first-after" /> 22: <fo:region-start extent="0.5in" /> 23: <fo:region-end extent="0.5in" /> 24: <fo:region-body margin-top="1.0in" margin-bottom="1.0in" 25: margin-left="0.5in" margin-right="0.5in" 26: /> 27: </fo:simple-page-master> 28: 29: <fo:simple-page-master 30: master-name="odd" 31: margin-right="0.25in" margin-left="0.25in" 32: margin-bottom="0.25in" margin-top="0.25in" 33: page-width="8.5in" page-height="11in" 34: > 35: <fo:region-before extent="0.5in" region-name="odd-before"/> 36: <fo:region-after extent="0.5in" region-name="odd-after"/> 37: <fo:region-start extent="0.5in" /> 38: <fo:region-end extent="0.5in" /> 39: <fo:region-body margin-top="1.0in" margin-bottom="1.0in" 40: margin-left="0.5in" margin-right="0.5in" 41: /> 42: </fo:simple-page-master> 43: 44: <fo:simple-page-master 45: master-name="even" 46: margin-right="0.25in" margin-left="0.25in" 47: margin-bottom="0.25in" margin-top="0.25in" 48: page-width="8.5in" page-height="11in" 49: > 50: <fo:region-before extent="0.5in" region-name="even-before" /> 51: <fo:region-after extent="0.5in" region-name="even-after" /> 52: <fo:region-start extent="0.5in" /> 53: <fo:region-end extent="0.5in" /> 54: <fo:region-body margin-top="1.0in" margin-bottom="1.0in" 55: margin-left="0.5in" margin-right="0.5in" 56: /> 57: </fo:simple-page-master> 58: 59: <fo:simple-page-master 60: master-name="blank" 61: margin-right="0.25in" margin-left="0.25in" 62: margin-bottom="0.25in" margin-top="0.25in" 63: page-width="8.5in" page-height="11in" 64: > 65: <fo:region-before extent="0.5in" region-name="blank-before"/> 66: <fo:region-after extent="0.5in" region-name="blank-after" /> 67: <fo:region-start extent="0.5in" /> 68: <fo:region-end extent="0.5in" /> 69: <fo:region-body margin-top="1.0in" margin-bottom="1.0in" 70: margin-left="0.5in" margin-right="0.5in" 71: /> 72: </fo:simple-page-master> 73: 74: <fo:page-sequence-master master-name="chapter"> 75: <fo:repeatable-page-master-alternatives> 76: <fo:conditional-page-master-reference 77: master-reference="first" 78: page-position="first" 79: /> 80: 81: <fo:conditional-page-master-reference 82: master-reference="odd" 83: page-position="rest" 84: odd-or-even="odd" 85: /> 86: 87: <fo:conditional-page-master-reference 88: master-reference="even" 89: page-position="rest" 90: odd-or-even="even" 91: /> 92: 93: <fo:conditional-page-master-reference 94: master-reference="blank" 95: blank-or-not-blank="blank" 96: /> 97: </fo:repeatable-page-master-alternatives> 98: </fo:page-sequence-master> 99: </fo:layout-master-set> 100: <fo:page-sequence master-reference="chapter" 101: initial-page-number="auto" 102: force-page-count="even" 103: > 104: <fo:static-content flow-name="odd-before"> 105: <fo:block text-align="right" font-family="Helvectica, Arial, sans-serif" font-size="10pt"> 106: <xsl:value-of select="$ChapterTitle" /> 107: </fo:block> 108: </fo:static-content> 109: <fo:static-content flow-name="odd-after"> 110: <fo:block text-align="right"> 111: Page <fo:page-number /> 112: </fo:block> 113: <fo:block text-align="center" font-family="Helvectica, Arial, sans-serif" font-size="8pt"> 114: <xsl:value-of select="$Copyright" /> 115: </fo:block> 116: </fo:static-content> 117: <fo:static-content flow-name="even-before"> 118: <fo:block text-align="left" font-family="Helvectica, Arial, sans-serif" font-size="10pt"> 119: <xsl:value-of select="$ChapterTitle" /> 120: </fo:block> 121: </fo:static-content> 122: <fo:static-content flow-name="even-after"> 123: <fo:block text-align="left"> 124: Page <fo:page-number /> 125: </fo:block> 126: <fo:block text-align="center" font-family="Helvectica, Arial, sans-serif" font-size="8pt"> 127: <xsl:value-of select="$Copyright" /> 128: </fo:block> 129: </fo:static-content> 130: 131: <fo:static-content flow-name="first-before"> 132: </fo:static-content> 133: 134: <fo:static-content flow-name="first-after"> 135: <fo:block text-align="right"> 136: Page <fo:page-number /> 137: </fo:block> 138: <fo:block text-align="center" font-family="Helvectica, Arial, sans-serif" font-size="8pt"> 139: <xsl:value-of select="$Copyright" /> 140: </fo:block> 141: </fo:static-content> 142: 143: <fo:static-content flow-name="blank-before"> 144: </fo:static-content> 145: 146: <fo:static-content flow-name="blank-after"> 147: <fo:block text-align="right"> 148: Page <fo:page-number /> 149: </fo:block> 150: <fo:block text-align="center" font-family="Helvectica, Arial, sans-serif" font-size="8pt"> 151: <xsl:value-of select="$Copyright" /> 152: </fo:block> 153: </fo:static-content> 154: 155: <!-- Content flow starts here --> 156: <fo:flow flow-name="xsl-region-body"> 157: <xsl:apply-templates /> 158: </fo:flow> 159: </fo:page-sequence> 160: </fo:root> 161:</xsl:template> 162: 163:<!-- Templates --> 164:<xsl:template match="PLAY"> 165: <fo:block font-family="Helvectica, Arial, sans-serif" font-size="32pt" space-before="20pt" space-after="8pt"><xsl:value-of select="TITLE"/></fo:block> 166: <xsl:apply-templates select="ACT" /> 167:</xsl:template> 168: 169:<xsl:template match="ACT"> 170: <fo:block font-family="Helvectica, Arial, sans-serif" font-size="24pt" space-before="20pt" space-after="8pt"><xsl:value-of select="TITLE"/></fo:block> 171: <xsl:apply-templates select="SCENE" /> 172:</xsl:template> 173: 174:<xsl:template match="SCENE"> 175: <fo:block font-family="Helvectica, Arial, sans-serif" font-size="18pt" space-before="20pt" space-after="8pt"><xsl:value-of select="TITLE"/></fo:block> 176: <xsl:apply-templates select="SPEECH" /> 177:</xsl:template> 178: 179:<xsl:template match="SPEECH"> 180: <fo:block font-family="Helvectica, Arial, sans-serif" font-size="12pt" space-before="16pt" space-after="8pt" font-weight="bold"> 181: <xsl:value-of select="SPEAKER" /> 182: </fo:block> 183: <xsl:apply-templates select="LINE" /> 184:</xsl:template> 185: 186:<xsl:template match="LINE"> 187: <fo:block font-family="Helvectica, Arial, sans-serif" font-size="12pt" space-after="4pt"> 188: <xsl:value-of select="." /> 189: </fo:block> 190:</xsl:template> 191: 192: 193:</xsl:stylesheet>