Skip to content

Commit 0d72ca3

Browse files
committed
Fixes #611.
1 parent 86601b1 commit 0d72ca3

File tree

8 files changed

+67
-1
lines changed

8 files changed

+67
-1
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
indent: auto
2+
tidy-mark: no
3+
clean: yes
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<template><tr><td>1</td></tr></template>
2+
3+
4+
<template><td>1</td></template>
5+
6+
7+
<template><li>1</li></template>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
indent: auto
2+
tidy-mark: no
3+
clean: yes
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>Issue #611-1</title>
6+
</head>
7+
<body>
8+
<template><tr><td>1</td></tr></template>
9+
</body>
10+
</html>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
indent: auto
2+
tidy-mark: no
3+
clean: yes
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>Issue #611-2d</title>
6+
<script>
7+
// Data is hard-coded here, but could come from the server
8+
var data = [
9+
{ name: 'Pillar', color: 'Ticked Tabby', sex: 'Female (neutered)', legs: 3 },
10+
{ name: 'Hedral', color: 'Tuxedo', sex: 'Male (neutered)', legs: 4 },
11+
];
12+
</script>
13+
</head>
14+
<body>
15+
<table>
16+
<thead>
17+
<tr>
18+
<th>Name <th>Color <th>Sex <th>Legs
19+
<tbody>
20+
<template id="row">
21+
<tr><td><td><td><td>
22+
</template>
23+
</table>
24+
<script>
25+
var template = document.querySelector('#row');
26+
for (var i = 0; i < data.length; i += 1) {
27+
var cat = data[i];
28+
var clone = template.content.cloneNode(true);
29+
var cells = clone.querySelectorAll('td');
30+
cells[0].textContent = cat.name;
31+
cells[1].textContent = cat.color;
32+
cells[2].textContent = cat.sex;
33+
cells[3].textContent = cat.legs;
34+
template.parentNode.appendChild(clone);
35+
}
36+
</script>
37+
</body>
38+
</html>
39+

src/parser.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1417,7 +1417,7 @@ Node* TY_(ParseBlock)( TidyDocImpl* doc, Node *element, GetTokenMode mode )
14171417
return NULL;
14181418
}
14191419
}
1420-
else /* things like list items */
1420+
else if ( ! nodeIsTEMPLATE( element ) )/* things like list items */
14211421
{
14221422
if (node->tag->model & CM_HEAD)
14231423
{

src/tags.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,7 @@ TY_PRIVATE uint TY_(nodeHeaderLevel)( Node* node );
463463
#define nodeIsDATALIST( node ) TagIsId( node, TidyTag_DATALIST )
464464
#define nodeIsDATA( node ) TagIsId( node, TidyTag_DATA )
465465
#define nodeIsMATHML( node ) TagIsId( node, TidyTag_MATHML ) /* #130 MathML attr and entity fix! */
466+
#define nodeIsTEMPLATE( node ) TagIsId( node, TidyTag_TEMPLATE )
466467

467468
/* NOT in HTML 5 */
468469
#define nodeIsACRONYM( node ) TagIsId( node, TidyTag_ACRONYM )

0 commit comments

Comments
 (0)