metanorma-itu 1.2.14 → 1.2.15

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,6 +3,7 @@
3
3
  <xsl:output method="xml" encoding="UTF-8" indent="no"/>
4
4
 
5
5
  <xsl:param name="svg_images"/>
6
+ <xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
6
7
  <xsl:variable name="images" select="document($svg_images)"/>
7
8
 
8
9
 
@@ -187,7 +188,9 @@
187
188
  </fo:page-sequence-master>
188
189
  </fo:layout-master-set>
189
190
 
190
- <xsl:call-template name="addPDFUAmeta"/>
191
+ <fo:declarations>
192
+ <xsl:call-template name="addPDFUAmeta"/>
193
+ </fo:declarations>
191
194
 
192
195
  <xsl:call-template name="addBookmarks">
193
196
  <xsl:with-param name="contents" select="$contents"/>
@@ -1581,6 +1584,7 @@
1581
1584
  <xsl:variable name="element-name">
1582
1585
  <xsl:choose>
1583
1586
  <xsl:when test="ancestor::itu:dd">fo:inline</xsl:when>
1587
+ <xsl:when test="ancestor::itu:title">fo:inline</xsl:when>
1584
1588
  <xsl:when test="normalize-space(ancestor::itu:p[1]//text()[not(parent::itu:tt)]) != ''">fo:inline</xsl:when>
1585
1589
  <xsl:otherwise>fo:block</xsl:otherwise>
1586
1590
  </xsl:choose>
@@ -1588,9 +1592,12 @@
1588
1592
  <xsl:element name="{$element-name}">
1589
1593
  <xsl:attribute name="font-family">Courier</xsl:attribute>
1590
1594
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1591
- <xsl:if test="local-name(..) != 'dt' and not(ancestor::itu:dd)">
1595
+ <xsl:if test="local-name(..) != 'dt' and not(ancestor::itu:dd) and not(ancestor::itu:title)">
1592
1596
  <xsl:attribute name="text-align">center</xsl:attribute>
1593
1597
  </xsl:if>
1598
+ <xsl:if test="ancestor::itu:title">
1599
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1600
+ </xsl:if>
1594
1601
  <xsl:apply-templates/>
1595
1602
  </xsl:element>
1596
1603
  </xsl:template>
@@ -2129,6 +2136,7 @@
2129
2136
 
2130
2137
 
2131
2138
 
2139
+
2132
2140
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2133
2141
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
2134
2142
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -2758,7 +2766,15 @@
2758
2766
  </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
2759
2767
  <xsl:value-of select="@target"/>
2760
2768
  </xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
2761
- <xsl:variable name="math_text" select="normalize-space(.)"/>
2769
+ <xsl:variable name="mathml">
2770
+ <xsl:for-each select="*">
2771
+ <xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
2772
+ <xsl:copy-of select="."/>
2773
+ </xsl:if>
2774
+ </xsl:for-each>
2775
+ </xsl:variable>
2776
+
2777
+ <xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
2762
2778
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2763
2779
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2764
2780
  <xsl:param name="cols-count"/>
@@ -3760,6 +3776,10 @@
3760
3776
  <fo:inline font-size="10pt" color="red" text-decoration="line-through">
3761
3777
  <xsl:apply-templates/>
3762
3778
  </fo:inline>
3779
+ </xsl:template><xsl:template match="*[local-name()='hi']">
3780
+ <fo:inline background-color="yellow">
3781
+ <xsl:apply-templates/>
3782
+ </fo:inline>
3763
3783
  </xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
3764
3784
  <xsl:variable name="text" select="normalize-space(.)"/>
3765
3785
  <fo:inline font-size="75%">
@@ -4100,6 +4120,7 @@
4100
4120
  <xsl:apply-templates select="." mode="mathml"/>
4101
4121
  </xsl:variable>
4102
4122
  <fo:instream-foreign-object fox:alt-text="Math">
4123
+
4103
4124
  <!-- <xsl:copy-of select="."/> -->
4104
4125
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
4105
4126
  </fo:instream-foreign-object>
@@ -4118,7 +4139,7 @@
4118
4139
  <xsl:apply-templates select="@*|node()" mode="mathml"/>
4119
4140
  </xsl:copy>
4120
4141
  <mathml:mspace width="0.5ex"/>
4121
- </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
4142
+ </xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
4122
4143
  <xsl:variable name="target">
4123
4144
  <xsl:choose>
4124
4145
  <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
@@ -4152,8 +4173,6 @@
4152
4173
  </xsl:otherwise>
4153
4174
  </xsl:choose>
4154
4175
  </fo:inline>
4155
- </xsl:template><xsl:template match="*[local-name()='bookmark']">
4156
- <fo:inline id="{@id}"/>
4157
4176
  </xsl:template><xsl:template match="*[local-name()='appendix']">
4158
4177
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4159
4178
  <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
@@ -4368,6 +4387,7 @@
4368
4387
  <fo:block id="{@id}">
4369
4388
  <xsl:apply-templates/>
4370
4389
  </fo:block>
4390
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4371
4391
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
4372
4392
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
4373
4393
  <xsl:apply-templates/>
@@ -4951,10 +4971,11 @@
4951
4971
  </xsl:choose>
4952
4972
 
4953
4973
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
4954
-
4974
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
4955
4975
  <xsl:variable name="element">
4956
4976
  block
4957
4977
 
4978
+
4958
4979
  </xsl:variable>
4959
4980
  <xsl:choose>
4960
4981
  <xsl:when test="normalize-space($element) = 'block'">
@@ -5045,29 +5066,47 @@
5045
5066
  <xsl:text>— </xsl:text>
5046
5067
  <xsl:apply-templates/>
5047
5068
  </xsl:template><xsl:template match="*[local-name() = 'eref']">
5048
- <fo:inline xsl:use-attribute-sets="eref-style">
5049
- <xsl:if test="@type = 'footnote'">
5050
-
5051
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5052
- <xsl:attribute name="font-size">80%</xsl:attribute>
5053
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5054
- <xsl:attribute name="vertical-align">super</xsl:attribute>
5055
-
5056
-
5057
- </xsl:if>
5058
-
5059
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
5060
-
5061
- <xsl:if test="@type = 'inline'">
5062
-
5063
-
5064
-
5065
- </xsl:if>
5066
-
5067
-
5068
- <xsl:apply-templates/>
5069
- </fo:basic-link>
5070
- </fo:inline>
5069
+
5070
+ <xsl:variable name="bibitemid">
5071
+ <xsl:choose>
5072
+ <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
5073
+ <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
5074
+ <xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
5075
+ </xsl:choose>
5076
+ </xsl:variable>
5077
+
5078
+ <xsl:choose>
5079
+ <xsl:when test="normalize-space($bibitemid) != ''">
5080
+ <fo:inline xsl:use-attribute-sets="eref-style">
5081
+ <xsl:if test="@type = 'footnote'">
5082
+
5083
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5084
+ <xsl:attribute name="font-size">80%</xsl:attribute>
5085
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5086
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
5087
+
5088
+
5089
+ </xsl:if>
5090
+
5091
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
5092
+ <xsl:if test="normalize-space(@citeas) = ''">
5093
+ <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
5094
+ </xsl:if>
5095
+ <xsl:if test="@type = 'inline'">
5096
+
5097
+
5098
+
5099
+ </xsl:if>
5100
+
5101
+ <xsl:apply-templates/>
5102
+ </fo:basic-link>
5103
+
5104
+ </fo:inline>
5105
+ </xsl:when>
5106
+ <xsl:otherwise>
5107
+ <fo:inline><xsl:apply-templates/></fo:inline>
5108
+ </xsl:otherwise>
5109
+ </xsl:choose>
5071
5110
  </xsl:template><xsl:template match="*[local-name() = 'tab']">
5072
5111
  <!-- zero-space char -->
5073
5112
  <xsl:variable name="depth">
@@ -5259,6 +5298,153 @@
5259
5298
  </fo:block>
5260
5299
  </xsl:otherwise>
5261
5300
  </xsl:choose>
5301
+ </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
5302
+ <xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
5303
+ <bookmark><xsl:value-of select="@id"/></bookmark>
5304
+ </xsl:for-each>
5305
+ </xsl:variable><xsl:template match="@*|node()" mode="index_add_id">
5306
+ <xsl:copy>
5307
+ <xsl:apply-templates select="@*|node()" mode="index_add_id"/>
5308
+ </xsl:copy>
5309
+ </xsl:template><xsl:template match="*[local-name() = 'xref']" mode="index_add_id">
5310
+ <xsl:variable name="id">
5311
+ <xsl:call-template name="generateIndexXrefId"/>
5312
+ </xsl:variable>
5313
+ <xsl:copy> <!-- add id to xref -->
5314
+ <xsl:apply-templates select="@*" mode="index_add_id"/>
5315
+ <xsl:attribute name="id">
5316
+ <xsl:value-of select="$id"/>
5317
+ </xsl:attribute>
5318
+ <xsl:apply-templates mode="index_add_id"/>
5319
+ </xsl:copy>
5320
+ <!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
5321
+ <xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
5322
+ <xsl:if test="@to">
5323
+ <xsl:value-of select="$dash"/>
5324
+ <xsl:copy>
5325
+ <xsl:copy-of select="@*"/>
5326
+ <xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
5327
+ <xsl:attribute name="id">
5328
+ <xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
5329
+ </xsl:attribute>
5330
+ <xsl:apply-templates mode="index_add_id"/>
5331
+ </xsl:copy>
5332
+ </xsl:if>
5333
+ </xsl:template><xsl:template match="@*|node()" mode="index_update">
5334
+ <xsl:copy>
5335
+ <xsl:apply-templates select="@*|node()" mode="index_update"/>
5336
+ </xsl:copy>
5337
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" mode="index_update">
5338
+ <xsl:copy>
5339
+ <xsl:apply-templates select="@*" mode="index_update"/>
5340
+ <xsl:apply-templates select="node()[1]" mode="process_li_element"/>
5341
+ </xsl:copy>
5342
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/node()" mode="process_li_element" priority="2">
5343
+ <xsl:param name="element"/>
5344
+ <xsl:param name="remove" select="'false'"/>
5345
+ <xsl:param name="target"/>
5346
+ <!-- <node></node> -->
5347
+ <xsl:choose>
5348
+ <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
5349
+ <!-- skip text (i.e. remove it) and process next element -->
5350
+ <!-- [removed_<xsl:value-of select="."/>] -->
5351
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
5352
+ <xsl:with-param name="target"><xsl:value-of select="$target"/></xsl:with-param>
5353
+ </xsl:apply-templates>
5354
+ </xsl:when>
5355
+ <xsl:when test="self::text()">
5356
+ <xsl:value-of select="."/>
5357
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
5358
+ </xsl:when>
5359
+ <xsl:when test="self::* and local-name(.) = 'xref'">
5360
+ <xsl:variable name="id" select="@id"/>
5361
+ <xsl:variable name="page" select="$index//item[@id = $id]"/>
5362
+ <xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
5363
+ <xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
5364
+
5365
+ <xsl:variable name="id_prev" select="preceding-sibling::*[local-name() = 'xref'][1]/@id"/>
5366
+ <xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
5367
+
5368
+ <xsl:choose>
5369
+ <!-- 2nd pass -->
5370
+ <!-- if page is equal to page for next and page is not the end of range -->
5371
+ <xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
5372
+ <!-- skip element (i.e. remove it) and remove next text ',' -->
5373
+ <!-- [removed_xref] -->
5374
+
5375
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
5376
+ <xsl:with-param name="remove">true</xsl:with-param>
5377
+ <xsl:with-param name="target">
5378
+ <xsl:choose>
5379
+ <xsl:when test="$target != ''"><xsl:value-of select="$target"/></xsl:when>
5380
+ <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise>
5381
+ </xsl:choose>
5382
+ </xsl:with-param>
5383
+ </xsl:apply-templates>
5384
+ </xsl:when>
5385
+
5386
+ <xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
5387
+ <!-- remove xref -->
5388
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
5389
+ <xsl:with-param name="remove">true</xsl:with-param>
5390
+ </xsl:apply-templates>
5391
+ </xsl:when>
5392
+
5393
+ <xsl:otherwise>
5394
+ <xsl:apply-templates select="." mode="xref_copy">
5395
+ <xsl:with-param name="target" select="$target"/>
5396
+ </xsl:apply-templates>
5397
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
5398
+ </xsl:otherwise>
5399
+ </xsl:choose>
5400
+ </xsl:when>
5401
+ <xsl:when test="self::* and local-name(.) = 'ul'">
5402
+ <!-- ul -->
5403
+ <xsl:apply-templates select="." mode="index_update"/>
5404
+ </xsl:when>
5405
+ <xsl:otherwise>
5406
+ <xsl:apply-templates select="." mode="xref_copy">
5407
+ <xsl:with-param name="target" select="$target"/>
5408
+ </xsl:apply-templates>
5409
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
5410
+ </xsl:otherwise>
5411
+ </xsl:choose>
5412
+ </xsl:template><xsl:template match="@*|node()" mode="xref_copy">
5413
+ <xsl:param name="target"/>
5414
+ <xsl:copy>
5415
+ <xsl:apply-templates select="@*" mode="xref_copy"/>
5416
+ <xsl:if test="$target != '' and not(xalan:nodeset($bookmark_in_fn)//bookmark[. = $target])">
5417
+ <xsl:attribute name="target"><xsl:value-of select="$target"/></xsl:attribute>
5418
+ </xsl:if>
5419
+ <xsl:apply-templates select="node()" mode="xref_copy"/>
5420
+ </xsl:copy>
5421
+ </xsl:template><xsl:template name="generateIndexXrefId">
5422
+ <xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
5423
+
5424
+ <xsl:variable name="docid">
5425
+ <xsl:call-template name="getDocumentId"/>
5426
+ </xsl:variable>
5427
+ <xsl:variable name="item_number">
5428
+ <xsl:number count="*[local-name() = 'li'][ancestor::*[local-name() = 'indexsect']]" level="any"/>
5429
+ </xsl:variable>
5430
+ <xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
5431
+ <xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
5432
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
5433
+ <xsl:apply-templates/>
5434
+ <fo:block>
5435
+ <xsl:if test="following-sibling::*[local-name() = 'clause']">
5436
+ <fo:block> </fo:block>
5437
+ </xsl:if>
5438
+ </fo:block>
5439
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
5440
+ <xsl:apply-templates/>
5441
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" priority="4">
5442
+ <xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
5443
+ <fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
5444
+ <xsl:apply-templates/>
5445
+ </fo:block>
5446
+ </xsl:template><xsl:template match="*[local-name() = 'bookmark']">
5447
+ <fo:inline id="{@id}"/>
5262
5448
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
5263
5449
  <!-- <row>
5264
5450
  <date>05-07-2013</date>
@@ -5475,70 +5661,68 @@
5475
5661
  <xsl:variable name="lang">
5476
5662
  <xsl:call-template name="getLang"/>
5477
5663
  </xsl:variable>
5478
- <fo:declarations>
5479
- <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
5480
- <pdf:dictionary type="normal" key="ViewerPreferences">
5481
- <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
5482
- </pdf:dictionary>
5483
- </pdf:catalog>
5484
- <x:xmpmeta xmlns:x="adobe:ns:meta/">
5485
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
5486
- <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
5487
- <!-- Dublin Core properties go here -->
5488
- <dc:title>
5489
- <xsl:variable name="title">
5490
- <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5491
-
5492
-
5493
-
5494
-
5495
-
5496
-
5497
- <xsl:value-of select="*[local-name() = 'title'][@type='main']"/>
5498
-
5499
- </xsl:for-each>
5500
- </xsl:variable>
5501
- <xsl:choose>
5502
- <xsl:when test="normalize-space($title) != ''">
5503
- <xsl:value-of select="$title"/>
5504
- </xsl:when>
5505
- <xsl:otherwise>
5506
- <xsl:text> </xsl:text>
5507
- </xsl:otherwise>
5508
- </xsl:choose>
5509
- </dc:title>
5510
- <dc:creator>
5664
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
5665
+ <pdf:dictionary type="normal" key="ViewerPreferences">
5666
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
5667
+ </pdf:dictionary>
5668
+ </pdf:catalog>
5669
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
5670
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
5671
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
5672
+ <!-- Dublin Core properties go here -->
5673
+ <dc:title>
5674
+ <xsl:variable name="title">
5511
5675
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5512
5676
 
5513
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5514
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5515
- <xsl:if test="position() != last()">; </xsl:if>
5516
- </xsl:for-each>
5517
-
5518
5677
 
5519
5678
 
5520
- </xsl:for-each>
5521
- </dc:creator>
5522
- <dc:description>
5523
- <xsl:variable name="abstract">
5524
5679
 
5525
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
5526
5680
 
5527
5681
 
5528
- </xsl:variable>
5529
- <xsl:value-of select="normalize-space($abstract)"/>
5530
- </dc:description>
5531
- <pdf:Keywords>
5532
- <xsl:call-template name="insertKeywords"/>
5533
- </pdf:Keywords>
5534
- </rdf:Description>
5535
- <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
5536
- <!-- XMP properties go here -->
5537
- <xmp:CreatorTool/>
5538
- </rdf:Description>
5539
- </rdf:RDF>
5540
- </x:xmpmeta>
5541
- </fo:declarations>
5682
+ <xsl:value-of select="*[local-name() = 'title'][@type='main']"/>
5683
+
5684
+ </xsl:for-each>
5685
+ </xsl:variable>
5686
+ <xsl:choose>
5687
+ <xsl:when test="normalize-space($title) != ''">
5688
+ <xsl:value-of select="$title"/>
5689
+ </xsl:when>
5690
+ <xsl:otherwise>
5691
+ <xsl:text> </xsl:text>
5692
+ </xsl:otherwise>
5693
+ </xsl:choose>
5694
+ </dc:title>
5695
+ <dc:creator>
5696
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5697
+
5698
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5699
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5700
+ <xsl:if test="position() != last()">; </xsl:if>
5701
+ </xsl:for-each>
5702
+
5703
+
5704
+
5705
+ </xsl:for-each>
5706
+ </dc:creator>
5707
+ <dc:description>
5708
+ <xsl:variable name="abstract">
5709
+
5710
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
5711
+
5712
+
5713
+ </xsl:variable>
5714
+ <xsl:value-of select="normalize-space($abstract)"/>
5715
+ </dc:description>
5716
+ <pdf:Keywords>
5717
+ <xsl:call-template name="insertKeywords"/>
5718
+ </pdf:Keywords>
5719
+ </rdf:Description>
5720
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
5721
+ <!-- XMP properties go here -->
5722
+ <xmp:CreatorTool/>
5723
+ </rdf:Description>
5724
+ </rdf:RDF>
5725
+ </x:xmpmeta>
5542
5726
  </xsl:template><xsl:template name="getId">
5543
5727
  <xsl:choose>
5544
5728
  <xsl:when test="../@id">