CSV to HTML translation: Difference between revisions
Content added Content deleted
(→{{header|Factor}}: simplify) |
|||
Line 1,623: | Line 1,623: | ||
=={{header|Factor}}== |
=={{header|Factor}}== |
||
<lang factor>USING: |
<lang factor>USING: csv html.streams prettyprint xml.writer ; |
||
IN: rosetta-code.csv-to-html |
|||
CONSTANT: input |
|||
"Character,Speech |
"Character,Speech |
||
Line 1,635: | Line 1,632: | ||
The multitude,Behold his mother! Behold his mother!" |
The multitude,Behold his mother! Behold his mother!" |
||
string>csv [ simple-table. ] with-html-writer pprint-xml</lang> |
|||
: escape-chars ( seq -- seq' ) |
|||
⚫ | |||
⚫ | |||
{ CHAR: & [ "&" ] } |
|||
{ CHAR: ' [ "'" ] } |
|||
{ CHAR: < [ "<" ] } |
|||
{ CHAR: > [ ">" ] } |
|||
[ 1string ] |
|||
} case |
|||
] { } map-as concat ; |
|||
⚫ | |||
: tag ( str tag -- <tag>str</tag> ) |
|||
[ "<" ">" surround ] [ "</" ">" surround ] bi surround ; |
|||
⚫ | |||
: csv>table ( seq -- str ) |
|||
[ [ "td" tag ] map concat "tr" tag " " prepend ] map |
|||
{ "<table>" } prepend { "</table>" } append "\n" join ; |
|||
⚫ | |||
input escape-chars string>csv csv>table print</lang> |
|||
{{out}} |
{{out}} |
||
<lang html5><table> |
<lang html5><table style="display: inline-table; border-collapse: collapse;"> |
||
<tr> |
|||
<tr><td>Character</td><td>Speech</td></tr> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
⚫ | |||
Character |
|||
⚫ | |||
⚫ | |||
<tr><td>The multitude</td><td>Who are you?</td></tr> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
<tr><td>Brians mother</td><td>I'm his mother; that's who!</td></tr> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
</tr> |
|||
<tr> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
The multitude |
|||
⚫ | |||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
⚫ | |||
⚫ | |||
</tr> |
|||
<tr> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
Brians mother |
|||
</td> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
⚫ | |||
naughty boy! Now go away!</angry> |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
The multitude |
|||
</td> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
Who are you? |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
Brians mother |
|||
</td> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
I'm his mother; that's who! |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
The multitude |
|||
</td> |
|||
<td valign="top" style="border: 1px solid #cccccc; padding: 2px; "> |
|||
⚫ | |||
</td> |
|||
</tr> |
|||
</table> |
|||
⚫ | |||
=={{header|Forth}}== |
=={{header|Forth}}== |