metanorma-bipm 2.1.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isodoc/bipm/base_convert.rb +7 -0
- data/lib/isodoc/bipm/bipm.brochure.xsl +1043 -115
- data/lib/isodoc/bipm/bipm.guide.xsl +1043 -115
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +1043 -115
- data/lib/isodoc/bipm/bipm.rapport.xsl +1043 -115
- data/lib/isodoc/bipm/jcgm.standard.xsl +1042 -114
- data/lib/isodoc/bipm/presentation_xml_convert.rb +17 -0
- data/lib/metanorma/bipm/converter.rb +38 -108
- data/lib/metanorma/bipm/front.rb +113 -0
- data/lib/metanorma/bipm/version.rb +1 -1
- metadata +3 -2
| @@ -2727,6 +2727,7 @@ | |
| 2727 2727 |  | 
| 2728 2728 | 
             
            	<xsl:template match="bipm:p" name="paragraph">
         | 
| 2729 2729 | 
             
            		<xsl:param name="inline" select="'false'"/>
         | 
| 2730 | 
            +
            		<xsl:param name="split_keep-within-line"/>
         | 
| 2730 2731 |  | 
| 2731 2732 | 
             
            		<xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
         | 
| 2732 2733 | 
             
            		<xsl:variable name="element-name">
         | 
| @@ -2773,7 +2774,9 @@ | |
| 2773 2774 | 
             
            				<xsl:attribute name="role">BlockQuote</xsl:attribute>
         | 
| 2774 2775 | 
             
            			</xsl:if>
         | 
| 2775 2776 | 
             
            			<xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
         | 
| 2776 | 
            -
            			<xsl:apply-templates | 
| 2777 | 
            +
            			<xsl:apply-templates>
         | 
| 2778 | 
            +
            				<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
         | 
| 2779 | 
            +
            			</xsl:apply-templates>
         | 
| 2777 2780 | 
             
            		</xsl:element>
         | 
| 2778 2781 | 
             
            		<xsl:if test="$element-name = 'fo:inline' and not($inline = 'true') and not(local-name(..) = 'admonition')">
         | 
| 2779 2782 | 
             
            			<fo:block margin-bottom="6pt">
         | 
| @@ -3810,7 +3813,9 @@ | |
| 3810 3813 | 
             
            	</xsl:template>
         | 
| 3811 3814 |  | 
| 3812 3815 |  | 
| 3813 | 
            -
            <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:variable name=" | 
| 3816 | 
            +
            <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:param name="table_if">false</xsl:param><xsl:param name="table_widths"/><xsl:variable name="table_widths_from_if" select="xalan:nodeset($table_widths)"/><xsl:param name="table_if_debug">false</xsl:param><xsl:variable name="isGenerateTableIF_">
         | 
| 3817 | 
            +
            		false
         | 
| 3818 | 
            +
            	</xsl:variable><xsl:variable name="isGenerateTableIF" select="normalize-space($isGenerateTableIF_)"/><xsl:variable name="lang">
         | 
| 3814 3819 | 
             
            		<xsl:call-template name="getLang"/>
         | 
| 3815 3820 | 
             
            	</xsl:variable><xsl:variable name="pageWidth_">
         | 
| 3816 3821 | 
             
            		210
         | 
| @@ -4271,6 +4276,7 @@ | |
| 4271 4276 | 
             
            		<xsl:attribute name="font-weight">bold</xsl:attribute>
         | 
| 4272 4277 | 
             
            		<xsl:attribute name="border">solid black 1pt</xsl:attribute>
         | 
| 4273 4278 | 
             
            		<xsl:attribute name="padding-left">1mm</xsl:attribute>
         | 
| 4279 | 
            +
            		<xsl:attribute name="padding-right">1mm</xsl:attribute>
         | 
| 4274 4280 | 
             
            		<xsl:attribute name="display-align">center</xsl:attribute>
         | 
| 4275 4281 |  | 
| 4276 4282 | 
             
            			<xsl:attribute name="font-weight">normal</xsl:attribute>
         | 
| @@ -4295,6 +4301,7 @@ | |
| 4295 4301 | 
             
            		<xsl:attribute name="display-align">center</xsl:attribute>
         | 
| 4296 4302 | 
             
            		<xsl:attribute name="border">solid black 1pt</xsl:attribute>
         | 
| 4297 4303 | 
             
            		<xsl:attribute name="padding-left">1mm</xsl:attribute>
         | 
| 4304 | 
            +
            		<xsl:attribute name="padding-right">1mm</xsl:attribute>
         | 
| 4298 4305 |  | 
| 4299 4306 |  | 
| 4300 4307 | 
             
            			<xsl:attribute name="border">solid 0pt white</xsl:attribute>
         | 
| @@ -4392,7 +4399,8 @@ | |
| 4392 4399 | 
             
            	</xsl:attribute-set><xsl:attribute-set name="dt-row-style">
         | 
| 4393 4400 |  | 
| 4394 4401 |  | 
| 4395 | 
            -
            	</xsl:attribute-set><xsl:attribute-set name="dt-style">
         | 
| 4402 | 
            +
            	</xsl:attribute-set><xsl:attribute-set name="dt-cell-style">
         | 
| 4403 | 
            +
            	</xsl:attribute-set><xsl:attribute-set name="dt-block-style">
         | 
| 4396 4404 | 
             
            		<xsl:attribute name="margin-top">6pt</xsl:attribute>
         | 
| 4397 4405 |  | 
| 4398 4406 |  | 
| @@ -4407,6 +4415,8 @@ | |
| 4407 4415 |  | 
| 4408 4416 |  | 
| 4409 4417 |  | 
| 4418 | 
            +
            	</xsl:attribute-set><xsl:attribute-set name="dd-cell-style">
         | 
| 4419 | 
            +
            		<xsl:attribute name="padding-left">2mm</xsl:attribute>
         | 
| 4410 4420 | 
             
            	</xsl:attribute-set><xsl:attribute-set name="appendix-style">
         | 
| 4411 4421 |  | 
| 4412 4422 |  | 
| @@ -5240,7 +5250,38 @@ | |
| 5240 5250 | 
             
            	</xsl:template><xsl:template match="*[local-name()='br']">
         | 
| 5241 5251 | 
             
            		<xsl:value-of select="$linebreak"/>
         | 
| 5242 5252 | 
             
            	</xsl:template><xsl:template match="*[local-name() = 'keep-together_within-line']">
         | 
| 5243 | 
            -
            		< | 
| 5253 | 
            +
            		<xsl:param name="split_keep-within-line"/>
         | 
| 5254 | 
            +
            		
         | 
| 5255 | 
            +
            		<!-- <fo:inline>split_keep-within-line='<xsl:value-of select="$split_keep-within-line"/>'</fo:inline> -->
         | 
| 5256 | 
            +
            		<xsl:choose>
         | 
| 5257 | 
            +
            		
         | 
| 5258 | 
            +
            			<xsl:when test="normalize-space($split_keep-within-line) = 'true'">
         | 
| 5259 | 
            +
            				<xsl:variable name="sep">_</xsl:variable>
         | 
| 5260 | 
            +
            				<xsl:variable name="items">
         | 
| 5261 | 
            +
            					<xsl:call-template name="split">
         | 
| 5262 | 
            +
            						<xsl:with-param name="pText" select="."/>
         | 
| 5263 | 
            +
            						<xsl:with-param name="sep" select="$sep"/>
         | 
| 5264 | 
            +
            						<xsl:with-param name="normalize-space">false</xsl:with-param>
         | 
| 5265 | 
            +
            						<xsl:with-param name="keep_sep">true</xsl:with-param>
         | 
| 5266 | 
            +
            					</xsl:call-template>
         | 
| 5267 | 
            +
            				</xsl:variable>
         | 
| 5268 | 
            +
            				<xsl:for-each select="xalan:nodeset($items)/item">
         | 
| 5269 | 
            +
            					<xsl:choose>
         | 
| 5270 | 
            +
            						<xsl:when test=". = $sep">
         | 
| 5271 | 
            +
            							<xsl:value-of select="$sep"/><xsl:value-of select="$zero_width_space"/>
         | 
| 5272 | 
            +
            						</xsl:when>
         | 
| 5273 | 
            +
            						<xsl:otherwise>
         | 
| 5274 | 
            +
            							<fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
         | 
| 5275 | 
            +
            						</xsl:otherwise>
         | 
| 5276 | 
            +
            					</xsl:choose>
         | 
| 5277 | 
            +
            				</xsl:for-each>
         | 
| 5278 | 
            +
            			</xsl:when>
         | 
| 5279 | 
            +
            			
         | 
| 5280 | 
            +
            			<xsl:otherwise>
         | 
| 5281 | 
            +
            				<fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
         | 
| 5282 | 
            +
            			</xsl:otherwise>
         | 
| 5283 | 
            +
            			
         | 
| 5284 | 
            +
            		</xsl:choose>
         | 
| 5244 5285 | 
             
            	</xsl:template><xsl:template match="*[local-name()='copyright-statement']">
         | 
| 5245 5286 | 
             
            		<fo:block xsl:use-attribute-sets="copyright-statement-style">
         | 
| 5246 5287 | 
             
            			<xsl:apply-templates/>
         | 
| @@ -5342,9 +5383,14 @@ | |
| 5342 5383 |  | 
| 5343 5384 | 
             
            		<xsl:variable name="table">
         | 
| 5344 5385 |  | 
| 5345 | 
            -
            			<xsl:variable name="simple-table"> | 
| 5346 | 
            -
            				<xsl:call-template name="getSimpleTable" | 
| 5386 | 
            +
            			<xsl:variable name="simple-table">
         | 
| 5387 | 
            +
            				<xsl:call-template name="getSimpleTable">
         | 
| 5388 | 
            +
            					<xsl:with-param name="id" select="@id"/>
         | 
| 5389 | 
            +
            				</xsl:call-template>
         | 
| 5347 5390 | 
             
            			</xsl:variable>
         | 
| 5391 | 
            +
            			<!-- <xsl:variable name="simple-table" select="xalan:nodeset($simple-table_)"/> -->
         | 
| 5392 | 
            +
            		
         | 
| 5393 | 
            +
            			<!-- simple-table=<xsl:copy-of select="$simple-table"/> -->
         | 
| 5348 5394 |  | 
| 5349 5395 |  | 
| 5350 5396 | 
             
            			<!-- Display table's name before table as standalone block -->
         | 
| @@ -5367,7 +5413,23 @@ | |
| 5367 5413 | 
             
            					</xsl:call-template>
         | 
| 5368 5414 | 
             
            				</xsl:if>
         | 
| 5369 5415 | 
             
            			</xsl:variable>
         | 
| 5370 | 
            -
            			<!--  | 
| 5416 | 
            +
            			<!-- <xsl:variable name="colwidths" select="xalan:nodeset($colwidths_)"/> -->
         | 
| 5417 | 
            +
            			
         | 
| 5418 | 
            +
            			<!-- DEBUG -->
         | 
| 5419 | 
            +
            			<xsl:if test="$table_if_debug = 'true'">
         | 
| 5420 | 
            +
            				<fo:block font-size="60%">
         | 
| 5421 | 
            +
            					<xsl:apply-templates select="xalan:nodeset($colwidths)" mode="print_as_xml"/>
         | 
| 5422 | 
            +
            				</fo:block>
         | 
| 5423 | 
            +
            			</xsl:if>
         | 
| 5424 | 
            +
            			
         | 
| 5425 | 
            +
            			
         | 
| 5426 | 
            +
            			<!-- <xsl:copy-of select="$colwidths"/> -->
         | 
| 5427 | 
            +
            			
         | 
| 5428 | 
            +
            			<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
         | 
| 5429 | 
            +
            			DEBUG
         | 
| 5430 | 
            +
            			colwidths=<xsl:copy-of select="$colwidths"/>
         | 
| 5431 | 
            +
            		<xsl:text disable-output-escaping="yes">- -></xsl:text> -->
         | 
| 5432 | 
            +
            			
         | 
| 5371 5433 |  | 
| 5372 5434 |  | 
| 5373 5435 | 
             
            			<xsl:variable name="margin-side">
         | 
| @@ -5446,9 +5508,17 @@ | |
| 5446 5508 | 
             
            					</xsl:element>
         | 
| 5447 5509 | 
             
            				</xsl:variable>
         | 
| 5448 5510 |  | 
| 5511 | 
            +
            				<xsl:if test="$isGenerateTableIF = 'true'">
         | 
| 5512 | 
            +
            					<!-- to determine start of table -->
         | 
| 5513 | 
            +
            					<fo:block id="{concat('table_if_start_',@id)}" keep-with-next="always" font-size="1pt">Start table '<xsl:value-of select="@id"/>'.</fo:block>
         | 
| 5514 | 
            +
            				</xsl:if>
         | 
| 5449 5515 |  | 
| 5450 5516 | 
             
            				<fo:table id="{@id}">
         | 
| 5451 5517 |  | 
| 5518 | 
            +
            					<xsl:if test="$isGenerateTableIF = 'true'">
         | 
| 5519 | 
            +
            						<xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
         | 
| 5520 | 
            +
            					</xsl:if>
         | 
| 5521 | 
            +
            					
         | 
| 5452 5522 | 
             
            					<xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">					
         | 
| 5453 5523 | 
             
            						<xsl:attribute name="{local-name()}">
         | 
| 5454 5524 | 
             
            							<xsl:value-of select="."/>
         | 
| @@ -5462,24 +5532,47 @@ | |
| 5462 5532 |  | 
| 5463 5533 |  | 
| 5464 5534 | 
             
            					<xsl:choose>
         | 
| 5465 | 
            -
            						<xsl:when test=" | 
| 5466 | 
            -
            							 | 
| 5467 | 
            -
             | 
| 5468 | 
            -
             | 
| 5535 | 
            +
            						<xsl:when test="$isGenerateTableIF = 'true'">
         | 
| 5536 | 
            +
            							<!-- generate IF for table widths -->
         | 
| 5537 | 
            +
            							<!-- example:
         | 
| 5538 | 
            +
            								<tr>
         | 
| 5539 | 
            +
            									<td valign="top" align="left" id="tab-symdu_1_1">
         | 
| 5540 | 
            +
            										<p>Symbol</p>
         | 
| 5541 | 
            +
            										<word id="tab-symdu_1_1_word_1">Symbol</word>
         | 
| 5542 | 
            +
            									</td>
         | 
| 5543 | 
            +
            									<td valign="top" align="left" id="tab-symdu_1_2">
         | 
| 5544 | 
            +
            										<p>Description</p>
         | 
| 5545 | 
            +
            										<word id="tab-symdu_1_2_word_1">Description</word>
         | 
| 5546 | 
            +
            									</td>
         | 
| 5547 | 
            +
            								</tr>
         | 
| 5548 | 
            +
            							-->
         | 
| 5549 | 
            +
            							<xsl:apply-templates select="xalan:nodeset($simple-table)" mode="process_table-if"/>
         | 
| 5550 | 
            +
            							
         | 
| 5469 5551 | 
             
            						</xsl:when>
         | 
| 5470 5552 | 
             
            						<xsl:otherwise>
         | 
| 5471 | 
            -
            							<xsl:call-template name="insertTableColumnWidth">
         | 
| 5472 | 
            -
            								<xsl:with-param name="colwidths" select="$colwidths"/>
         | 
| 5473 | 
            -
            							</xsl:call-template>
         | 
| 5474 | 
            -
            						</xsl:otherwise>
         | 
| 5475 | 
            -
            					</xsl:choose>
         | 
| 5476 5553 |  | 
| 5477 | 
            -
             | 
| 5478 | 
            -
             | 
| 5479 | 
            -
             | 
| 5480 | 
            -
             | 
| 5481 | 
            -
             | 
| 5482 | 
            -
             | 
| 5554 | 
            +
            							<xsl:choose>
         | 
| 5555 | 
            +
            								<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
         | 
| 5556 | 
            +
            									<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
         | 
| 5557 | 
            +
            										<fo:table-column column-width="{@width}"/>
         | 
| 5558 | 
            +
            									</xsl:for-each>
         | 
| 5559 | 
            +
            								</xsl:when>
         | 
| 5560 | 
            +
            								<xsl:otherwise>
         | 
| 5561 | 
            +
            									<xsl:call-template name="insertTableColumnWidth">
         | 
| 5562 | 
            +
            										<xsl:with-param name="colwidths" select="$colwidths"/>
         | 
| 5563 | 
            +
            									</xsl:call-template>
         | 
| 5564 | 
            +
            								</xsl:otherwise>
         | 
| 5565 | 
            +
            							</xsl:choose>
         | 
| 5566 | 
            +
            							
         | 
| 5567 | 
            +
            							<xsl:choose>
         | 
| 5568 | 
            +
            								<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
         | 
| 5569 | 
            +
            									<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
         | 
| 5570 | 
            +
            								</xsl:when>
         | 
| 5571 | 
            +
            								<xsl:otherwise>
         | 
| 5572 | 
            +
            									<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note')          and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer and note that renders separaterely -->
         | 
| 5573 | 
            +
            								</xsl:otherwise>
         | 
| 5574 | 
            +
            							</xsl:choose>
         | 
| 5575 | 
            +
            					
         | 
| 5483 5576 | 
             
            						</xsl:otherwise>
         | 
| 5484 5577 | 
             
            					</xsl:choose>
         | 
| 5485 5578 |  | 
| @@ -5586,11 +5679,22 @@ | |
| 5586 5679 | 
             
            		<xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
         | 
| 5587 5680 | 
             
            		<xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
         | 
| 5588 5681 | 
             
            	</xsl:template><xsl:template name="calculate-column-widths">
         | 
| 5682 | 
            +
            		<xsl:param name="table"/>
         | 
| 5683 | 
            +
            		<xsl:param name="cols-count"/>
         | 
| 5684 | 
            +
            		
         | 
| 5685 | 
            +
            				<xsl:call-template name="calculate-column-widths-proportional">
         | 
| 5686 | 
            +
            					<xsl:with-param name="cols-count" select="$cols-count"/>
         | 
| 5687 | 
            +
            					<xsl:with-param name="table" select="$table"/>
         | 
| 5688 | 
            +
            				</xsl:call-template>
         | 
| 5689 | 
            +
            			
         | 
| 5690 | 
            +
            	</xsl:template><xsl:template name="calculate-column-widths-proportional">
         | 
| 5589 5691 | 
             
            		<xsl:param name="table"/>
         | 
| 5590 5692 | 
             
            		<xsl:param name="cols-count"/>
         | 
| 5591 5693 | 
             
            		<xsl:param name="curr-col" select="1"/>
         | 
| 5592 5694 | 
             
            		<xsl:param name="width" select="0"/>
         | 
| 5593 5695 |  | 
| 5696 | 
            +
            		<!-- table=<xsl:copy-of select="$table"/> -->
         | 
| 5697 | 
            +
            		
         | 
| 5594 5698 | 
             
            		<xsl:if test="$curr-col <= $cols-count">
         | 
| 5595 5699 | 
             
            			<xsl:variable name="widths">
         | 
| 5596 5700 | 
             
            				<xsl:choose>
         | 
| @@ -5628,10 +5732,15 @@ | |
| 5628 5732 | 
             
            						</xsl:for-each>
         | 
| 5629 5733 | 
             
            					</xsl:when>
         | 
| 5630 5734 | 
             
            					<xsl:otherwise>
         | 
| 5631 | 
            -
            						<xsl: | 
| 5735 | 
            +
            						<!-- <curr_col><xsl:value-of select="$curr-col"/></curr_col> -->
         | 
| 5736 | 
            +
            						
         | 
| 5737 | 
            +
            						<!-- <table><xsl:copy-of select="$table"/></table>
         | 
| 5738 | 
            +
            						 -->
         | 
| 5739 | 
            +
            						<xsl:for-each select="xalan:nodeset($table)/*/*[local-name()='tr']">
         | 
| 5632 5740 | 
             
            							<xsl:variable name="td_text">
         | 
| 5633 5741 | 
             
            								<xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
         | 
| 5634 5742 | 
             
            							</xsl:variable>
         | 
| 5743 | 
            +
            							<!-- <td_text><xsl:value-of select="$td_text"/></td_text> -->
         | 
| 5635 5744 | 
             
            							<xsl:variable name="words">
         | 
| 5636 5745 | 
             
            								<xsl:variable name="string_with_added_zerospaces">
         | 
| 5637 5746 | 
             
            									<xsl:call-template name="add-zero-spaces-java">
         | 
| @@ -5646,6 +5755,7 @@ | |
| 5646 5755 | 
             
            									<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', '  '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
         | 
| 5647 5756 | 
             
            								</xsl:call-template>
         | 
| 5648 5757 | 
             
            							</xsl:variable>
         | 
| 5758 | 
            +
            							<!-- words=<xsl:copy-of select="$words"/> -->
         | 
| 5649 5759 | 
             
            							<xsl:variable name="max_length">
         | 
| 5650 5760 | 
             
            								<xsl:call-template name="max_length">
         | 
| 5651 5761 | 
             
            									<xsl:with-param name="words" select="xalan:nodeset($words)"/>
         | 
| @@ -5670,6 +5780,8 @@ | |
| 5670 5780 | 
             
            				</xsl:choose>
         | 
| 5671 5781 | 
             
            			</xsl:variable>
         | 
| 5672 5782 |  | 
| 5783 | 
            +
            			<!-- widths=<xsl:copy-of select="$widths"/> -->
         | 
| 5784 | 
            +
            			
         | 
| 5673 5785 | 
             
            			<column>
         | 
| 5674 5786 | 
             
            				<xsl:for-each select="xalan:nodeset($widths)//width">
         | 
| 5675 5787 | 
             
            					<xsl:sort select="." data-type="number" order="descending"/>
         | 
| @@ -5678,33 +5790,327 @@ | |
| 5678 5790 | 
             
            					</xsl:if>
         | 
| 5679 5791 | 
             
            				</xsl:for-each>
         | 
| 5680 5792 | 
             
            			</column>
         | 
| 5681 | 
            -
            			<xsl:call-template name="calculate-column-widths">
         | 
| 5793 | 
            +
            			<xsl:call-template name="calculate-column-widths-proportional">
         | 
| 5682 5794 | 
             
            				<xsl:with-param name="cols-count" select="$cols-count"/>
         | 
| 5683 5795 | 
             
            				<xsl:with-param name="curr-col" select="$curr-col +1"/>
         | 
| 5684 5796 | 
             
            				<xsl:with-param name="table" select="$table"/>
         | 
| 5685 5797 | 
             
            			</xsl:call-template>
         | 
| 5686 5798 | 
             
            		</xsl:if>
         | 
| 5687 | 
            -
            	</xsl:template><xsl:template match="*[@keep-together.within-line]/text()" priority="2" mode="td_text">
         | 
| 5799 | 
            +
            	</xsl:template><xsl:template match="*[@keep-together.within-line or local-name() = 'keep-together_within-line']/text()" priority="2" mode="td_text">
         | 
| 5688 5800 | 
             
            		<!-- <xsl:message>DEBUG t1=<xsl:value-of select="."/></xsl:message>
         | 
| 5689 5801 | 
             
            		<xsl:message>DEBUG t2=<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'.','X')"/></xsl:message> -->
         | 
| 5690 5802 | 
             
            		<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'.','X')"/>
         | 
| 5803 | 
            +
            		
         | 
| 5804 | 
            +
            		<!-- if all capitals english letters or digits -->
         | 
| 5805 | 
            +
            		<xsl:if test="normalize-space(translate(., concat($upper,'0123456789'), '')) = ''">
         | 
| 5806 | 
            +
            			<xsl:call-template name="repeat">
         | 
| 5807 | 
            +
            				<xsl:with-param name="char" select="'X'"/>
         | 
| 5808 | 
            +
            				<xsl:with-param name="count" select="string-length(normalize-space(.)) * 0.5"/>
         | 
| 5809 | 
            +
            			</xsl:call-template>
         | 
| 5810 | 
            +
            		</xsl:if>
         | 
| 5691 5811 | 
             
            	</xsl:template><xsl:template match="text()" mode="td_text">
         | 
| 5692 5812 | 
             
            		<xsl:value-of select="translate(., $zero_width_space, ' ')"/><xsl:text> </xsl:text>
         | 
| 5693 5813 | 
             
            	</xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
         | 
| 5694 5814 | 
             
            		<xsl:value-of select="*[local-name()='origin']/@citeas"/>
         | 
| 5695 5815 | 
             
            	</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
         | 
| 5696 5816 | 
             
            		<xsl:value-of select="@target"/>
         | 
| 5697 | 
            -
            	</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
         | 
| 5698 | 
            -
            		<xsl: | 
| 5699 | 
            -
            			<xsl: | 
| 5700 | 
            -
            				<xsl: | 
| 5701 | 
            -
            					<xsl: | 
| 5817 | 
            +
            	</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text" name="math_length">
         | 
| 5818 | 
            +
            		<xsl:if test="$isGenerateTableIF = 'false'">
         | 
| 5819 | 
            +
            			<xsl:variable name="mathml_">
         | 
| 5820 | 
            +
            				<xsl:for-each select="*">
         | 
| 5821 | 
            +
            					<xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
         | 
| 5822 | 
            +
            						<xsl:copy-of select="."/>
         | 
| 5823 | 
            +
            					</xsl:if>
         | 
| 5824 | 
            +
            				</xsl:for-each>
         | 
| 5825 | 
            +
            			</xsl:variable>
         | 
| 5826 | 
            +
            			<xsl:variable name="mathml" select="xalan:nodeset($mathml_)"/>
         | 
| 5827 | 
            +
             | 
| 5828 | 
            +
            			<xsl:variable name="math_text">
         | 
| 5829 | 
            +
            				<xsl:value-of select="normalize-space($mathml)"/>
         | 
| 5830 | 
            +
            				<xsl:for-each select="$mathml//@open"><xsl:value-of select="."/></xsl:for-each>
         | 
| 5831 | 
            +
            				<xsl:for-each select="$mathml//@close"><xsl:value-of select="."/></xsl:for-each>
         | 
| 5832 | 
            +
            			</xsl:variable>
         | 
| 5833 | 
            +
            			<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
         | 
| 5834 | 
            +
            		</xsl:if>
         | 
| 5835 | 
            +
            	</xsl:template><xsl:template name="calculate-column-widths-autolayout-algorithm">
         | 
| 5836 | 
            +
            		<xsl:param name="table"/>
         | 
| 5837 | 
            +
            		<xsl:param name="if">false</xsl:param> <!-- via intermediate format -->
         | 
| 5838 | 
            +
             | 
| 5839 | 
            +
            		<!-- The algorithm uses two passes through the table data and scales linearly with the size of the table -->
         | 
| 5840 | 
            +
            	 
         | 
| 5841 | 
            +
            		<!-- In the first pass, line wrapping is disabled, and the user agent keeps track of the minimum and maximum width of each cell. -->
         | 
| 5842 | 
            +
            	 
         | 
| 5843 | 
            +
            		<!-- Since line wrap has been disabled, paragraphs are treated as long lines unless broken by BR elements. -->
         | 
| 5844 | 
            +
            		 
         | 
| 5845 | 
            +
            		<!-- get current table id -->
         | 
| 5846 | 
            +
            		<xsl:variable name="table_id" select="@id"/>
         | 
| 5847 | 
            +
            		<!-- find table by id in the file 'table_widths' -->
         | 
| 5848 | 
            +
            		<xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
         | 
| 5849 | 
            +
            		<xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/>
         | 
| 5850 | 
            +
            		
         | 
| 5851 | 
            +
            		
         | 
| 5852 | 
            +
            		<!-- table='<xsl:copy-of select="$table"/>' -->
         | 
| 5853 | 
            +
            		<!-- table_id='<xsl:value-of select="$table_id"/>\ -->
         | 
| 5854 | 
            +
            		<!-- table-if='<xsl:copy-of select="$table-if"/>' -->
         | 
| 5855 | 
            +
            		<!-- table_widths_from_if='<xsl:copy-of select="$table_widths_from_if"/>' -->
         | 
| 5856 | 
            +
            		
         | 
| 5857 | 
            +
            		<xsl:variable name="table_with_cell_widths_">
         | 
| 5858 | 
            +
            			<xsl:choose>
         | 
| 5859 | 
            +
            				<xsl:when test="$if = 'true' and normalize-space($table-if) != ''"> <!-- if we read column's width from IF and there is table in IF -->
         | 
| 5860 | 
            +
            				
         | 
| 5861 | 
            +
            					<!-- Example: <column>10</column>
         | 
| 5862 | 
            +
            							<column>11</column> 
         | 
| 5863 | 
            +
            					-->
         | 
| 5864 | 
            +
            					<xsl:apply-templates select="$table-if" mode="determine_cell_widths-if"/>
         | 
| 5865 | 
            +
            				</xsl:when>
         | 
| 5866 | 
            +
            				<xsl:otherwise>
         | 
| 5867 | 
            +
            					<xsl:apply-templates select="xalan:nodeset($table)" mode="determine_cell_widths"/>
         | 
| 5868 | 
            +
            				</xsl:otherwise>
         | 
| 5869 | 
            +
            			</xsl:choose>
         | 
| 5870 | 
            +
            		</xsl:variable>
         | 
| 5871 | 
            +
            		<xsl:variable name="table_with_cell_widths" select="xalan:nodeset($table_with_cell_widths_)"/>
         | 
| 5872 | 
            +
            		
         | 
| 5873 | 
            +
            		<xsl:if test="$table_if_debug = 'true'">
         | 
| 5874 | 
            +
            			<xsl:copy-of select="$table_with_cell_widths"/>
         | 
| 5875 | 
            +
            		</xsl:if>
         | 
| 5876 | 
            +
            		
         | 
| 5877 | 
            +
            		
         | 
| 5878 | 
            +
            		<!-- The minimum and maximum cell widths are then used to determine the corresponding minimum and maximum widths for the columns. -->
         | 
| 5879 | 
            +
            		
         | 
| 5880 | 
            +
            		<xsl:variable name="column_widths_">
         | 
| 5881 | 
            +
            			<!-- iteration of columns -->
         | 
| 5882 | 
            +
            			<xsl:for-each select="$table_with_cell_widths//tr[1]/td">
         | 
| 5883 | 
            +
            				<xsl:variable name="pos" select="position()"/>
         | 
| 5884 | 
            +
            				<column>
         | 
| 5885 | 
            +
            					<xsl:attribute name="width_max">
         | 
| 5886 | 
            +
            						<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_max">
         | 
| 5887 | 
            +
            							<xsl:sort select="." data-type="number" order="descending"/>
         | 
| 5888 | 
            +
            							<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
         | 
| 5889 | 
            +
            						</xsl:for-each>
         | 
| 5890 | 
            +
            					</xsl:attribute>
         | 
| 5891 | 
            +
            					<xsl:attribute name="width_min">
         | 
| 5892 | 
            +
            						<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_min">
         | 
| 5893 | 
            +
            							<xsl:sort select="." data-type="number" order="descending"/>
         | 
| 5894 | 
            +
            							<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
         | 
| 5895 | 
            +
            						</xsl:for-each>
         | 
| 5896 | 
            +
            					</xsl:attribute>
         | 
| 5897 | 
            +
            				</column>
         | 
| 5898 | 
            +
            			</xsl:for-each>
         | 
| 5899 | 
            +
            		</xsl:variable>
         | 
| 5900 | 
            +
            		<xsl:variable name="column_widths" select="xalan:nodeset($column_widths_)"/>
         | 
| 5901 | 
            +
            		
         | 
| 5902 | 
            +
            		<!-- <column_widths>
         | 
| 5903 | 
            +
            			<xsl:copy-of select="$column_widths"/>
         | 
| 5904 | 
            +
            		</column_widths> -->
         | 
| 5905 | 
            +
            		
         | 
| 5906 | 
            +
            		<!-- These in turn, are used to find the minimum and maximum width for the table. -->
         | 
| 5907 | 
            +
            		<xsl:variable name="table_widths_">
         | 
| 5908 | 
            +
            			<table>
         | 
| 5909 | 
            +
            				<xsl:attribute name="width_max">
         | 
| 5910 | 
            +
            					<xsl:value-of select="sum($column_widths/column/@width_max)"/>
         | 
| 5911 | 
            +
            				</xsl:attribute>
         | 
| 5912 | 
            +
            				<xsl:attribute name="width_min">
         | 
| 5913 | 
            +
            					<xsl:value-of select="sum($column_widths/column/@width_min)"/>
         | 
| 5914 | 
            +
            				</xsl:attribute>
         | 
| 5915 | 
            +
            			</table>
         | 
| 5916 | 
            +
            		</xsl:variable>
         | 
| 5917 | 
            +
            		<xsl:variable name="table_widths" select="xalan:nodeset($table_widths_)"/>
         | 
| 5918 | 
            +
            		
         | 
| 5919 | 
            +
            		<xsl:variable name="page_width">
         | 
| 5920 | 
            +
            			<xsl:choose>
         | 
| 5921 | 
            +
            				<xsl:when test="$if = 'true'"><xsl:value-of select="$table-if/@page-width"/></xsl:when>
         | 
| 5922 | 
            +
            				<xsl:otherwise>75</xsl:otherwise>
         | 
| 5923 | 
            +
            			</xsl:choose>
         | 
| 5924 | 
            +
            		</xsl:variable>
         | 
| 5925 | 
            +
            		
         | 
| 5926 | 
            +
            		<xsl:if test="$table_if_debug = 'true'">
         | 
| 5927 | 
            +
            			<table_width>
         | 
| 5928 | 
            +
            				<xsl:copy-of select="$table_widths"/>
         | 
| 5929 | 
            +
            			</table_width>
         | 
| 5930 | 
            +
            			<!-- <debug>$table_widths/@width_min=<xsl:value-of select="$table_widths/table/@width_min"/></debug>
         | 
| 5931 | 
            +
            			<debug>$table_widths/@width_max=<xsl:value-of select="$table_widths/table/@width_max"/></debug>
         | 
| 5932 | 
            +
            			 -->
         | 
| 5933 | 
            +
            			<debug>$page_width=<xsl:value-of select="$page_width"/></debug>
         | 
| 5934 | 
            +
            		</xsl:if>
         | 
| 5935 | 
            +
            		
         | 
| 5936 | 
            +
            		
         | 
| 5937 | 
            +
            		<!-- There are three cases: -->
         | 
| 5938 | 
            +
            		<xsl:choose>
         | 
| 5939 | 
            +
            			<!-- 1. The minimum table width is equal to or wider than the available space -->
         | 
| 5940 | 
            +
            			<xsl:when test="$table_widths/table/@width_min >= $page_width and 1 = 2"> <!-- this condition isn't working see case 3 below -->
         | 
| 5941 | 
            +
            				<!-- call old algorithm -->
         | 
| 5942 | 
            +
            				<case1/>
         | 
| 5943 | 
            +
            				<xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
         | 
| 5944 | 
            +
            				<xsl:call-template name="calculate-column-widths-proportional">
         | 
| 5945 | 
            +
            					<xsl:with-param name="cols-count" select="$cols-count"/>
         | 
| 5946 | 
            +
            					<xsl:with-param name="table" select="$table"/>
         | 
| 5947 | 
            +
            				</xsl:call-template>
         | 
| 5948 | 
            +
            			</xsl:when>
         | 
| 5949 | 
            +
            			<!-- 2. The maximum table width fits within the available space. In this case, set the columns to their maximum widths. -->
         | 
| 5950 | 
            +
            			<xsl:when test="$table_widths/table/@width_max <= $page_width">
         | 
| 5951 | 
            +
            				<case2/>
         | 
| 5952 | 
            +
            				<autolayout/>
         | 
| 5953 | 
            +
            				<xsl:for-each select="$column_widths/column/@width_max">
         | 
| 5954 | 
            +
            					<column divider="100"><xsl:value-of select="."/></column>
         | 
| 5955 | 
            +
            				</xsl:for-each>
         | 
| 5956 | 
            +
            			</xsl:when>
         | 
| 5957 | 
            +
            			<!-- 3. The maximum width of the table is greater than the available space, but the minimum table width is smaller. 
         | 
| 5958 | 
            +
            			In this case, find the difference between the available space and the minimum table width, lets call it W. 
         | 
| 5959 | 
            +
            			Lets also call D the difference between maximum and minimum width of the table. 
         | 
| 5960 | 
            +
            			For each column, let d be the difference between maximum and minimum width of that column. 
         | 
| 5961 | 
            +
            			Now set the column's width to the minimum width plus d times W over D. 
         | 
| 5962 | 
            +
            			This makes columns with large differences between minimum and maximum widths wider than columns with smaller differences. -->
         | 
| 5963 | 
            +
            			<xsl:when test="($table_widths/table/@width_max > $page_width and $table_widths/table/@width_min < $page_width) or ($table_widths/table/@width_min >= $page_width)">
         | 
| 5964 | 
            +
            				<!-- difference between the available space and the minimum table width -->
         | 
| 5965 | 
            +
            				<xsl:variable name="W" select="$page_width - $table_widths/table/@width_min"/>
         | 
| 5966 | 
            +
            				<W><xsl:value-of select="$W"/></W>
         | 
| 5967 | 
            +
            				<!-- difference between maximum and minimum width of the table -->
         | 
| 5968 | 
            +
            				<xsl:variable name="D" select="$table_widths/table/@width_max - $table_widths/table/@width_min"/>
         | 
| 5969 | 
            +
            				<D><xsl:value-of select="$D"/></D>
         | 
| 5970 | 
            +
            				<case3/>
         | 
| 5971 | 
            +
            				<autolayout/>
         | 
| 5972 | 
            +
            				<xsl:if test="$table_widths/table/@width_min >= $page_width">
         | 
| 5973 | 
            +
            					<split_keep-within-line>true</split_keep-within-line>
         | 
| 5974 | 
            +
            				</xsl:if>
         | 
| 5975 | 
            +
            				<xsl:for-each select="$column_widths/column">
         | 
| 5976 | 
            +
            					<!-- difference between maximum and minimum width of that column.  -->
         | 
| 5977 | 
            +
            					<xsl:variable name="d" select="@width_max - @width_min"/>
         | 
| 5978 | 
            +
            					<d><xsl:value-of select="$d"/></d>
         | 
| 5979 | 
            +
            					<width_min><xsl:value-of select="@width_min"/></width_min>
         | 
| 5980 | 
            +
            					<e><xsl:value-of select="$d * $W div $D"/></e>
         | 
| 5981 | 
            +
            					<!-- set the column's width to the minimum width plus d times W over D.  -->
         | 
| 5982 | 
            +
            					<column divider="100">
         | 
| 5983 | 
            +
            						<xsl:value-of select="round(@width_min + $d * $W div $D)"/> <!--  * 10 -->
         | 
| 5984 | 
            +
            					</column>
         | 
| 5985 | 
            +
            				</xsl:for-each>
         | 
| 5986 | 
            +
            				
         | 
| 5987 | 
            +
            			</xsl:when>
         | 
| 5988 | 
            +
            			<xsl:otherwise><unknown_case/></xsl:otherwise>
         | 
| 5989 | 
            +
            		</xsl:choose>
         | 
| 5990 | 
            +
            		
         | 
| 5991 | 
            +
            		
         | 
| 5992 | 
            +
            	</xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths">
         | 
| 5993 | 
            +
            		<xsl:copy>
         | 
| 5994 | 
            +
            				<xsl:apply-templates select="@*|node()" mode="determine_cell_widths"/>
         | 
| 5995 | 
            +
            		</xsl:copy>
         | 
| 5996 | 
            +
            	</xsl:template><xsl:template match="td | th" mode="determine_cell_widths">
         | 
| 5997 | 
            +
            		<xsl:copy>
         | 
| 5998 | 
            +
            			<xsl:copy-of select="@*"/>
         | 
| 5999 | 
            +
            			
         | 
| 6000 | 
            +
            			 <!-- The maximum width is given by the widest line.  -->
         | 
| 6001 | 
            +
            			<xsl:variable name="widths_max">
         | 
| 6002 | 
            +
            				<xsl:for-each select=".//*[local-name() = 'p']">
         | 
| 6003 | 
            +
            					<xsl:call-template name="add_width"/>
         | 
| 6004 | 
            +
            				</xsl:for-each>
         | 
| 6005 | 
            +
            				<xsl:if test="not(*[local-name() = 'p'])">
         | 
| 6006 | 
            +
            					<xsl:call-template name="add_width"/>
         | 
| 5702 6007 | 
             
            				</xsl:if>
         | 
| 6008 | 
            +
            			</xsl:variable>
         | 
| 6009 | 
            +
            			<xsl:variable name="width_max">
         | 
| 6010 | 
            +
            				<xsl:for-each select="xalan:nodeset($widths_max)//width">
         | 
| 6011 | 
            +
            					<xsl:sort select="." data-type="number" order="descending"/>
         | 
| 6012 | 
            +
            					<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
         | 
| 6013 | 
            +
            				</xsl:for-each>
         | 
| 6014 | 
            +
            			</xsl:variable>
         | 
| 6015 | 
            +
            			<xsl:attribute name="width_max">
         | 
| 6016 | 
            +
            				<xsl:value-of select="$width_max"/>
         | 
| 6017 | 
            +
            			</xsl:attribute>
         | 
| 6018 | 
            +
            			
         | 
| 6019 | 
            +
            			<!-- The minimum width is given by the widest text element (word, image, etc.) -->
         | 
| 6020 | 
            +
            			<!-- To do: image width -->
         | 
| 6021 | 
            +
            			<xsl:variable name="td_text">
         | 
| 6022 | 
            +
            				<xsl:apply-templates select="." mode="td_text"/>
         | 
| 6023 | 
            +
            			</xsl:variable>
         | 
| 6024 | 
            +
            			<xsl:variable name="words">
         | 
| 6025 | 
            +
            				<xsl:variable name="string_with_added_zerospaces">
         | 
| 6026 | 
            +
            					<xsl:call-template name="add-zero-spaces-java">
         | 
| 6027 | 
            +
            						<xsl:with-param name="text" select="$td_text"/>
         | 
| 6028 | 
            +
            					</xsl:call-template>
         | 
| 6029 | 
            +
            				</xsl:variable>
         | 
| 6030 | 
            +
            				<xsl:call-template name="tokenize">
         | 
| 6031 | 
            +
            					<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', '  '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
         | 
| 6032 | 
            +
            				</xsl:call-template>
         | 
| 6033 | 
            +
            			</xsl:variable>
         | 
| 6034 | 
            +
            			
         | 
| 6035 | 
            +
            			<xsl:variable name="max_word_length">
         | 
| 6036 | 
            +
            				<xsl:call-template name="max_length">
         | 
| 6037 | 
            +
            					<xsl:with-param name="words" select="xalan:nodeset($words)"/>
         | 
| 6038 | 
            +
            				</xsl:call-template>
         | 
| 6039 | 
            +
            			</xsl:variable>
         | 
| 6040 | 
            +
            			<xsl:variable name="width_min">
         | 
| 6041 | 
            +
            				<xsl:value-of select="$max_word_length"/>
         | 
| 6042 | 
            +
            			</xsl:variable>
         | 
| 6043 | 
            +
            			<xsl:attribute name="width_min">
         | 
| 6044 | 
            +
            				<xsl:value-of select="$width_min"/>
         | 
| 6045 | 
            +
            			</xsl:attribute>
         | 
| 6046 | 
            +
            			<!-- width_max="1" width_min="1.5"> --> <!-- see 'tokenize' template, multiply 1.5 for all latin capitals -->
         | 
| 6047 | 
            +
            			<xsl:if test="$width_min > $width_max">
         | 
| 6048 | 
            +
            				<xsl:attribute name="width_max">
         | 
| 6049 | 
            +
            					<xsl:value-of select="$width_min"/>
         | 
| 6050 | 
            +
            				</xsl:attribute>
         | 
| 6051 | 
            +
            			</xsl:if>
         | 
| 6052 | 
            +
            			<xsl:if test="$width_min = 0">
         | 
| 6053 | 
            +
            				<xsl:attribute name="width_min">1</xsl:attribute>
         | 
| 6054 | 
            +
            			</xsl:if>
         | 
| 6055 | 
            +
            			
         | 
| 6056 | 
            +
            			<xsl:apply-templates select="node()" mode="determine_cell_widths"/>
         | 
| 6057 | 
            +
            			
         | 
| 6058 | 
            +
            		</xsl:copy>
         | 
| 6059 | 
            +
            	</xsl:template><xsl:template name="add_width">
         | 
| 6060 | 
            +
            		<xsl:variable name="p_text"><xsl:apply-templates select="." mode="td_text"/></xsl:variable>
         | 
| 6061 | 
            +
            		<xsl:variable name="p_text_len_" select="string-length(normalize-space($p_text))"/>
         | 
| 6062 | 
            +
            		
         | 
| 6063 | 
            +
            		<xsl:variable name="p_text_len">
         | 
| 6064 | 
            +
            			<xsl:choose>
         | 
| 6065 | 
            +
            				<xsl:when test="normalize-space(translate($p_text, concat($upper,'0123456789'), '')) = ''"> <!-- english word in CAPITAL letters -->
         | 
| 6066 | 
            +
            					<xsl:value-of select="$p_text_len_ * 1.5"/>
         | 
| 6067 | 
            +
            				</xsl:when>
         | 
| 6068 | 
            +
            				<xsl:otherwise><xsl:value-of select="$p_text_len_"/></xsl:otherwise>
         | 
| 6069 | 
            +
            			</xsl:choose>
         | 
| 6070 | 
            +
            		</xsl:variable>
         | 
| 6071 | 
            +
            		
         | 
| 6072 | 
            +
            		<xsl:variable name="math_addon_text">
         | 
| 6073 | 
            +
            			<xsl:for-each select=".//*[local-name() = 'math']">
         | 
| 6074 | 
            +
            				<xsl:apply-templates mode="td_text"/>
         | 
| 5703 6075 | 
             
            			</xsl:for-each>
         | 
| 5704 6076 | 
             
            		</xsl:variable>
         | 
| 6077 | 
            +
            		<xsl:variable name="math_addon_length" select="string-length(normalize-space($math_addon_text)) * 0.2"/> <!-- plus 20% -->
         | 
| 5705 6078 |  | 
| 5706 | 
            -
            		<xsl: | 
| 5707 | 
            -
             | 
| 6079 | 
            +
            		<width><xsl:value-of select="$p_text_len + $math_addon_length"/></width>
         | 
| 6080 | 
            +
            	</xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths-if">
         | 
| 6081 | 
            +
            		<xsl:copy>
         | 
| 6082 | 
            +
            				<xsl:apply-templates select="@*|node()" mode="determine_cell_widths-if"/>
         | 
| 6083 | 
            +
            		</xsl:copy>
         | 
| 6084 | 
            +
            	</xsl:template><xsl:template match="td | th" mode="determine_cell_widths-if">
         | 
| 6085 | 
            +
            		<xsl:copy>
         | 
| 6086 | 
            +
            			<xsl:copy-of select="@*"/>
         | 
| 6087 | 
            +
            			
         | 
| 6088 | 
            +
            			 <!-- The maximum width is given by the widest line.  -->
         | 
| 6089 | 
            +
            			<xsl:attribute name="width_max">
         | 
| 6090 | 
            +
            				<xsl:for-each select="p_len">
         | 
| 6091 | 
            +
            					<xsl:sort select="." data-type="number" order="descending"/>
         | 
| 6092 | 
            +
            					<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
         | 
| 6093 | 
            +
            				</xsl:for-each>
         | 
| 6094 | 
            +
            			</xsl:attribute>
         | 
| 6095 | 
            +
            			
         | 
| 6096 | 
            +
            			<!-- The minimum width is given by the widest text element (word, image, etc.) -->
         | 
| 6097 | 
            +
            			<xsl:variable name="width_min">
         | 
| 6098 | 
            +
            				<xsl:for-each select="word_len">
         | 
| 6099 | 
            +
            					<xsl:sort select="." data-type="number" order="descending"/>
         | 
| 6100 | 
            +
            					<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
         | 
| 6101 | 
            +
            				</xsl:for-each>
         | 
| 6102 | 
            +
            			</xsl:variable>
         | 
| 6103 | 
            +
            			<xsl:attribute name="width_min">
         | 
| 6104 | 
            +
            				<xsl:value-of select="$width_min"/>
         | 
| 6105 | 
            +
            			</xsl:attribute>
         | 
| 6106 | 
            +
            			
         | 
| 6107 | 
            +
            			<xsl:if test="$width_min = 0">
         | 
| 6108 | 
            +
            				<xsl:attribute name="width_min">1</xsl:attribute>
         | 
| 6109 | 
            +
            			</xsl:if>
         | 
| 6110 | 
            +
            			
         | 
| 6111 | 
            +
            			<xsl:apply-templates select="node()" mode="determine_cell_widths-if"/>
         | 
| 6112 | 
            +
            			
         | 
| 6113 | 
            +
            		</xsl:copy>
         | 
| 5708 6114 | 
             
            	</xsl:template><xsl:template match="*[local-name()='thead']">
         | 
| 5709 6115 | 
             
            		<xsl:param name="cols-count"/>
         | 
| 5710 6116 | 
             
            		<fo:table-header>
         | 
| @@ -5789,6 +6195,7 @@ | |
| 5789 6195 | 
             
            						</xsl:for-each>
         | 
| 5790 6196 | 
             
            					</xsl:when>
         | 
| 5791 6197 | 
             
            					<xsl:otherwise>
         | 
| 6198 | 
            +
            						<!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
         | 
| 5792 6199 | 
             
            						<xsl:call-template name="insertTableColumnWidth">
         | 
| 5793 6200 | 
             
            							<xsl:with-param name="colwidths" select="$colwidths"/>
         | 
| 5794 6201 | 
             
            						</xsl:call-template>
         | 
| @@ -5878,6 +6285,52 @@ | |
| 5878 6285 |  | 
| 5879 6286 | 
             
            		</fo:table-body>
         | 
| 5880 6287 |  | 
| 6288 | 
            +
            	</xsl:template><xsl:template match="/" mode="process_table-if">
         | 
| 6289 | 
            +
            		<xsl:param name="table_or_dl">table</xsl:param>
         | 
| 6290 | 
            +
            		<xsl:apply-templates mode="process_table-if">
         | 
| 6291 | 
            +
            			<xsl:with-param name="table_or_dl" select="$table_or_dl"/>
         | 
| 6292 | 
            +
            		</xsl:apply-templates>
         | 
| 6293 | 
            +
            	</xsl:template><xsl:template match="*[local-name()='tbody']" mode="process_table-if">
         | 
| 6294 | 
            +
            		<xsl:param name="table_or_dl">table</xsl:param>
         | 
| 6295 | 
            +
            		
         | 
| 6296 | 
            +
            		<fo:table-body>
         | 
| 6297 | 
            +
            			<xsl:for-each select="*[local-name() = 'tr']">
         | 
| 6298 | 
            +
            				<xsl:variable name="col_count" select="count(*)"/>
         | 
| 6299 | 
            +
             | 
| 6300 | 
            +
            				<!-- iteration for each tr/td -->
         | 
| 6301 | 
            +
            				
         | 
| 6302 | 
            +
            				<xsl:choose>
         | 
| 6303 | 
            +
            					<xsl:when test="$table_or_dl = 'table'">
         | 
| 6304 | 
            +
            						<xsl:for-each select="*[local-name() = 'td' or local-name() = 'th']/*">
         | 
| 6305 | 
            +
            							<fo:table-row number-columns-spanned="{$col_count}">
         | 
| 6306 | 
            +
            								<!-- <test_table><xsl:copy-of select="."/></test_table> -->
         | 
| 6307 | 
            +
            								<xsl:call-template name="td"/>
         | 
| 6308 | 
            +
            							</fo:table-row>
         | 
| 6309 | 
            +
            						</xsl:for-each>
         | 
| 6310 | 
            +
            					</xsl:when>
         | 
| 6311 | 
            +
            					<xsl:otherwise> <!-- $table_or_dl = 'dl' -->
         | 
| 6312 | 
            +
            						<xsl:for-each select="*[local-name() = 'td' or local-name() = 'th']">
         | 
| 6313 | 
            +
            							<xsl:variable name="is_dt" select="position() = 1"/>
         | 
| 6314 | 
            +
            							
         | 
| 6315 | 
            +
            							<xsl:for-each select="*">
         | 
| 6316 | 
            +
            								<!-- <test><xsl:copy-of select="."/></test> -->
         | 
| 6317 | 
            +
            								<fo:table-row number-columns-spanned="{$col_count}">
         | 
| 6318 | 
            +
            									<xsl:choose>
         | 
| 6319 | 
            +
            										<xsl:when test="$is_dt">
         | 
| 6320 | 
            +
            											<xsl:call-template name="insert_dt_cell"/>
         | 
| 6321 | 
            +
            										</xsl:when>
         | 
| 6322 | 
            +
            										<xsl:otherwise>
         | 
| 6323 | 
            +
            											<xsl:call-template name="insert_dd_cell"/>
         | 
| 6324 | 
            +
            										</xsl:otherwise>
         | 
| 6325 | 
            +
            									</xsl:choose>
         | 
| 6326 | 
            +
            								</fo:table-row>
         | 
| 6327 | 
            +
            							</xsl:for-each>
         | 
| 6328 | 
            +
            						</xsl:for-each>
         | 
| 6329 | 
            +
            					</xsl:otherwise>
         | 
| 6330 | 
            +
            				</xsl:choose>
         | 
| 6331 | 
            +
            				
         | 
| 6332 | 
            +
            			</xsl:for-each>
         | 
| 6333 | 
            +
            		</fo:table-body>
         | 
| 5881 6334 | 
             
            	</xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
         | 
| 5882 6335 | 
             
            		<fo:table-row xsl:use-attribute-sets="table-header-row-style">
         | 
| 5883 6336 |  | 
| @@ -5982,7 +6435,7 @@ | |
| 5982 6435 | 
             
            				</xsl:choose>					
         | 
| 5983 6436 | 
             
            			</xsl:attribute>
         | 
| 5984 6437 | 
             
            		</xsl:if>
         | 
| 5985 | 
            -
            	</xsl:template><xsl:template match="*[local-name()='td']">
         | 
| 6438 | 
            +
            	</xsl:template><xsl:template match="*[local-name()='td']" name="td">
         | 
| 5986 6439 | 
             
            		<fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
         | 
| 5987 6440 | 
             
            			<xsl:call-template name="setTextAlignment">
         | 
| 5988 6441 | 
             
            				<xsl:with-param name="default">left</xsl:with-param>
         | 
| @@ -6027,8 +6480,18 @@ | |
| 6027 6480 |  | 
| 6028 6481 | 
             
            			<xsl:call-template name="setTableCellAttributes"/>
         | 
| 6029 6482 |  | 
| 6483 | 
            +
            			<xsl:if test="$isGenerateTableIF = 'true'">
         | 
| 6484 | 
            +
            				<xsl:attribute name="border">1pt solid black</xsl:attribute> <!-- border is mandatory, to determine page width -->
         | 
| 6485 | 
            +
            				<xsl:attribute name="text-align">left</xsl:attribute>
         | 
| 6486 | 
            +
            			</xsl:if>
         | 
| 6487 | 
            +
            			
         | 
| 6030 6488 | 
             
            			<fo:block>
         | 
| 6031 6489 |  | 
| 6490 | 
            +
            				<xsl:if test="$isGenerateTableIF = 'true'">
         | 
| 6491 | 
            +
            					<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
         | 
| 6492 | 
            +
            				</xsl:if>
         | 
| 6493 | 
            +
            			
         | 
| 6494 | 
            +
            			
         | 
| 6032 6495 |  | 
| 6033 6496 | 
             
            					<xsl:if test="not(.//bipm:image)">
         | 
| 6034 6497 | 
             
            						<xsl:attribute name="line-stacking-strategy">font-height</xsl:attribute>
         | 
| @@ -6041,6 +6504,9 @@ | |
| 6041 6504 |  | 
| 6042 6505 |  | 
| 6043 6506 | 
             
            				<xsl:apply-templates/>
         | 
| 6507 | 
            +
            				
         | 
| 6508 | 
            +
            				<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
         | 
| 6509 | 
            +
             | 
| 6044 6510 | 
             
            			</fo:block>			
         | 
| 6045 6511 | 
             
            		</fo:table-cell>
         | 
| 6046 6512 | 
             
            	</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
         | 
| @@ -6254,9 +6720,9 @@ | |
| 6254 6720 | 
             
            			<!-- current hierarchy is 'figure' element -->
         | 
| 6255 6721 | 
             
            			<xsl:variable name="following_dl_colwidths">
         | 
| 6256 6722 | 
             
            				<xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
         | 
| 6257 | 
            -
            					<xsl:variable name=" | 
| 6258 | 
            -
            						<xsl:variable name="doc_ns">
         | 
| 6259 | 
            -
            							bipm
         | 
| 6723 | 
            +
            					<xsl:variable name="simple-table">
         | 
| 6724 | 
            +
            						<!-- <xsl:variable name="doc_ns">
         | 
| 6725 | 
            +
            							<xsl:if test="$namespace = 'bipm'">bipm</xsl:if>
         | 
| 6260 6726 | 
             
            						</xsl:variable>
         | 
| 6261 6727 | 
             
            						<xsl:variable name="ns">
         | 
| 6262 6728 | 
             
            							<xsl:choose>
         | 
| @@ -6267,7 +6733,7 @@ | |
| 6267 6733 | 
             
            									<xsl:value-of select="substring-before(name(/*), '-')"/>
         | 
| 6268 6734 | 
             
            								</xsl:otherwise>
         | 
| 6269 6735 | 
             
            							</xsl:choose>
         | 
| 6270 | 
            -
            						</xsl:variable>
         | 
| 6736 | 
            +
            						</xsl:variable> -->
         | 
| 6271 6737 |  | 
| 6272 6738 | 
             
            						<xsl:for-each select="*[local-name() = 'dl'][1]">
         | 
| 6273 6739 | 
             
            							<tbody>
         | 
| @@ -6278,7 +6744,7 @@ | |
| 6278 6744 |  | 
| 6279 6745 | 
             
            					<xsl:call-template name="calculate-column-widths">
         | 
| 6280 6746 | 
             
            						<xsl:with-param name="cols-count" select="2"/>
         | 
| 6281 | 
            -
            						<xsl:with-param name="table" select="$ | 
| 6747 | 
            +
            						<xsl:with-param name="table" select="$simple-table"/>
         | 
| 6282 6748 | 
             
            					</xsl:call-template>
         | 
| 6283 6749 |  | 
| 6284 6750 | 
             
            				</xsl:if>
         | 
| @@ -6463,7 +6929,18 @@ | |
| 6463 6929 |  | 
| 6464 6930 |  | 
| 6465 6931 |  | 
| 6932 | 
            +
            							
         | 
| 6933 | 
            +
            							<xsl:if test="$isGenerateTableIF = 'true'">
         | 
| 6934 | 
            +
            								<!-- to determine start of table -->
         | 
| 6935 | 
            +
            								<fo:block id="{concat('table_if_start_',@id)}" keep-with-next="always" font-size="1pt">Start table '<xsl:value-of select="@id"/>'.</fo:block>
         | 
| 6936 | 
            +
            							</xsl:if>
         | 
| 6937 | 
            +
            							
         | 
| 6466 6938 | 
             
            							<fo:table width="95%" table-layout="fixed">
         | 
| 6939 | 
            +
            							
         | 
| 6940 | 
            +
            								<xsl:if test="$isGenerateTableIF = 'true'">
         | 
| 6941 | 
            +
            									<xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
         | 
| 6942 | 
            +
            								</xsl:if>
         | 
| 6943 | 
            +
            							
         | 
| 6467 6944 |  | 
| 6468 6945 | 
             
            								<xsl:choose>
         | 
| 6469 6946 | 
             
            									<xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
         | 
| @@ -6472,52 +6949,130 @@ | |
| 6472 6949 |  | 
| 6473 6950 | 
             
            									</xsl:when>
         | 
| 6474 6951 | 
             
            								</xsl:choose>
         | 
| 6475 | 
            -
            								<!-- create virtual html table for dl/[dt and dd] -->
         | 
| 6476 | 
            -
            								<xsl:variable name="html-table">
         | 
| 6477 | 
            -
            									<xsl:variable name="doc_ns">
         | 
| 6478 | 
            -
            										bipm
         | 
| 6479 | 
            -
            									</xsl:variable>
         | 
| 6480 | 
            -
            									<xsl:variable name="ns">
         | 
| 6481 | 
            -
            										<xsl:choose>
         | 
| 6482 | 
            -
            											<xsl:when test="normalize-space($doc_ns)  != ''">
         | 
| 6483 | 
            -
            												<xsl:value-of select="normalize-space($doc_ns)"/>
         | 
| 6484 | 
            -
            											</xsl:when>
         | 
| 6485 | 
            -
            											<xsl:otherwise>
         | 
| 6486 | 
            -
            												<xsl:value-of select="substring-before(name(/*), '-')"/>
         | 
| 6487 | 
            -
            											</xsl:otherwise>
         | 
| 6488 | 
            -
            										</xsl:choose>
         | 
| 6489 | 
            -
            									</xsl:variable>
         | 
| 6490 | 
            -
            									<tbody>
         | 
| 6491 | 
            -
            										<xsl:apply-templates mode="dl"/>
         | 
| 6492 | 
            -
            									</tbody>
         | 
| 6493 | 
            -
            								</xsl:variable>
         | 
| 6494 | 
            -
            								<!-- DEBUG: html-table<xsl:copy-of select="$html-table"/> -->
         | 
| 6495 | 
            -
            								<xsl:variable name="colwidths">
         | 
| 6496 | 
            -
            									<xsl:call-template name="calculate-column-widths">
         | 
| 6497 | 
            -
            										<xsl:with-param name="cols-count" select="2"/>
         | 
| 6498 | 
            -
            										<xsl:with-param name="table" select="$html-table"/>
         | 
| 6499 | 
            -
            									</xsl:call-template>
         | 
| 6500 | 
            -
            								</xsl:variable>
         | 
| 6501 | 
            -
            								<!-- DEBUG: colwidths=<xsl:copy-of select="$colwidths"/> -->
         | 
| 6502 | 
            -
            								<xsl:variable name="maxlength_dt">							
         | 
| 6503 | 
            -
            									<xsl:call-template name="getMaxLength_dt"/>							
         | 
| 6504 | 
            -
            								</xsl:variable>
         | 
| 6505 | 
            -
            								<xsl:variable name="isContainsKeepTogetherTag_">
         | 
| 6506 | 
            -
            									false
         | 
| 6507 | 
            -
            								</xsl:variable>
         | 
| 6508 | 
            -
            								<xsl:variable name="isContainsKeepTogetherTag" select="normalize-space($isContainsKeepTogetherTag_)"/>
         | 
| 6509 | 
            -
            								<!-- isContainsExpressReference=<xsl:value-of select="$isContainsExpressReference"/> -->
         | 
| 6510 | 
            -
            								<xsl:call-template name="setColumnWidth_dl">
         | 
| 6511 | 
            -
            									<xsl:with-param name="colwidths" select="$colwidths"/>							
         | 
| 6512 | 
            -
            									<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
         | 
| 6513 | 
            -
            									<xsl:with-param name="isContainsKeepTogetherTag" select="$isContainsKeepTogetherTag"/>
         | 
| 6514 | 
            -
            								</xsl:call-template>
         | 
| 6515 6952 |  | 
| 6516 | 
            -
            								 | 
| 6517 | 
            -
             | 
| 6518 | 
            -
             | 
| 6519 | 
            -
             | 
| 6520 | 
            -
             | 
| 6953 | 
            +
            								
         | 
| 6954 | 
            +
            								<xsl:choose>
         | 
| 6955 | 
            +
            									<xsl:when test="$isGenerateTableIF = 'true'">
         | 
| 6956 | 
            +
            										<!-- generate IF for table widths -->
         | 
| 6957 | 
            +
            										<!-- example:
         | 
| 6958 | 
            +
            											<tr>
         | 
| 6959 | 
            +
            												<td valign="top" align="left" id="tab-symdu_1_1">
         | 
| 6960 | 
            +
            													<p>Symbol</p>
         | 
| 6961 | 
            +
            													<word id="tab-symdu_1_1_word_1">Symbol</word>
         | 
| 6962 | 
            +
            												</td>
         | 
| 6963 | 
            +
            												<td valign="top" align="left" id="tab-symdu_1_2">
         | 
| 6964 | 
            +
            													<p>Description</p>
         | 
| 6965 | 
            +
            													<word id="tab-symdu_1_2_word_1">Description</word>
         | 
| 6966 | 
            +
            												</td>
         | 
| 6967 | 
            +
            											</tr>
         | 
| 6968 | 
            +
            										-->
         | 
| 6969 | 
            +
            										
         | 
| 6970 | 
            +
            										<!-- create virtual html table for dl/[dt and dd] -->
         | 
| 6971 | 
            +
            										<xsl:variable name="simple-table">
         | 
| 6972 | 
            +
            											
         | 
| 6973 | 
            +
            											<xsl:variable name="dl_table">
         | 
| 6974 | 
            +
            												<tbody>
         | 
| 6975 | 
            +
            													<xsl:apply-templates mode="dl_if">
         | 
| 6976 | 
            +
            														<xsl:with-param name="id" select="@id"/>
         | 
| 6977 | 
            +
            													</xsl:apply-templates>
         | 
| 6978 | 
            +
            												</tbody>
         | 
| 6979 | 
            +
            											</xsl:variable>
         | 
| 6980 | 
            +
            											
         | 
| 6981 | 
            +
            											<!-- dl_table='<xsl:copy-of select="$dl_table"/>' -->
         | 
| 6982 | 
            +
            											
         | 
| 6983 | 
            +
            											<!-- Step: replace <br/> to <p>...</p> -->
         | 
| 6984 | 
            +
            											<xsl:variable name="table_without_br">
         | 
| 6985 | 
            +
            												<xsl:apply-templates select="xalan:nodeset($dl_table)" mode="table-without-br"/>
         | 
| 6986 | 
            +
            											</xsl:variable>
         | 
| 6987 | 
            +
            											
         | 
| 6988 | 
            +
            											<!-- table_without_br='<xsl:copy-of select="$table_without_br"/>' -->
         | 
| 6989 | 
            +
            											
         | 
| 6990 | 
            +
            											<!-- Step: add id to each cell -->
         | 
| 6991 | 
            +
            											<!-- add <word>...</word> for each word, image, math -->
         | 
| 6992 | 
            +
            											<xsl:variable name="simple-table-id">
         | 
| 6993 | 
            +
            												<xsl:apply-templates select="xalan:nodeset($table_without_br)" mode="simple-table-id">
         | 
| 6994 | 
            +
            													<xsl:with-param name="id" select="@id"/>
         | 
| 6995 | 
            +
            												</xsl:apply-templates>
         | 
| 6996 | 
            +
            											</xsl:variable>
         | 
| 6997 | 
            +
            											
         | 
| 6998 | 
            +
            											<!-- simple-table-id='<xsl:copy-of select="$simple-table-id"/>' -->
         | 
| 6999 | 
            +
            											
         | 
| 7000 | 
            +
            											<xsl:copy-of select="xalan:nodeset($simple-table-id)"/>
         | 
| 7001 | 
            +
            											
         | 
| 7002 | 
            +
            										</xsl:variable>
         | 
| 7003 | 
            +
            										
         | 
| 7004 | 
            +
            										<!-- DEBUG: simple-table<xsl:copy-of select="$simple-table"/> -->
         | 
| 7005 | 
            +
            										
         | 
| 7006 | 
            +
            										<xsl:apply-templates select="xalan:nodeset($simple-table)" mode="process_table-if">
         | 
| 7007 | 
            +
            											<xsl:with-param name="table_or_dl">dl</xsl:with-param>
         | 
| 7008 | 
            +
            										</xsl:apply-templates>
         | 
| 7009 | 
            +
            										
         | 
| 7010 | 
            +
            									</xsl:when>
         | 
| 7011 | 
            +
            									<xsl:otherwise>
         | 
| 7012 | 
            +
            								
         | 
| 7013 | 
            +
            										<xsl:variable name="simple-table">
         | 
| 7014 | 
            +
            										
         | 
| 7015 | 
            +
            											<xsl:variable name="dl_table">
         | 
| 7016 | 
            +
            												<tbody>
         | 
| 7017 | 
            +
            													<xsl:apply-templates mode="dl">
         | 
| 7018 | 
            +
            														<xsl:with-param name="id" select="@id"/>
         | 
| 7019 | 
            +
            													</xsl:apply-templates>
         | 
| 7020 | 
            +
            												</tbody>
         | 
| 7021 | 
            +
            											</xsl:variable>
         | 
| 7022 | 
            +
            											
         | 
| 7023 | 
            +
            											<xsl:copy-of select="$dl_table"/>
         | 
| 7024 | 
            +
            										</xsl:variable>
         | 
| 7025 | 
            +
            								
         | 
| 7026 | 
            +
            										<xsl:variable name="colwidths">
         | 
| 7027 | 
            +
            											<xsl:call-template name="calculate-column-widths">
         | 
| 7028 | 
            +
            												<xsl:with-param name="cols-count" select="2"/>
         | 
| 7029 | 
            +
            												<xsl:with-param name="table" select="$simple-table"/>
         | 
| 7030 | 
            +
            											</xsl:call-template>
         | 
| 7031 | 
            +
            										</xsl:variable>
         | 
| 7032 | 
            +
            										
         | 
| 7033 | 
            +
            										<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
         | 
| 7034 | 
            +
            											DEBUG
         | 
| 7035 | 
            +
            											colwidths=<xsl:copy-of select="$colwidths"/>
         | 
| 7036 | 
            +
            										<xsl:text disable-output-escaping="yes">- -></xsl:text> -->
         | 
| 7037 | 
            +
            										
         | 
| 7038 | 
            +
            										<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
         | 
| 7039 | 
            +
            										
         | 
| 7040 | 
            +
            										<xsl:variable name="maxlength_dt">
         | 
| 7041 | 
            +
            											<xsl:call-template name="getMaxLength_dt"/>							
         | 
| 7042 | 
            +
            										</xsl:variable>
         | 
| 7043 | 
            +
            										
         | 
| 7044 | 
            +
            										<xsl:variable name="isContainsKeepTogetherTag_">
         | 
| 7045 | 
            +
            											false
         | 
| 7046 | 
            +
            										</xsl:variable>
         | 
| 7047 | 
            +
            										<xsl:variable name="isContainsKeepTogetherTag" select="normalize-space($isContainsKeepTogetherTag_)"/>
         | 
| 7048 | 
            +
            										<!-- isContainsExpressReference=<xsl:value-of select="$isContainsExpressReference"/> -->
         | 
| 7049 | 
            +
            										
         | 
| 7050 | 
            +
            										
         | 
| 7051 | 
            +
            										<xsl:call-template name="setColumnWidth_dl">
         | 
| 7052 | 
            +
            											<xsl:with-param name="colwidths" select="$colwidths"/>							
         | 
| 7053 | 
            +
            											<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
         | 
| 7054 | 
            +
            											<xsl:with-param name="isContainsKeepTogetherTag" select="$isContainsKeepTogetherTag"/>
         | 
| 7055 | 
            +
            										</xsl:call-template>
         | 
| 7056 | 
            +
            										
         | 
| 7057 | 
            +
            										<fo:table-body>
         | 
| 7058 | 
            +
            											
         | 
| 7059 | 
            +
            											<!-- DEBUG -->
         | 
| 7060 | 
            +
            											<xsl:if test="$table_if_debug = 'true'">
         | 
| 7061 | 
            +
            												<fo:table-row>
         | 
| 7062 | 
            +
            													<fo:table-cell number-columns-spanned="2" font-size="60%">
         | 
| 7063 | 
            +
            														<xsl:apply-templates select="xalan:nodeset($colwidths)" mode="print_as_xml"/>
         | 
| 7064 | 
            +
            													</fo:table-cell>
         | 
| 7065 | 
            +
            												</fo:table-row>
         | 
| 7066 | 
            +
            											</xsl:if>
         | 
| 7067 | 
            +
             | 
| 7068 | 
            +
            											<xsl:apply-templates>
         | 
| 7069 | 
            +
            												<xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
         | 
| 7070 | 
            +
            												<xsl:with-param name="split_keep-within-line" select="xalan:nodeset($colwidths)/split_keep-within-line"/>
         | 
| 7071 | 
            +
            											</xsl:apply-templates>
         | 
| 7072 | 
            +
            											
         | 
| 7073 | 
            +
            										</fo:table-body>
         | 
| 7074 | 
            +
            									</xsl:otherwise>
         | 
| 7075 | 
            +
            								</xsl:choose>
         | 
| 6521 7076 | 
             
            							</fo:table>
         | 
| 6522 7077 | 
             
            						</fo:block>
         | 
| 6523 7078 | 
             
            					</fo:block>
         | 
| @@ -6528,6 +7083,9 @@ | |
| 6528 7083 | 
             
            		<xsl:param name="colwidths"/>		
         | 
| 6529 7084 | 
             
            		<xsl:param name="maxlength_dt"/>
         | 
| 6530 7085 | 
             
            		<xsl:param name="isContainsKeepTogetherTag"/>
         | 
| 7086 | 
            +
            		
         | 
| 7087 | 
            +
            		<!-- <colwidths><xsl:copy-of select="$colwidths"/></colwidths> -->
         | 
| 7088 | 
            +
            		
         | 
| 6531 7089 | 
             
            		<xsl:choose>
         | 
| 6532 7090 | 
             
            			<xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
         | 
| 6533 7091 | 
             
            				<fo:table-column column-width="50%"/>
         | 
| @@ -6535,6 +7093,11 @@ | |
| 6535 7093 | 
             
            			</xsl:when>
         | 
| 6536 7094 | 
             
            			<xsl:otherwise>
         | 
| 6537 7095 | 
             
            				<xsl:choose>
         | 
| 7096 | 
            +
            					<xsl:when test="xalan:nodeset($colwidths)/autolayout">
         | 
| 7097 | 
            +
            						<xsl:call-template name="insertTableColumnWidth">
         | 
| 7098 | 
            +
            							<xsl:with-param name="colwidths" select="$colwidths"/>
         | 
| 7099 | 
            +
            						</xsl:call-template>
         | 
| 7100 | 
            +
            					</xsl:when>
         | 
| 6538 7101 | 
             
            					<xsl:when test="$isContainsKeepTogetherTag">
         | 
| 6539 7102 | 
             
            						<xsl:call-template name="insertTableColumnWidth">
         | 
| 6540 7103 | 
             
            							<xsl:with-param name="colwidths" select="$colwidths"/>
         | 
| @@ -6579,13 +7142,19 @@ | |
| 6579 7142 | 
             
            		</xsl:choose>
         | 
| 6580 7143 | 
             
            	</xsl:template><xsl:template name="insertTableColumnWidth">
         | 
| 6581 7144 | 
             
            		<xsl:param name="colwidths"/>
         | 
| 7145 | 
            +
            		
         | 
| 6582 7146 | 
             
            		<xsl:for-each select="xalan:nodeset($colwidths)//column">
         | 
| 6583 7147 | 
             
            			<xsl:choose>
         | 
| 6584 7148 | 
             
            				<xsl:when test=". = 1 or . = 0">
         | 
| 6585 7149 | 
             
            					<fo:table-column column-width="proportional-column-width(2)"/>
         | 
| 6586 7150 | 
             
            				</xsl:when>
         | 
| 6587 7151 | 
             
            				<xsl:otherwise>
         | 
| 6588 | 
            -
            					<fo:table-column column-width="proportional-column-width({.})"/>
         | 
| 7152 | 
            +
            					<!-- <fo:table-column column-width="proportional-column-width({.})"/> -->
         | 
| 7153 | 
            +
            					<xsl:variable name="divider">
         | 
| 7154 | 
            +
            						<xsl:value-of select="@divider"/>
         | 
| 7155 | 
            +
            						<xsl:if test="not(@divider)">1</xsl:if>
         | 
| 7156 | 
            +
            					</xsl:variable>
         | 
| 7157 | 
            +
            					<fo:table-column column-width="proportional-column-width({round(. div $divider)})"/>
         | 
| 6589 7158 | 
             
            				</xsl:otherwise>
         | 
| 6590 7159 | 
             
            			</xsl:choose>
         | 
| 6591 7160 | 
             
            		</xsl:for-each>
         | 
| @@ -6647,11 +7216,19 @@ | |
| 6647 7216 | 
             
            			</fo:table-cell>
         | 
| 6648 7217 | 
             
            		</fo:table-row>
         | 
| 6649 7218 | 
             
            	</xsl:template><xsl:template match="*[local-name()='dt']" mode="dl">
         | 
| 7219 | 
            +
            		<xsl:param name="id"/>
         | 
| 7220 | 
            +
            		<xsl:variable name="row_number" select="count(preceding-sibling::*[local-name()='dt']) + 1"/>
         | 
| 6650 7221 | 
             
            		<tr>
         | 
| 6651 7222 | 
             
            			<td>
         | 
| 7223 | 
            +
            				<xsl:attribute name="id">
         | 
| 7224 | 
            +
            					<xsl:value-of select="concat($id,'_',$row_number,'_1')"/>
         | 
| 7225 | 
            +
            				</xsl:attribute>
         | 
| 6652 7226 | 
             
            				<xsl:apply-templates/>
         | 
| 6653 7227 | 
             
            			</td>
         | 
| 6654 7228 | 
             
            			<td>
         | 
| 7229 | 
            +
            				<xsl:attribute name="id">
         | 
| 7230 | 
            +
            					<xsl:value-of select="concat($id,'_',$row_number,'_2')"/>
         | 
| 7231 | 
            +
            				</xsl:attribute>
         | 
| 6655 7232 |  | 
| 6656 7233 | 
             
            						<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
         | 
| 6657 7234 | 
             
            							<xsl:with-param name="process">true</xsl:with-param>
         | 
| @@ -6662,50 +7239,122 @@ | |
| 6662 7239 |  | 
| 6663 7240 | 
             
            	</xsl:template><xsl:template match="*[local-name()='dt']">
         | 
| 6664 7241 | 
             
            		<xsl:param name="key_iso"/>
         | 
| 7242 | 
            +
            		<xsl:param name="split_keep-within-line"/>
         | 
| 6665 7243 |  | 
| 6666 7244 | 
             
            		<fo:table-row xsl:use-attribute-sets="dt-row-style">
         | 
| 6667 | 
            -
            			< | 
| 7245 | 
            +
            			<xsl:call-template name="insert_dt_cell">
         | 
| 7246 | 
            +
            				<xsl:with-param name="key_iso" select="$key_iso"/>
         | 
| 7247 | 
            +
            				<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
         | 
| 7248 | 
            +
            			</xsl:call-template>
         | 
| 7249 | 
            +
            			<xsl:for-each select="following-sibling::*[local-name()='dd'][1]">
         | 
| 7250 | 
            +
            				<xsl:call-template name="insert_dd_cell">
         | 
| 7251 | 
            +
            					<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
         | 
| 7252 | 
            +
            				</xsl:call-template>
         | 
| 7253 | 
            +
            			</xsl:for-each>
         | 
| 7254 | 
            +
            		</fo:table-row>
         | 
| 7255 | 
            +
            	</xsl:template><xsl:template name="insert_dt_cell">
         | 
| 7256 | 
            +
            		<xsl:param name="key_iso"/>
         | 
| 7257 | 
            +
            		<xsl:param name="split_keep-within-line"/>
         | 
| 7258 | 
            +
            		<fo:table-cell xsl:use-attribute-sets="dt-cell-style">
         | 
| 7259 | 
            +
            		
         | 
| 7260 | 
            +
            			<xsl:if test="$isGenerateTableIF = 'true'">
         | 
| 7261 | 
            +
            				<!-- border is mandatory, to calculate real width -->
         | 
| 7262 | 
            +
            				<xsl:attribute name="border">0.1pt solid black</xsl:attribute>
         | 
| 7263 | 
            +
            				<xsl:attribute name="text-align">left</xsl:attribute>
         | 
| 7264 | 
            +
            			</xsl:if>
         | 
| 7265 | 
            +
            			
         | 
| 7266 | 
            +
            			
         | 
| 7267 | 
            +
            			<fo:block xsl:use-attribute-sets="dt-block-style">
         | 
| 7268 | 
            +
            				<xsl:copy-of select="@id"/>
         | 
| 7269 | 
            +
            				
         | 
| 7270 | 
            +
            				<xsl:if test="normalize-space($key_iso) = 'true'">
         | 
| 7271 | 
            +
            					<xsl:attribute name="margin-top">0</xsl:attribute>
         | 
| 7272 | 
            +
            				</xsl:if>
         | 
| 7273 | 
            +
            				
         | 
| 7274 | 
            +
            				
         | 
| 7275 | 
            +
            				
         | 
| 7276 | 
            +
            				<xsl:apply-templates>
         | 
| 7277 | 
            +
            					<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
         | 
| 7278 | 
            +
            				</xsl:apply-templates>
         | 
| 7279 | 
            +
            				
         | 
| 7280 | 
            +
            				<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
         | 
| 7281 | 
            +
            				
         | 
| 7282 | 
            +
            			</fo:block>
         | 
| 7283 | 
            +
            		</fo:table-cell>
         | 
| 7284 | 
            +
            	</xsl:template><xsl:template name="insert_dd_cell">
         | 
| 7285 | 
            +
            		<xsl:param name="split_keep-within-line"/>
         | 
| 7286 | 
            +
            		<fo:table-cell xsl:use-attribute-sets="dd-cell-style">
         | 
| 7287 | 
            +
            		
         | 
| 7288 | 
            +
            			<xsl:if test="$isGenerateTableIF = 'true'">
         | 
| 7289 | 
            +
            				<!-- border is mandatory, to calculate real width -->
         | 
| 7290 | 
            +
            				<xsl:attribute name="border">0.1pt solid black</xsl:attribute>
         | 
| 7291 | 
            +
            			</xsl:if>
         | 
| 7292 | 
            +
            		
         | 
| 7293 | 
            +
            			<fo:block>
         | 
| 7294 | 
            +
            			
         | 
| 7295 | 
            +
            				<xsl:if test="$isGenerateTableIF = 'true'">
         | 
| 7296 | 
            +
            					<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
         | 
| 7297 | 
            +
            				</xsl:if>
         | 
| 7298 | 
            +
            			
         | 
| 6668 7299 |  | 
| 6669 | 
            -
            				<fo:block xsl:use-attribute-sets="dt-style">
         | 
| 6670 | 
            -
            					<xsl:copy-of select="@id"/>
         | 
| 6671 | 
            -
            					
         | 
| 6672 | 
            -
            					<xsl:if test="normalize-space($key_iso) = 'true'">
         | 
| 6673 | 
            -
            						<xsl:attribute name="margin-top">0</xsl:attribute>
         | 
| 6674 | 
            -
            					</xsl:if>
         | 
| 6675 | 
            -
            					
         | 
| 6676 | 
            -
            					
         | 
| 6677 | 
            -
            					
         | 
| 6678 | 
            -
            					<xsl:apply-templates/>
         | 
| 6679 | 
            -
            				</fo:block>
         | 
| 6680 | 
            -
            			</fo:table-cell>
         | 
| 6681 | 
            -
            			<fo:table-cell>
         | 
| 6682 | 
            -
            				<fo:block>
         | 
| 6683 | 
            -
            					
         | 
| 6684 7300 |  | 
| 6685 | 
            -
             | 
| 6686 | 
            -
             | 
| 6687 | 
            -
             | 
| 6688 | 
            -
             | 
| 6689 | 
            -
             | 
| 6690 | 
            -
             | 
| 7301 | 
            +
            				<xsl:choose>
         | 
| 7302 | 
            +
            					<xsl:when test="$isGenerateTableIF = 'true'">
         | 
| 7303 | 
            +
            						<xsl:apply-templates> <!-- following-sibling::*[local-name()='dd'][1] -->
         | 
| 7304 | 
            +
            							<xsl:with-param name="process">true</xsl:with-param>
         | 
| 7305 | 
            +
            						</xsl:apply-templates>
         | 
| 7306 | 
            +
            					</xsl:when>
         | 
| 7307 | 
            +
            					<xsl:otherwise>
         | 
| 7308 | 
            +
            						<xsl:apply-templates select="."> <!-- following-sibling::*[local-name()='dd'][1] -->
         | 
| 7309 | 
            +
            							<xsl:with-param name="process">true</xsl:with-param>
         | 
| 7310 | 
            +
            							<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
         | 
| 7311 | 
            +
            						</xsl:apply-templates>
         | 
| 7312 | 
            +
            					</xsl:otherwise>
         | 
| 7313 | 
            +
            				
         | 
| 7314 | 
            +
            				</xsl:choose>
         | 
| 7315 | 
            +
            				
         | 
| 7316 | 
            +
            				<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
         | 
| 7317 | 
            +
            				
         | 
| 7318 | 
            +
            			</fo:block>
         | 
| 7319 | 
            +
            		</fo:table-cell>
         | 
| 6691 7320 | 
             
            	</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
         | 
| 6692 7321 | 
             
            		<xsl:apply-templates/>
         | 
| 6693 7322 | 
             
            	</xsl:template><xsl:template match="*[local-name()='dd']">
         | 
| 6694 7323 | 
             
            		<xsl:param name="process">false</xsl:param>
         | 
| 7324 | 
            +
            		<xsl:param name="split_keep-within-line"/>
         | 
| 6695 7325 | 
             
            		<xsl:if test="$process = 'true'">
         | 
| 6696 7326 | 
             
            			<xsl:apply-templates select="@language"/>
         | 
| 6697 | 
            -
            			<xsl:apply-templates | 
| 7327 | 
            +
            			<xsl:apply-templates>
         | 
| 7328 | 
            +
            				<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
         | 
| 7329 | 
            +
            			</xsl:apply-templates>
         | 
| 6698 7330 | 
             
            		</xsl:if>
         | 
| 6699 7331 | 
             
            	</xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
         | 
| 6700 7332 | 
             
            		<fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
         | 
| 6701 | 
            -
            	</xsl:template><xsl:template match="*[local-name()=' | 
| 7333 | 
            +
            	</xsl:template><xsl:template match="*[local-name()='dt']" mode="dl_if">
         | 
| 7334 | 
            +
            		<xsl:param name="id"/>
         | 
| 7335 | 
            +
            		<xsl:variable name="row_number" select="count(preceding-sibling::*[local-name()='dt']) + 1"/>
         | 
| 7336 | 
            +
            		<tr>
         | 
| 7337 | 
            +
            			<td>
         | 
| 7338 | 
            +
            				<xsl:copy-of select="node()"/>
         | 
| 7339 | 
            +
            			</td>
         | 
| 7340 | 
            +
            			<td>
         | 
| 7341 | 
            +
            				
         | 
| 7342 | 
            +
            						<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()"/>
         | 
| 7343 | 
            +
            					
         | 
| 7344 | 
            +
            			</td>
         | 
| 7345 | 
            +
            		</tr>
         | 
| 7346 | 
            +
            		
         | 
| 7347 | 
            +
            	</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='em']">
         | 
| 6702 7348 | 
             
            		<fo:inline font-style="italic">
         | 
| 6703 7349 | 
             
            			<xsl:apply-templates/>
         | 
| 6704 7350 | 
             
            		</fo:inline>
         | 
| 6705 7351 | 
             
            	</xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
         | 
| 7352 | 
            +
            		<xsl:param name="split_keep-within-line"/>
         | 
| 6706 7353 | 
             
            		<fo:inline font-weight="bold">
         | 
| 6707 7354 |  | 
| 6708 | 
            -
            			<xsl:apply-templates | 
| 7355 | 
            +
            			<xsl:apply-templates>
         | 
| 7356 | 
            +
            				<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
         | 
| 7357 | 
            +
            			</xsl:apply-templates>
         | 
| 6709 7358 | 
             
            		</fo:inline>
         | 
| 6710 7359 | 
             
            	</xsl:template><xsl:template match="*[local-name()='padding']">
         | 
| 6711 7360 | 
             
            		<fo:inline padding-right="{@value}"> </fo:inline>
         | 
| @@ -6906,6 +7555,10 @@ | |
| 6906 7555 | 
             
            		<xsl:param name="text"/>
         | 
| 6907 7556 | 
             
            		<xsl:param name="separator" select="' '"/>
         | 
| 6908 7557 | 
             
            		<xsl:choose>
         | 
| 7558 | 
            +
            		
         | 
| 7559 | 
            +
            			<xsl:when test="$isGenerateTableIF = 'true' and not(contains($text, $separator))">
         | 
| 7560 | 
            +
            				<word><xsl:value-of select="normalize-space($text)"/></word>
         | 
| 7561 | 
            +
            			</xsl:when>
         | 
| 6909 7562 | 
             
            			<xsl:when test="not(contains($text, $separator))">
         | 
| 6910 7563 | 
             
            				<word>
         | 
| 6911 7564 | 
             
            					<xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
         | 
| @@ -6950,13 +7603,66 @@ | |
| 6950 7603 | 
             
            			</xsl:when>
         | 
| 6951 7604 | 
             
            			<xsl:otherwise>
         | 
| 6952 7605 | 
             
            				<word>
         | 
| 6953 | 
            -
            					<xsl: | 
| 7606 | 
            +
            					<xsl:variable name="word" select="normalize-space(substring-before($text, $separator))"/>
         | 
| 7607 | 
            +
            					<xsl:choose>
         | 
| 7608 | 
            +
            						<xsl:when test="$isGenerateTableIF = 'true'">
         | 
| 7609 | 
            +
            							<xsl:value-of select="$word"/>
         | 
| 7610 | 
            +
            						</xsl:when>
         | 
| 7611 | 
            +
            						<xsl:otherwise>
         | 
| 7612 | 
            +
            							<xsl:value-of select="string-length($word)"/>
         | 
| 7613 | 
            +
            						</xsl:otherwise>
         | 
| 7614 | 
            +
            					</xsl:choose>
         | 
| 6954 7615 | 
             
            				</word>
         | 
| 6955 7616 | 
             
            				<xsl:call-template name="tokenize">
         | 
| 6956 7617 | 
             
            					<xsl:with-param name="text" select="substring-after($text, $separator)"/>
         | 
| 6957 7618 | 
             
            				</xsl:call-template>
         | 
| 6958 7619 | 
             
            			</xsl:otherwise>
         | 
| 6959 7620 | 
             
            		</xsl:choose>
         | 
| 7621 | 
            +
            	</xsl:template><xsl:template name="tokenize_with_tags">
         | 
| 7622 | 
            +
            		<xsl:param name="tags"/>
         | 
| 7623 | 
            +
            		<xsl:param name="text"/>
         | 
| 7624 | 
            +
            		<xsl:param name="separator" select="' '"/>
         | 
| 7625 | 
            +
            		<xsl:choose>
         | 
| 7626 | 
            +
            		
         | 
| 7627 | 
            +
            			<xsl:when test="not(contains($text, $separator))">
         | 
| 7628 | 
            +
            				<word>
         | 
| 7629 | 
            +
            					<xsl:call-template name="enclose_text_in_tags">
         | 
| 7630 | 
            +
            						<xsl:with-param name="text" select="normalize-space($text)"/>
         | 
| 7631 | 
            +
            						<xsl:with-param name="tags" select="$tags"/>
         | 
| 7632 | 
            +
            					</xsl:call-template>
         | 
| 7633 | 
            +
            				</word>
         | 
| 7634 | 
            +
            			</xsl:when>
         | 
| 7635 | 
            +
            			<xsl:otherwise>
         | 
| 7636 | 
            +
            				<word>
         | 
| 7637 | 
            +
            					<xsl:call-template name="enclose_text_in_tags">
         | 
| 7638 | 
            +
            						<xsl:with-param name="text" select="normalize-space(substring-before($text, $separator))"/>
         | 
| 7639 | 
            +
            						<xsl:with-param name="tags" select="$tags"/>
         | 
| 7640 | 
            +
            					</xsl:call-template>
         | 
| 7641 | 
            +
            				</word>
         | 
| 7642 | 
            +
            				<xsl:call-template name="tokenize_with_tags">
         | 
| 7643 | 
            +
            					<xsl:with-param name="text" select="substring-after($text, $separator)"/>
         | 
| 7644 | 
            +
            				</xsl:call-template>
         | 
| 7645 | 
            +
            			</xsl:otherwise>
         | 
| 7646 | 
            +
            		</xsl:choose>
         | 
| 7647 | 
            +
            	</xsl:template><xsl:template name="enclose_text_in_tags">
         | 
| 7648 | 
            +
            		<xsl:param name="text"/>
         | 
| 7649 | 
            +
            		<xsl:param name="tags"/>
         | 
| 7650 | 
            +
            		<xsl:param name="num">1</xsl:param> <!-- default (start) value -->
         | 
| 7651 | 
            +
            		
         | 
| 7652 | 
            +
            		<xsl:variable name="tag_name" select="normalize-space(xalan:nodeset($tags)//tag[$num])"/>
         | 
| 7653 | 
            +
            		
         | 
| 7654 | 
            +
            		<xsl:choose>
         | 
| 7655 | 
            +
            			<xsl:when test="$tag_name = ''"><xsl:value-of select="$text"/></xsl:when>
         | 
| 7656 | 
            +
            			<xsl:otherwise>
         | 
| 7657 | 
            +
            				<xsl:element name="{$tag_name}">
         | 
| 7658 | 
            +
            					<xsl:call-template name="enclose_text_in_tags">
         | 
| 7659 | 
            +
            						<xsl:with-param name="text" select="$text"/>
         | 
| 7660 | 
            +
            						<xsl:with-param name="tags" select="$tags"/>
         | 
| 7661 | 
            +
            						<xsl:with-param name="num" select="$num + 1"/>
         | 
| 7662 | 
            +
            					</xsl:call-template>
         | 
| 7663 | 
            +
            				</xsl:element>
         | 
| 7664 | 
            +
            			</xsl:otherwise>
         | 
| 7665 | 
            +
            		</xsl:choose>
         | 
| 6960 7666 | 
             
            	</xsl:template><xsl:template name="max_length">
         | 
| 6961 7667 | 
             
            		<xsl:param name="words"/>
         | 
| 6962 7668 | 
             
            		<xsl:for-each select="$words//word">
         | 
| @@ -7057,12 +7763,19 @@ | |
| 7057 7763 | 
             
            			</xsl:otherwise>
         | 
| 7058 7764 | 
             
            		</xsl:choose>
         | 
| 7059 7765 | 
             
            	</xsl:template><xsl:template name="getSimpleTable">
         | 
| 7766 | 
            +
            		<xsl:param name="id"/>
         | 
| 7767 | 
            +
            		
         | 
| 7060 7768 | 
             
            		<xsl:variable name="simple-table">
         | 
| 7061 7769 |  | 
| 7770 | 
            +
            			<!-- Step 0. replace <br/> to <p>...</p> -->
         | 
| 7771 | 
            +
            			<xsl:variable name="table_without_br">
         | 
| 7772 | 
            +
            				<xsl:apply-templates mode="table-without-br"/>
         | 
| 7773 | 
            +
            			</xsl:variable>
         | 
| 7774 | 
            +
            		
         | 
| 7062 7775 | 
             
            			<!-- Step 1. colspan processing -->
         | 
| 7063 7776 | 
             
            			<xsl:variable name="simple-table-colspan">
         | 
| 7064 7777 | 
             
            				<tbody>
         | 
| 7065 | 
            -
            					<xsl:apply-templates mode="simple-table-colspan"/>
         | 
| 7778 | 
            +
            					<xsl:apply-templates select="xalan:nodeset($table_without_br)" mode="simple-table-colspan"/>
         | 
| 7066 7779 | 
             
            				</tbody>
         | 
| 7067 7780 | 
             
            			</xsl:variable>
         | 
| 7068 7781 |  | 
| @@ -7071,10 +7784,67 @@ | |
| 7071 7784 | 
             
            				<xsl:apply-templates select="xalan:nodeset($simple-table-colspan)" mode="simple-table-rowspan"/>
         | 
| 7072 7785 | 
             
            			</xsl:variable>
         | 
| 7073 7786 |  | 
| 7074 | 
            -
            			 | 
| 7075 | 
            -
             | 
| 7787 | 
            +
            			<!-- Step 3: add id to each cell -->
         | 
| 7788 | 
            +
            			<!-- add <word>...</word> for each word, image, math -->
         | 
| 7789 | 
            +
            			<xsl:variable name="simple-table-id">
         | 
| 7790 | 
            +
            				<xsl:apply-templates select="xalan:nodeset($simple-table-rowspan)" mode="simple-table-id">
         | 
| 7791 | 
            +
            					<xsl:with-param name="id" select="$id"/>
         | 
| 7792 | 
            +
            				</xsl:apply-templates>
         | 
| 7793 | 
            +
            			</xsl:variable>
         | 
| 7794 | 
            +
            			
         | 
| 7795 | 
            +
            			<xsl:copy-of select="xalan:nodeset($simple-table-id)"/>
         | 
| 7796 | 
            +
             | 
| 7076 7797 | 
             
            		</xsl:variable>
         | 
| 7077 7798 | 
             
            		<xsl:copy-of select="$simple-table"/>
         | 
| 7799 | 
            +
            	</xsl:template><xsl:template match="@*|node()" mode="table-without-br">
         | 
| 7800 | 
            +
            		<xsl:copy>
         | 
| 7801 | 
            +
            				<xsl:apply-templates select="@*|node()" mode="table-without-br"/>
         | 
| 7802 | 
            +
            		</xsl:copy>
         | 
| 7803 | 
            +
            	</xsl:template><xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p'])]" mode="table-without-br">
         | 
| 7804 | 
            +
            		<xsl:copy>
         | 
| 7805 | 
            +
            			<xsl:copy-of select="@*"/>
         | 
| 7806 | 
            +
            			<p>
         | 
| 7807 | 
            +
            				<xsl:copy-of select="node()"/>
         | 
| 7808 | 
            +
            			</p>
         | 
| 7809 | 
            +
            		</xsl:copy>
         | 
| 7810 | 
            +
            	</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td'][*[local-name()='br']]" mode="table-without-br">
         | 
| 7811 | 
            +
            		<xsl:copy>
         | 
| 7812 | 
            +
            			<xsl:copy-of select="@*"/>
         | 
| 7813 | 
            +
            			<xsl:for-each select="*[local-name()='br']">
         | 
| 7814 | 
            +
            				<xsl:variable name="current_id" select="generate-id()"/>
         | 
| 7815 | 
            +
            				<p>
         | 
| 7816 | 
            +
            					<xsl:for-each select="preceding-sibling::node()[following-sibling::*[local-name() = 'br'][1][generate-id() = $current_id]][not(local-name() = 'br')]">
         | 
| 7817 | 
            +
            						<xsl:copy-of select="."/>
         | 
| 7818 | 
            +
            					</xsl:for-each>
         | 
| 7819 | 
            +
            				</p>
         | 
| 7820 | 
            +
            				<xsl:if test="not(following-sibling::*[local-name() = 'br'])">
         | 
| 7821 | 
            +
            					<p>
         | 
| 7822 | 
            +
            						<xsl:for-each select="following-sibling::node()">
         | 
| 7823 | 
            +
            							<xsl:copy-of select="."/>
         | 
| 7824 | 
            +
            						</xsl:for-each>
         | 
| 7825 | 
            +
            					</p>
         | 
| 7826 | 
            +
            				</xsl:if>
         | 
| 7827 | 
            +
            			</xsl:for-each>
         | 
| 7828 | 
            +
            		</xsl:copy>
         | 
| 7829 | 
            +
            	</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'p'][*[local-name()='br']]" mode="table-without-br">
         | 
| 7830 | 
            +
            		<xsl:for-each select="*[local-name()='br']">
         | 
| 7831 | 
            +
            			<xsl:variable name="current_id" select="generate-id()"/>
         | 
| 7832 | 
            +
            			<p>
         | 
| 7833 | 
            +
            				<xsl:for-each select="preceding-sibling::node()[following-sibling::*[local-name() = 'br'][1][generate-id() = $current_id]][not(local-name() = 'br')]">
         | 
| 7834 | 
            +
            					<xsl:copy-of select="."/>
         | 
| 7835 | 
            +
            				</xsl:for-each>
         | 
| 7836 | 
            +
            			</p>
         | 
| 7837 | 
            +
            			<xsl:if test="not(following-sibling::*[local-name() = 'br'])">
         | 
| 7838 | 
            +
            				<p>
         | 
| 7839 | 
            +
            					<xsl:for-each select="following-sibling::node()">
         | 
| 7840 | 
            +
            						<xsl:copy-of select="."/>
         | 
| 7841 | 
            +
            					</xsl:for-each>
         | 
| 7842 | 
            +
            				</p>
         | 
| 7843 | 
            +
            			</xsl:if>
         | 
| 7844 | 
            +
            		</xsl:for-each>
         | 
| 7845 | 
            +
            	</xsl:template><xsl:template match="text()[not(ancestor::*[local-name() = 'sourcecode'])]" mode="table-without-br">
         | 
| 7846 | 
            +
            		<xsl:variable name="text" select="translate(.,'	

','')"/>
         | 
| 7847 | 
            +
            		<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),' {2,}',' ')"/>
         | 
| 7078 7848 | 
             
            	</xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
         | 
| 7079 7849 | 
             
            		<xsl:apply-templates mode="simple-table-colspan"/>
         | 
| 7080 7850 | 
             
            	</xsl:template><xsl:template match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
         | 
| @@ -7164,6 +7934,126 @@ | |
| 7164 7934 | 
             
            		<xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
         | 
| 7165 7935 | 
             
            				<xsl:with-param name="previousRow" select="$newRow"/>
         | 
| 7166 7936 | 
             
            		</xsl:apply-templates>
         | 
| 7937 | 
            +
            	</xsl:template><xsl:template match="/" mode="simple-table-id">
         | 
| 7938 | 
            +
            		<xsl:param name="id"/>
         | 
| 7939 | 
            +
            		<xsl:variable name="id_prefixed" select="concat('table_if_',$id)"/> <!-- table id prefixed by 'table_if_' to simple search in IF  -->
         | 
| 7940 | 
            +
            		<xsl:apply-templates select="@*|node()" mode="simple-table-id">
         | 
| 7941 | 
            +
            			<xsl:with-param name="id" select="$id_prefixed"/>
         | 
| 7942 | 
            +
            		</xsl:apply-templates>
         | 
| 7943 | 
            +
            	</xsl:template><xsl:template match="@*|node()" mode="simple-table-id">
         | 
| 7944 | 
            +
            		<xsl:param name="id"/>
         | 
| 7945 | 
            +
            		<xsl:copy>
         | 
| 7946 | 
            +
            				<xsl:apply-templates select="@*|node()" mode="simple-table-id">
         | 
| 7947 | 
            +
            					<xsl:with-param name="id" select="$id"/>
         | 
| 7948 | 
            +
            				</xsl:apply-templates>
         | 
| 7949 | 
            +
            		</xsl:copy>
         | 
| 7950 | 
            +
            	</xsl:template><xsl:template match="*[local-name()='tbody']" mode="simple-table-id">
         | 
| 7951 | 
            +
            		<xsl:param name="id"/>
         | 
| 7952 | 
            +
            		<xsl:copy>
         | 
| 7953 | 
            +
            			<xsl:copy-of select="@*"/>
         | 
| 7954 | 
            +
            			<xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
         | 
| 7955 | 
            +
            			<xsl:apply-templates select="node()" mode="simple-table-id">
         | 
| 7956 | 
            +
            				<xsl:with-param name="id" select="$id"/>
         | 
| 7957 | 
            +
            			</xsl:apply-templates>
         | 
| 7958 | 
            +
            		</xsl:copy>
         | 
| 7959 | 
            +
            	</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td']" mode="simple-table-id">
         | 
| 7960 | 
            +
            		<xsl:param name="id"/>
         | 
| 7961 | 
            +
            		<xsl:copy>
         | 
| 7962 | 
            +
            			<xsl:copy-of select="@*"/>
         | 
| 7963 | 
            +
            			<xsl:variable name="row_number" select="count(../preceding-sibling::*) + 1"/>
         | 
| 7964 | 
            +
            			<xsl:variable name="col_number" select="count(preceding-sibling::*) + 1"/>
         | 
| 7965 | 
            +
            			<xsl:attribute name="id">
         | 
| 7966 | 
            +
            				<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number)"/>
         | 
| 7967 | 
            +
            			</xsl:attribute>
         | 
| 7968 | 
            +
            			
         | 
| 7969 | 
            +
            			<xsl:for-each select="*[local-name() = 'p']">
         | 
| 7970 | 
            +
            				<xsl:copy>
         | 
| 7971 | 
            +
            					<xsl:copy-of select="@*"/>
         | 
| 7972 | 
            +
            					<xsl:variable name="p_num" select="count(preceding-sibling::*[local-name() = 'p']) + 1"/>
         | 
| 7973 | 
            +
            					<xsl:attribute name="id">
         | 
| 7974 | 
            +
            						<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_p_',$p_num)"/>
         | 
| 7975 | 
            +
            					</xsl:attribute>
         | 
| 7976 | 
            +
            					
         | 
| 7977 | 
            +
            					<xsl:copy-of select="node()"/>
         | 
| 7978 | 
            +
            				</xsl:copy>
         | 
| 7979 | 
            +
            			</xsl:for-each>
         | 
| 7980 | 
            +
            			
         | 
| 7981 | 
            +
            			
         | 
| 7982 | 
            +
            			<xsl:if test="$isGenerateTableIF = 'true'"> <!-- split each paragraph to words, image, math -->
         | 
| 7983 | 
            +
            			
         | 
| 7984 | 
            +
            				<xsl:variable name="td_text">
         | 
| 7985 | 
            +
            					<xsl:apply-templates select="." mode="td_text_with_formatting"/>
         | 
| 7986 | 
            +
            				</xsl:variable>
         | 
| 7987 | 
            +
            				
         | 
| 7988 | 
            +
            				<!-- td_text='<xsl:copy-of select="$td_text"/>' -->
         | 
| 7989 | 
            +
            			
         | 
| 7990 | 
            +
            				<xsl:variable name="words">
         | 
| 7991 | 
            +
            					<xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
         | 
| 7992 | 
            +
            						<word>
         | 
| 7993 | 
            +
            							<xsl:copy-of select="."/>
         | 
| 7994 | 
            +
            						</word>
         | 
| 7995 | 
            +
            					</xsl:for-each>
         | 
| 7996 | 
            +
            					
         | 
| 7997 | 
            +
            					<xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
         | 
| 7998 | 
            +
            						<xsl:copy-of select="."/>
         | 
| 7999 | 
            +
            					</xsl:for-each>
         | 
| 8000 | 
            +
            					
         | 
| 8001 | 
            +
            				</xsl:variable>
         | 
| 8002 | 
            +
            				
         | 
| 8003 | 
            +
            				<xsl:for-each select="xalan:nodeset($words)/word">
         | 
| 8004 | 
            +
            					<xsl:variable name="num" select="count(preceding-sibling::word) + 1"/>
         | 
| 8005 | 
            +
            					<xsl:copy>
         | 
| 8006 | 
            +
            						<xsl:attribute name="id">
         | 
| 8007 | 
            +
            							<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_word_',$num)"/>
         | 
| 8008 | 
            +
            						</xsl:attribute>
         | 
| 8009 | 
            +
            						<xsl:copy-of select="node()"/>
         | 
| 8010 | 
            +
            					</xsl:copy>
         | 
| 8011 | 
            +
            				</xsl:for-each>
         | 
| 8012 | 
            +
            			</xsl:if>
         | 
| 8013 | 
            +
            		</xsl:copy>
         | 
| 8014 | 
            +
            		
         | 
| 8015 | 
            +
            	</xsl:template><xsl:template match="@*|node()" mode="td_text_with_formatting">
         | 
| 8016 | 
            +
            		<xsl:copy>
         | 
| 8017 | 
            +
            				<xsl:apply-templates select="@*|node()" mode="td_text_with_formatting"/>
         | 
| 8018 | 
            +
            		</xsl:copy>
         | 
| 8019 | 
            +
            	</xsl:template><xsl:template match="*[local-name() = 'stem' or local-name() = 'image']" mode="td_text_with_formatting"/><xsl:template match="*[local-name() = 'keep-together_within-line']/text()" mode="td_text_with_formatting">
         | 
| 8020 | 
            +
            		<xsl:variable name="formatting_tags">
         | 
| 8021 | 
            +
            			<xsl:call-template name="getFormattingTags"/>
         | 
| 8022 | 
            +
            		</xsl:variable>
         | 
| 8023 | 
            +
            		<word>
         | 
| 8024 | 
            +
            			<xsl:call-template name="enclose_text_in_tags">
         | 
| 8025 | 
            +
            				<xsl:with-param name="text" select="normalize-space(.)"/>
         | 
| 8026 | 
            +
            				<xsl:with-param name="tags" select="$formatting_tags"/>
         | 
| 8027 | 
            +
            			</xsl:call-template>
         | 
| 8028 | 
            +
            		</word>
         | 
| 8029 | 
            +
            	</xsl:template><xsl:template match="*[local-name() != 'keep-together_within-line']/text()" mode="td_text_with_formatting">
         | 
| 8030 | 
            +
            		
         | 
| 8031 | 
            +
            		<xsl:variable name="td_text" select="."/>
         | 
| 8032 | 
            +
            		
         | 
| 8033 | 
            +
            		<xsl:variable name="string_with_added_zerospaces">
         | 
| 8034 | 
            +
            			<xsl:call-template name="add-zero-spaces-java">
         | 
| 8035 | 
            +
            				<xsl:with-param name="text" select="$td_text"/>
         | 
| 8036 | 
            +
            			</xsl:call-template>
         | 
| 8037 | 
            +
            		</xsl:variable>
         | 
| 8038 | 
            +
            		
         | 
| 8039 | 
            +
            		<xsl:variable name="formatting_tags">
         | 
| 8040 | 
            +
            			<xsl:call-template name="getFormattingTags"/>
         | 
| 8041 | 
            +
            		</xsl:variable>
         | 
| 8042 | 
            +
            		
         | 
| 8043 | 
            +
            		<!-- <word>text</word> -->
         | 
| 8044 | 
            +
            		<xsl:call-template name="tokenize_with_tags">
         | 
| 8045 | 
            +
            			<xsl:with-param name="tags" select="$formatting_tags"/>
         | 
| 8046 | 
            +
            			<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', '  '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
         | 
| 8047 | 
            +
            		</xsl:call-template>
         | 
| 8048 | 
            +
            	</xsl:template><xsl:template name="getFormattingTags">
         | 
| 8049 | 
            +
            		<tags>
         | 
| 8050 | 
            +
            			<xsl:if test="ancestor::*[local-name() = 'strong']"><tag>strong</tag></xsl:if>
         | 
| 8051 | 
            +
            			<xsl:if test="ancestor::*[local-name() = 'em']"><tag>em</tag></xsl:if>
         | 
| 8052 | 
            +
            			<xsl:if test="ancestor::*[local-name() = 'sub']"><tag>sub</tag></xsl:if>
         | 
| 8053 | 
            +
            			<xsl:if test="ancestor::*[local-name() = 'sup']"><tag>sup</tag></xsl:if>
         | 
| 8054 | 
            +
            			<xsl:if test="ancestor::*[local-name() = 'tt']"><tag>tt</tag></xsl:if>
         | 
| 8055 | 
            +
            			<xsl:if test="ancestor::*[local-name() = 'keep-together_within-line']"><tag>keep-together_within-line</tag></xsl:if>
         | 
| 8056 | 
            +
            		</tags>
         | 
| 7167 8057 | 
             
            	</xsl:template><xsl:template name="getLang">
         | 
| 7168 8058 | 
             
            		<xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
         | 
| 7169 8059 | 
             
            		<xsl:variable name="language">
         | 
| @@ -8920,7 +9810,9 @@ | |
| 8920 9810 | 
             
            						<!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
         | 
| 8921 9811 | 
             
            					</xsl:if>
         | 
| 8922 9812 | 
             
            					<xsl:variable name="simple-table">	
         | 
| 8923 | 
            -
            						<xsl:call-template name="getSimpleTable" | 
| 9813 | 
            +
            						<xsl:call-template name="getSimpleTable">
         | 
| 9814 | 
            +
            							<xsl:with-param name="id" select="@id"/>
         | 
| 9815 | 
            +
            						</xsl:call-template>
         | 
| 8924 9816 | 
             
            					</xsl:variable>					
         | 
| 8925 9817 | 
             
            					<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
         | 
| 8926 9818 | 
             
            					<xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
         | 
| @@ -9879,7 +10771,7 @@ | |
| 9879 10771 | 
             
            		<!-- <fo:inline id="{@id}" font-size="1pt"/> -->
         | 
| 9880 10772 | 
             
            		<fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
         | 
| 9881 10773 | 
             
            		<!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
         | 
| 9882 | 
            -
            		<xsl:if test="not(following-sibling::node()[normalize-space() != ''])"> </xsl:if>
         | 
| 10774 | 
            +
            		<xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
         | 
| 9883 10775 | 
             
            	</xsl:template><xsl:template match="*[local-name() = 'errata']">
         | 
| 9884 10776 | 
             
            		<!-- <row>
         | 
| 9885 10777 | 
             
            					<date>05-07-2013</date>
         | 
| @@ -11240,4 +12132,40 @@ | |
| 11240 12132 | 
             
            				<xsl:value-of select="$value"/>
         | 
| 11241 12133 | 
             
            			</xsl:otherwise>
         | 
| 11242 12134 | 
             
            		</xsl:choose>
         | 
| 12135 | 
            +
            	</xsl:template><xsl:template match="*" mode="print_as_xml">
         | 
| 12136 | 
            +
            		<xsl:param name="level">0</xsl:param>
         | 
| 12137 | 
            +
             | 
| 12138 | 
            +
            		<fo:block margin-left="{2*$level}mm">
         | 
| 12139 | 
            +
            			<xsl:text>
         | 
| 12140 | 
            +
            <</xsl:text>
         | 
| 12141 | 
            +
            			<xsl:value-of select="local-name()"/>
         | 
| 12142 | 
            +
            			<xsl:for-each select="@*">
         | 
| 12143 | 
            +
            				<xsl:text> </xsl:text>
         | 
| 12144 | 
            +
            				<xsl:value-of select="local-name()"/>
         | 
| 12145 | 
            +
            				<xsl:text>="</xsl:text>
         | 
| 12146 | 
            +
            				<xsl:value-of select="."/>
         | 
| 12147 | 
            +
            				<xsl:text>"</xsl:text>
         | 
| 12148 | 
            +
            			</xsl:for-each>
         | 
| 12149 | 
            +
            			<xsl:text>></xsl:text>
         | 
| 12150 | 
            +
            			
         | 
| 12151 | 
            +
            			<xsl:if test="not(*)">
         | 
| 12152 | 
            +
            				<fo:inline font-weight="bold"><xsl:value-of select="."/></fo:inline>
         | 
| 12153 | 
            +
            				<xsl:text></</xsl:text>
         | 
| 12154 | 
            +
            					<xsl:value-of select="local-name()"/>
         | 
| 12155 | 
            +
            					<xsl:text>></xsl:text>
         | 
| 12156 | 
            +
            			</xsl:if>
         | 
| 12157 | 
            +
            		</fo:block>
         | 
| 12158 | 
            +
            		
         | 
| 12159 | 
            +
            		<xsl:if test="*">
         | 
| 12160 | 
            +
            			<fo:block>
         | 
| 12161 | 
            +
            				<xsl:apply-templates mode="print_as_xml">
         | 
| 12162 | 
            +
            					<xsl:with-param name="level" select="$level + 1"/>
         | 
| 12163 | 
            +
            				</xsl:apply-templates>
         | 
| 12164 | 
            +
            			</fo:block>
         | 
| 12165 | 
            +
            			<fo:block margin-left="{2*$level}mm">
         | 
| 12166 | 
            +
            				<xsl:text></</xsl:text>
         | 
| 12167 | 
            +
            				<xsl:value-of select="local-name()"/>
         | 
| 12168 | 
            +
            				<xsl:text>></xsl:text>
         | 
| 12169 | 
            +
            			</fo:block>
         | 
| 12170 | 
            +
            		</xsl:if>
         | 
| 11243 12171 | 
             
            	</xsl:template></xsl:stylesheet>
         |