Changeset 43:4a4364826e59
- Timestamp:
- 01/05/12 11:01:25 (13 years ago)
- Author:
- František Kučera <franta-hg@…>
- Branch:
- default
- Message:
-
Zvýrazňování syntaxe #12: zdrojáky ze souborů budeme načítat už v XSLT ne až v Javě.
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
-
r40
|
r43
|
|
80 | 80 | return null; |
81 | 81 | } |
82 | | } |
83 | | |
84 | | /** |
85 | | * TODO: prohodit volání mezi zvýrazniSyntaxiSouboru() a zvýrazniSyntaxi(), |
86 | | * aby se nepřeváděl proud na text a pak zase na proud. |
87 | | * |
88 | | * @param src cesta k souboru, jehož obsah se má zvýraznit a vložit |
89 | | */ |
90 | | public static String zvýrazniSyntaxiSouboru(String src, String jazyk) throws IOException, InterruptedException { |
91 | | String zdroják = načtiProud(new FileInputStream(new File(ADRESÁŘ_VSTUPNÍ, src))); |
92 | | return zvýrazniSyntaxi(zdroják, jazyk); |
93 | 82 | } |
94 | 83 | |
-
r41
|
r43
|
|
124 | 124 | --> |
125 | 125 | <xsl:template match="m:pre"> |
126 | | <xsl:call-template name="vypišPre"> |
127 | | <xsl:with-param name="zvýrazněnýText" select="j:zvýrazniSyntaxi(text(), @jazyk)"/> |
| 126 | <xsl:call-template name="zvýrazniZdroják"> |
| 127 | <xsl:with-param name="zdroják" select="text()"/> |
128 | 128 | </xsl:call-template> |
129 | 129 | </xsl:template> |
130 | 130 | |
131 | 131 | <xsl:template match="m:pre[@src]"> |
132 | | <xsl:call-template name="vypišPre"> |
133 | | <xsl:with-param name="zvýrazněnýText" select="j:zvýrazniSyntaxiSouboru(@src, @jazyk)"/> |
| 132 | <xsl:call-template name="zvýrazniZdroják"> |
| 133 | <xsl:with-param name="zdroják" select="unparsed-text(concat($vstup, @src))"/> |
134 | 134 | </xsl:call-template> |
135 | | <xsl:if test="@odkaz = 'ano'"> |
136 | | <p class="zdroják-ke-stažení"> |
137 | | <span>Stáhnout: <a href="{encode-for-uri(@src)}"><xsl:value-of select="@src"/></a></span> |
138 | | </p> |
139 | | </xsl:if> |
140 | | </xsl:template> |
141 | | |
142 | | <xsl:template name="vypišPre"> |
143 | | <xsl:param name="zvýrazněnýText"/> |
| 135 | <xsl:if test="@odkaz = 'ano'"> |
| 136 | <p class="zdroják-ke-stažení"> |
| 137 | <span>Stáhnout: <a href="{encode-for-uri(@src)}"><xsl:value-of select="@src"/></a></span> |
| 138 | </p> |
| 139 | </xsl:if> |
| 140 | </xsl:template> |
| 141 | |
| 142 | <xsl:template name="zvýrazniZdroják"> |
| 143 | <xsl:param name="zdroják"/> |
| 144 | <xsl:variable name="zvýrazněnýZdroják" select="j:zvýrazniSyntaxi($zdroják, @jazyk)"/> |
144 | 145 | <xsl:choose> |
145 | | <xsl:when test="$zvýrazněnýText"> |
| 146 | <xsl:when test="$zvýrazněnýZdroják"> |
146 | 147 | <xsl:comment>Následující kód je v jazyce <xsl:value-of select="@jazyk"/></xsl:comment> |
147 | | <xsl:value-of disable-output-escaping="yes" select="$zvýrazněnýText"/> |
| 148 | <xsl:value-of disable-output-escaping="yes" select="$zvýrazněnýZdroják"/> |
148 | 149 | </xsl:when> |
149 | 150 | <xsl:otherwise> |
150 | 151 | <xsl:message>Zvýraznění syntaxe se nezdařilo → bude vložen původní nezvýrazněný kód.</xsl:message> |
151 | | <pre><xsl:apply-templates/></pre> |
| 152 | <pre><xsl:value-of select="$zdroják"/></pre> |
152 | 153 | </xsl:otherwise> |
153 | | </xsl:choose> |
| 154 | </xsl:choose> |
154 | 155 | </xsl:template> |
155 | 156 | |