Advertisement
Guest User

xslcode

a guest
Jan 23rd, 2015
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.04 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet version="2.0" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:output indent="no" method="html" version="4.0"/>
  4. <xsl:template match="/">
  5. <xsl:text disable-output-escaping="yes">&lt;!DOCTYPE html&gt;</xsl:text>
  6. <html>
  7. <head>
  8. <title>Stefano Benni - Le Beatrici</title>
  9. <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
  10. </head>
  11. <body>
  12. <xsl:apply-templates/>
  13. </body>
  14. </html>
  15. </xsl:template>
  16. <xsl:template match="tei:teiHeader">
  17. <div>
  18. <xsl:attribute name="id">header</xsl:attribute>
  19. <h1>
  20. <xsl:attribute name="id">titolo</xsl:attribute>
  21. <xsl:value-of select="tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:title"/>
  22. </h1>
  23. <h1>
  24. <xsl:attribute name="id">resp-name</xsl:attribute>
  25. <xsl:value-of select="tei:fileDesc/tei:titleStmt/tei:respStmt/tei:resp"/>
  26. <xsl:value-of select="tei:fileDesc/tei:titleStmt/tei:respStmt/tei:name"/>
  27. </h1>
  28. </div>
  29. <xsl:element name="div">
  30. <xsl:attribute name="id">Info</xsl:attribute>
  31. <xsl:element name="div">
  32. <xsl:attribute name="id">descrizioneCod</xsl:attribute>
  33. <xsl:element name="h4">
  34. <xsl:attribute name="id">descrizioneTitle</xsl:attribute>
  35. Informazioni sulla codifica:
  36. </xsl:element>
  37. <xsl:element name="p">
  38. <xsl:attribute name="id">descrizioneText</xsl:attribute>
  39. <xsl:value-of select="tei:encodingDesc/tei:p"/>
  40. </xsl:element>
  41. </xsl:element>
  42. <xsl:element name="div">
  43. <xsl:attribute name="id">informazioni</xsl:attribute>
  44.  
  45. <h5>
  46. Titolo:
  47. <xsl:value-of select="tei:fileDesc/tei:titleStmt/tei:title"/>
  48. </h5>
  49.  
  50. <h5>
  51. Codifica curata da:
  52. <xsl:value-of select="tei:fileDesc/tei:titleStmt/tei:respStmt/tei:name"/>
  53. </h5>
  54.  
  55. <h5>
  56. Publisher:
  57. <xsl:value-of select="tei:fileDesc/tei:publicationStmt/tei:publisher"/>
  58. </h5>
  59.  
  60. <h5>
  61. Data:
  62. <xsl:value-of select="tei:fileDesc/tei:publicationStmt/tei:date"/>
  63. </h5>
  64. <h5>
  65. <xsl:value-of select="tei:fileDesc/tei:sourceDesc/tei:author"/>
  66. </h5>
  67.  
  68. <h5>
  69. Casa editrice:
  70. <xsl:value-of select="tei:fileDesc/tei:sourceDesc/tei:bibl/tei:publisher"/>
  71. </h5>
  72.  
  73. <h5>
  74. Data pubblicazione:
  75. <xsl:value-of select="tei:fileDesc/tei:sourceDesc/tei:bibl/tei:date"/>
  76. </h5>
  77. </xsl:element>
  78. </xsl:element>
  79. </xsl:template>
  80. <xsl:template match="tei:text">
  81. <xsl:apply-templates></xsl:apply-templates>
  82. </xsl:template>
  83.  
  84. <xsl:template match="tei:body/tei:div[@type='poetry']">
  85. <xsl:element name="div">
  86. <xsl:attribute name="class">poetry</xsl:attribute>
  87. <xsl:for-each select="tei:epigraph/tei:lg/tei:l">
  88. <xsl:element name="p">
  89. <xsl:attribute name="class">poetry</xsl:attribute>
  90. <xsl:element name="i">
  91. <xsl:value-of select="."/>
  92. </xsl:element>
  93. </xsl:element>
  94. </xsl:for-each>
  95. </xsl:element>
  96. </xsl:template>
  97.  
  98. <xsl:template match="tei:body/tei:div[@type='racconto']/tei:div[@type='poetry']">
  99. <xsl:element name="div">
  100. <xsl:attribute name="class">poetry</xsl:attribute>
  101. <xsl:for-each select="tei:epigraph/tei:lg/tei:l">
  102. <xsl:element name="p">
  103. <xsl:attribute name="class">poetry</xsl:attribute>
  104. <xsl:element name="i">
  105. <xsl:value-of select="."/>
  106. </xsl:element>
  107. </xsl:element>
  108. </xsl:for-each>
  109. </xsl:element>
  110. </xsl:template>
  111.  
  112. <xsl:template match="tei:front">
  113. <xsl:element name="div">
  114. <xsl:attribute name="class">front</xsl:attribute>
  115. <xsl:element name="h2">
  116. <xsl:value-of select="tei:docTitle/tei:titlePart"/>
  117. </xsl:element>
  118. <xsl:element name="h3">
  119. <xsl:value-of select="tei:docAuthor"/>
  120. </xsl:element>
  121. </xsl:element>
  122. </xsl:template>
  123.  
  124. <xsl:template match="tei:body/tei:div[@type='racconto']">
  125. <xsl:element name="div">
  126. <xsl:for-each select="tei:p">
  127. <xsl:element name="p">
  128. <xsl:attribute name="class">testo</xsl:attribute>
  129. <xsl:value-of select="."/>
  130. </xsl:element>
  131. </xsl:for-each>
  132. </xsl:element>
  133.  
  134. <xsl:element name="div">
  135. <xsl:attribute name="id">lista</xsl:attribute>
  136. <ul>
  137. <p>Personaggi:</p>
  138. <xsl:for-each select="distinct-values(//tei:name[@type='person'])">
  139. <li>
  140. <xsl:value-of select="."/>
  141. </li>
  142. </xsl:for-each>
  143. </ul>
  144. <ul>
  145. <p>Luoghi:</p>
  146. <xsl:for-each select="distinct-values(//tei:name[@type='place'])">
  147. <li>
  148. <xsl:value-of select="."></xsl:value-of>
  149. </li>
  150. </xsl:for-each>
  151. </ul>
  152. </xsl:element>
  153. </xsl:template>
  154. </xsl:stylesheet>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement