summaryrefslogtreecommitdiff
path: root/src/zope/tal/tests/output
diff options
context:
space:
mode:
Diffstat (limited to 'src/zope/tal/tests/output')
-rw-r--r--src/zope/tal/tests/output/__init__.py2
-rw-r--r--src/zope/tal/tests/output/acme_template.html26
-rw-r--r--src/zope/tal/tests/output/acme_template_source.html27
-rw-r--r--src/zope/tal/tests/output/document_list.html30
-rw-r--r--src/zope/tal/tests/output/document_list_source.html30
-rw-r--r--src/zope/tal/tests/output/test01.html68
-rw-r--r--src/zope/tal/tests/output/test01.xml65
-rw-r--r--src/zope/tal/tests/output/test02.html118
-rw-r--r--src/zope/tal/tests/output/test02.xml119
-rw-r--r--src/zope/tal/tests/output/test03.html9
-rw-r--r--src/zope/tal/tests/output/test03.xml10
-rw-r--r--src/zope/tal/tests/output/test04.html38
-rw-r--r--src/zope/tal/tests/output/test04.xml39
-rw-r--r--src/zope/tal/tests/output/test05.html9
-rw-r--r--src/zope/tal/tests/output/test05.xml10
-rw-r--r--src/zope/tal/tests/output/test06.html7
-rw-r--r--src/zope/tal/tests/output/test06.xml8
-rw-r--r--src/zope/tal/tests/output/test07.html11
-rw-r--r--src/zope/tal/tests/output/test07.xml12
-rw-r--r--src/zope/tal/tests/output/test08.html47
-rw-r--r--src/zope/tal/tests/output/test08.xml48
-rw-r--r--src/zope/tal/tests/output/test09.html30
-rw-r--r--src/zope/tal/tests/output/test09.xml30
-rw-r--r--src/zope/tal/tests/output/test10.html51
-rw-r--r--src/zope/tal/tests/output/test11.html8
-rw-r--r--src/zope/tal/tests/output/test11.xml5
-rw-r--r--src/zope/tal/tests/output/test12.html24
-rw-r--r--src/zope/tal/tests/output/test13.html7
-rw-r--r--src/zope/tal/tests/output/test14.html13
-rw-r--r--src/zope/tal/tests/output/test14.xml18
-rw-r--r--src/zope/tal/tests/output/test15.html29
-rw-r--r--src/zope/tal/tests/output/test16.html1
-rw-r--r--src/zope/tal/tests/output/test16.xml6
-rw-r--r--src/zope/tal/tests/output/test17.html6
-rw-r--r--src/zope/tal/tests/output/test17.xml9
-rw-r--r--src/zope/tal/tests/output/test18.html16
-rw-r--r--src/zope/tal/tests/output/test18.xml19
-rw-r--r--src/zope/tal/tests/output/test19.html3
-rw-r--r--src/zope/tal/tests/output/test19.xml6
-rw-r--r--src/zope/tal/tests/output/test20.html1
-rw-r--r--src/zope/tal/tests/output/test20.xml4
-rw-r--r--src/zope/tal/tests/output/test21.html1
-rw-r--r--src/zope/tal/tests/output/test21.xml4
-rw-r--r--src/zope/tal/tests/output/test22.html1
-rw-r--r--src/zope/tal/tests/output/test22.xml6
-rw-r--r--src/zope/tal/tests/output/test23.html1
-rw-r--r--src/zope/tal/tests/output/test24.html7
-rw-r--r--src/zope/tal/tests/output/test25.html1
-rw-r--r--src/zope/tal/tests/output/test26.html1
-rw-r--r--src/zope/tal/tests/output/test27.html1
-rw-r--r--src/zope/tal/tests/output/test28.html1
-rw-r--r--src/zope/tal/tests/output/test29.html1
-rw-r--r--src/zope/tal/tests/output/test30.html1
-rw-r--r--src/zope/tal/tests/output/test31.html1
-rw-r--r--src/zope/tal/tests/output/test32.html1
-rw-r--r--src/zope/tal/tests/output/test33.html1
-rw-r--r--src/zope/tal/tests/output/test34.html7
-rw-r--r--src/zope/tal/tests/output/test35.html6
-rw-r--r--src/zope/tal/tests/output/test36.html2
-rw-r--r--src/zope/tal/tests/output/test_domain.html5
-rw-r--r--src/zope/tal/tests/output/test_failed_attr_translation.html1
-rw-r--r--src/zope/tal/tests/output/test_metal1.html79
-rw-r--r--src/zope/tal/tests/output/test_metal2.html11
-rw-r--r--src/zope/tal/tests/output/test_metal3.html1
-rw-r--r--src/zope/tal/tests/output/test_metal4.html4
-rw-r--r--src/zope/tal/tests/output/test_metal5.html4
-rw-r--r--src/zope/tal/tests/output/test_metal6.html5
-rw-r--r--src/zope/tal/tests/output/test_metal7.html6
-rw-r--r--src/zope/tal/tests/output/test_metal8.html19
-rw-r--r--src/zope/tal/tests/output/test_metal9.html32
-rw-r--r--src/zope/tal/tests/output/test_sa1.html10
-rw-r--r--src/zope/tal/tests/output/test_sa1.xml11
-rw-r--r--src/zope/tal/tests/output/test_sa2.html13
-rw-r--r--src/zope/tal/tests/output/test_sa2.xml14
-rw-r--r--src/zope/tal/tests/output/test_sa3.html42
-rw-r--r--src/zope/tal/tests/output/test_sa3.xml43
-rw-r--r--src/zope/tal/tests/output/test_sa4.html30
77 files changed, 1393 insertions, 0 deletions
diff --git a/src/zope/tal/tests/output/__init__.py b/src/zope/tal/tests/output/__init__.py
new file mode 100644
index 0000000..b711d36
--- /dev/null
+++ b/src/zope/tal/tests/output/__init__.py
@@ -0,0 +1,2 @@
+#
+# This file is necessary to make this directory a package.
diff --git a/src/zope/tal/tests/output/acme_template.html b/src/zope/tal/tests/output/acme_template.html
new file mode 100644
index 0000000..3d37355
--- /dev/null
+++ b/src/zope/tal/tests/output/acme_template.html
@@ -0,0 +1,26 @@
+<!-- This is ACME's generic look and feel, which is based on
+PNOME's look and feel. -->
+<html>
+<head>
+<title>ACME Look and Feel</title>
+
+
+</head>
+<body>
+<div>
+ <div>
+ "The early bird gets the worm, but the second mouse gets the cheese."
+ </div>
+ <a href="#">Preferences...</a>
+</div>
+<div>
+ Content here
+</div>
+<div>
+Copyright 2004 Acme Inc.
+<div>
+Standard disclaimers apply.
+</div>
+</div>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/acme_template_source.html b/src/zope/tal/tests/output/acme_template_source.html
new file mode 100644
index 0000000..11f19d3
--- /dev/null
+++ b/src/zope/tal/tests/output/acme_template_source.html
@@ -0,0 +1,27 @@
+<!-- This is ACME's generic look and feel, which is based on
+PNOME's look and feel. -->
+<html metal:define-macro="page"
+ metal:use-macro="pnome_macros_page">
+<head>
+<title metal:fill-slot="title">ACME Look and Feel</title>
+<metal:block>
+</metal:block>
+</head>
+<body>
+<div>
+ <div>
+ "The early bird gets the worm, but the second mouse gets the cheese."
+ </div>
+ <a href="#">Preferences...</a>
+</div>
+<div>
+ Content here
+</div>
+<div metal:fill-slot="page-footer">
+Copyright 2004 Acme Inc.
+<div metal:define-slot="disclaimer">
+Standard disclaimers apply.
+</div>
+</div>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/document_list.html b/src/zope/tal/tests/output/document_list.html
new file mode 100644
index 0000000..9e0ea10
--- /dev/null
+++ b/src/zope/tal/tests/output/document_list.html
@@ -0,0 +1,30 @@
+<!-- ACME's document_list uses the ACME look and feel -->
+<html>
+<head>
+<title>Acme Document List</title>
+<style type="text/css">
+ body { background-color: white; }
+</style>
+</head>
+<body>
+<div>
+ <div>
+ "The early bird gets the worm, but the second mouse gets the cheese."
+ </div>
+ <a href="#">Preferences...</a>
+</div>
+<div>
+<h1>Documents</h1>
+<ul>
+<li>Rocket Science for Dummies</li>
+<li>Birds for the Gourmet Chef</li>
+</ul>
+</div>
+<div>
+Copyright 2004 Acme Inc.
+<div>
+This document list is classified.
+</div>
+</div>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/document_list_source.html b/src/zope/tal/tests/output/document_list_source.html
new file mode 100644
index 0000000..69600e0
--- /dev/null
+++ b/src/zope/tal/tests/output/document_list_source.html
@@ -0,0 +1,30 @@
+<!-- ACME's document_list uses the ACME look and feel -->
+<html metal:use-macro="acme_macros_page">
+<head>
+<title metal:fill-slot="title">Acme Document List</title>
+<style metal:fill-slot="local-styles" type="text/css">
+ body { background-color: white; }
+</style>
+</head>
+<body>
+<div>
+ <div>
+ "The early bird gets the worm, but the second mouse gets the cheese."
+ </div>
+ <a href="#">Preferences...</a>
+</div>
+<div metal:fill-slot="content">
+<h1>Documents</h1>
+<ul>
+<li>Rocket Science for Dummies</li>
+<li>Birds for the Gourmet Chef</li>
+</ul>
+</div>
+<div>
+Copyright 2004 Acme Inc.
+<div metal:fill-slot="disclaimer">
+This document list is classified.
+</div>
+</div>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/test01.html b/src/zope/tal/tests/output/test01.html
new file mode 100644
index 0000000..7064db0
--- /dev/null
+++ b/src/zope/tal/tests/output/test01.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html>
+
+ <head>dadada</head>
+
+ <body>
+
+ <h1>This
+Is
+The
+Replaced
+Title</h1>
+
+ <!-- test entity references -->
+ &nbsp;&HarryPotter;
+
+ <!-- examples adapted from TemplateAttributeLanguageSyntax -->
+
+ <span>here/id</span>
+
+ <p>5</p>
+
+ <p>
+ honda
+ </p>
+ <p>
+ subaru
+ </p>
+ <p>
+ acura
+ </p>
+
+ <p xml:foo="bar">foo bar</p>
+
+ <!-- more examples -->
+
+ <ul>
+ <span>
+ <li>honda</li>
+ </span>
+ <span>
+ <li>subaru</li>
+ </span>
+ <span>
+ <li>acura</li>
+ </span>
+ </ul>
+
+ <!-- test attribute expansion -->
+
+ <a href="http://python.org">python</a>
+ <a href="http://python.org">python</a>
+
+ <!-- test insert/replace structure -->
+ <span></span>
+
+
+ <span />
+ <span />
+
+ &nbsp;<h3>Header Level 3</h3>
+ <span>&nbsp;<h3>Header Level 3</h3></span>
+
+ </body>
+
+</html>
diff --git a/src/zope/tal/tests/output/test01.xml b/src/zope/tal/tests/output/test01.xml
new file mode 100644
index 0000000..91e9851
--- /dev/null
+++ b/src/zope/tal/tests/output/test01.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" ?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html>
+
+ <head>dadada</head>
+
+ <body>
+
+ <h1>This Is The Replaced Title</h1>
+
+ <!-- test entity references -->
+ &nbsp;&HarryPotter;
+
+ <!-- examples adapted from TemplateAttributeLanguageSyntax -->
+
+ <span>here/id</span>
+
+ <p>5</p>
+
+ <p>
+ honda
+ </p>
+ <p>
+ subaru
+ </p>
+ <p>
+ acura
+ </p>
+
+ <p xml:foo="bar">foo bar</p>
+
+ <!-- more examples -->
+
+ <ul>
+ <span>
+ <li>honda</li>
+ </span>
+ <span>
+ <li>subaru</li>
+ </span>
+ <span>
+ <li>acura</li>
+ </span>
+ </ul>
+
+ <!-- test attribute expansion -->
+
+ <a href="http://python.org">python</a>
+ <a href="http://python.org">python</a>
+
+ <!-- test insert/replace structure -->
+ <span></span>
+
+
+ <span/>
+ <span/>
+
+ &nbsp;<h3>Header Level 3</h3>
+ <span>&nbsp;<h3>Header Level 3</h3></span>
+
+ </body>
+
+</html>
diff --git a/src/zope/tal/tests/output/test02.html b/src/zope/tal/tests/output/test02.html
new file mode 100644
index 0000000..8d081fc
--- /dev/null
+++ b/src/zope/tal/tests/output/test02.html
@@ -0,0 +1,118 @@
+<biztalk_1 xmlns="urn:schemas-biztalk-org:biztalk:biztalk_1">
+
+<foo:header xmlns:foo="whomping-willow" plain="guido" quote="&quot;" apostrophe="'" both="&quot;'" lt="&lt;" gt="&gt;" amp="&amp;" foo="">
+ <manifest>
+ <document>
+ <name>sample1</name>
+ <description>a simple invoice</description>
+ </document>
+ </manifest>
+</foo:header>
+
+<body>
+
+<!-- sample1.xml is an example of a simple invoice for a small restaurant supplies order -->
+
+<invoice xmlns="urn:http://schemas.biztalk.org/united_rest_com/yw7sg15x.xml">
+ <header>
+ <invoicenumber>01786</invoicenumber>
+ <invoicedate>2000-03-17</invoicedate> <!-- March 17th, 2000 -->
+ <orderno>55377</orderno>
+ <orderdate>2000-03-15</orderdate> <!-- March 15th, 2000 -->
+ <customerpo>GJ03405</customerpo>
+ <shipmethod>DAVE 1</shipmethod>
+ <shipdate>2000-03-17</shipdate> <!-- March 17th, 2000 -->
+ <customerid>K5211(34)</customerid>
+ <salespersoncode>23</salespersoncode>
+ <taxid>23</taxid>
+ </header>
+ <invoiceto>
+ <name>SHIPWRIGHT RESTAURANTS LIMITED</name>
+ <addressline>125 NORTH SERVICE ROAD W</addressline>
+ <addressline>WESTLAKE ACCESS</addressline>
+ <city>NORTH BAY</city>
+ <postcode>L8B1O5</postcode>
+ <state>ONTARIO</state>
+ <country>CANADA</country>
+ </invoiceto>
+ <shipto>
+ <name />
+ <addressline>ATTN: PAULINE DEGRASSI</addressline>
+ <city />
+ <postcode />
+ <state />
+ <country />
+ </shipto>
+ <detaillines>
+ <detailline>
+ <quantityshipped>1</quantityshipped>
+ <unitofmeasure>CS</unitofmeasure>
+ <partnumber>DM 5309</partnumber>
+ <partdescription>#1013 12 OZ.MUNICH STEIN</partdescription>
+ <unitprice>37.72</unitprice>
+ <linetotal>37.72</linetotal>
+ </detailline>
+ <detailline>
+ <quantityshipped>6</quantityshipped>
+ <unitofmeasure>DZ</unitofmeasure>
+ <partnumber>ON 6420</partnumber>
+ <partdescription>PROVINCIAL DINNER FORK</partdescription>
+ <unitprice>17.98</unitprice>
+ <linetotal>107.88</linetotal>
+ </detailline>
+ <detailline>
+ <quantityshipped>72</quantityshipped>
+ <unitofmeasure>EA</unitofmeasure>
+ <partnumber>JR20643</partnumber>
+ <partdescription>PLASTIC HANDLED STEAK KNIFE</partdescription>
+ <unitprice>.81</unitprice>
+ <linetotal>58.32</linetotal>
+ </detailline>
+ <detailline>
+ <quantityshipped>6</quantityshipped>
+ <unitofmeasure>DZ</unitofmeasure>
+ <partnumber>ON 6410</partnumber>
+ <partdescription>PROVINCIAL TEASPOONS</partdescription>
+ <unitprice>12.16</unitprice>
+ <linetotal>72.96</linetotal>
+ </detailline>
+ <detailline>
+ <quantityshipped>0</quantityshipped>
+ <unitofmeasure>DZ</unitofmeasure>
+ <partnumber>ON 6411</partnumber>
+ <partdescription>PROVINCIAL RD BOWL SPOON</partdescription>
+ <quantitybackordered>6</quantitybackordered>
+ <unitprice>17.98</unitprice>
+ <linetotal>0.00</linetotal>
+ </detailline>
+ <detailline>
+ <quantityshipped>1</quantityshipped>
+ <unitofmeasure>EA</unitofmeasure>
+ <partnumber>DO 3218</partnumber>
+ <partdescription>34 OZ DUAL DIAL SCALE AM3218</partdescription>
+ <unitprice>70.00</unitprice>
+ <discountpercentage>5.0</discountpercentage>
+ <linetotal>66.50</linetotal>
+ </detailline>
+ <detailline>
+ <quantityshipped>1</quantityshipped>
+ <unitofmeasure>CS</unitofmeasure>
+ <partnumber>DM 195</partnumber>
+ <partdescription>20 OZ.BEER PUB GLASS</partdescription>
+ <unitprice>55.90</unitprice>
+ <linetotal>55.90</linetotal>
+ </detailline>
+ </detaillines>
+ <totals>
+ <subtotal>399.28</subtotal>
+ <discounttotal>3.50</discounttotal>
+ <freighttotal>23.75</freighttotal>
+ <gsttotal>29.61</gsttotal>
+ <provtaxtotal>33.84</provtaxtotal>
+ <othertotal>33.84</othertotal>
+ <invoicetotal>486.48</invoicetotal>
+ </totals>
+</invoice>
+
+</body>
+</biztalk_1>
diff --git a/src/zope/tal/tests/output/test02.xml b/src/zope/tal/tests/output/test02.xml
new file mode 100644
index 0000000..71ff075
--- /dev/null
+++ b/src/zope/tal/tests/output/test02.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" ?>
+<biztalk_1 xmlns="urn:schemas-biztalk-org:biztalk:biztalk_1">
+
+<foo:header xmlns:foo="whomping-willow" plain="guido" quote="&quot;" apostrophe="'" both="&quot;'" lt="&lt;" gt="&gt;" amp="&amp;" foo="">
+ <manifest>
+ <document>
+ <name>sample1</name>
+ <description>a simple invoice</description>
+ </document>
+ </manifest>
+</foo:header>
+
+<body>
+
+<!-- sample1.xml is an example of a simple invoice for a small restaurant supplies order -->
+
+<Invoice xmlns="urn:http://schemas.biztalk.org/united_rest_com/yw7sg15x.xml">
+ <Header>
+ <InvoiceNumber>01786</InvoiceNumber>
+ <InvoiceDate>2000-03-17</InvoiceDate> <!-- March 17th, 2000 -->
+ <OrderNo>55377</OrderNo>
+ <OrderDate>2000-03-15</OrderDate> <!-- March 15th, 2000 -->
+ <CustomerPO>GJ03405</CustomerPO>
+ <ShipMethod>DAVE 1</ShipMethod>
+ <ShipDate>2000-03-17</ShipDate> <!-- March 17th, 2000 -->
+ <CustomerID>K5211(34)</CustomerID>
+ <SalesPersonCode>23</SalesPersonCode>
+ <TaxID>23</TaxID>
+ </Header>
+ <InvoiceTo>
+ <Name>SHIPWRIGHT RESTAURANTS LIMITED</Name>
+ <AddressLine>125 NORTH SERVICE ROAD W</AddressLine>
+ <AddressLine>WESTLAKE ACCESS</AddressLine>
+ <City>NORTH BAY</City>
+ <PostCode>L8B1O5</PostCode>
+ <State>ONTARIO</State>
+ <Country>CANADA</Country>
+ </InvoiceTo>
+ <ShipTo>
+ <Name/>
+ <AddressLine>ATTN: PAULINE DEGRASSI</AddressLine>
+ <City/>
+ <PostCode/>
+ <State/>
+ <Country/>
+ </ShipTo>
+ <DetailLines>
+ <DetailLine>
+ <QuantityShipped>1</QuantityShipped>
+ <UnitOfMeasure>CS</UnitOfMeasure>
+ <PartNumber>DM 5309</PartNumber>
+ <PartDescription>#1013 12 OZ.MUNICH STEIN</PartDescription>
+ <UnitPrice>37.72</UnitPrice>
+ <LineTotal>37.72</LineTotal>
+ </DetailLine>
+ <DetailLine>
+ <QuantityShipped>6</QuantityShipped>
+ <UnitOfMeasure>DZ</UnitOfMeasure>
+ <PartNumber>ON 6420</PartNumber>
+ <PartDescription>PROVINCIAL DINNER FORK</PartDescription>
+ <UnitPrice>17.98</UnitPrice>
+ <LineTotal>107.88</LineTotal>
+ </DetailLine>
+ <DetailLine>
+ <QuantityShipped>72</QuantityShipped>
+ <UnitOfMeasure>EA</UnitOfMeasure>
+ <PartNumber>JR20643</PartNumber>
+ <PartDescription>PLASTIC HANDLED STEAK KNIFE</PartDescription>
+ <UnitPrice>.81</UnitPrice>
+ <LineTotal>58.32</LineTotal>
+ </DetailLine>
+ <DetailLine>
+ <QuantityShipped>6</QuantityShipped>
+ <UnitOfMeasure>DZ</UnitOfMeasure>
+ <PartNumber>ON 6410</PartNumber>
+ <PartDescription>PROVINCIAL TEASPOONS</PartDescription>
+ <UnitPrice>12.16</UnitPrice>
+ <LineTotal>72.96</LineTotal>
+ </DetailLine>
+ <DetailLine>
+ <QuantityShipped>0</QuantityShipped>
+ <UnitOfMeasure>DZ</UnitOfMeasure>
+ <PartNumber>ON 6411</PartNumber>
+ <PartDescription>PROVINCIAL RD BOWL SPOON</PartDescription>
+ <QuantityBackOrdered>6</QuantityBackOrdered>
+ <UnitPrice>17.98</UnitPrice>
+ <LineTotal>0.00</LineTotal>
+ </DetailLine>
+ <DetailLine>
+ <QuantityShipped>1</QuantityShipped>
+ <UnitOfMeasure>EA</UnitOfMeasure>
+ <PartNumber>DO 3218</PartNumber>
+ <PartDescription>34 OZ DUAL DIAL SCALE AM3218</PartDescription>
+ <UnitPrice>70.00</UnitPrice>
+ <DiscountPercentage>5.0</DiscountPercentage>
+ <LineTotal>66.50</LineTotal>
+ </DetailLine>
+ <DetailLine>
+ <QuantityShipped>1</QuantityShipped>
+ <UnitOfMeasure>CS</UnitOfMeasure>
+ <PartNumber>DM 195</PartNumber>
+ <PartDescription>20 OZ.BEER PUB GLASS</PartDescription>
+ <UnitPrice>55.90</UnitPrice>
+ <LineTotal>55.90</LineTotal>
+ </DetailLine>
+ </DetailLines>
+ <Totals>
+ <SubTotal>399.28</SubTotal>
+ <DiscountTotal>3.50</DiscountTotal>
+ <FreightTotal>23.75</FreightTotal>
+ <GSTTotal>29.61</GSTTotal>
+ <ProvTaxTotal>33.84</ProvTaxTotal>
+ <OtherTotal>33.84</OtherTotal>
+ <InvoiceTotal>486.48</InvoiceTotal>
+ </Totals>
+</Invoice>
+
+</body>
+</biztalk_1>
diff --git a/src/zope/tal/tests/output/test03.html b/src/zope/tal/tests/output/test03.html
new file mode 100644
index 0000000..7fb5156
--- /dev/null
+++ b/src/zope/tal/tests/output/test03.html
@@ -0,0 +1,9 @@
+<p>
+ <span>
+ <span>hello brave new world</span>
+ <span>
+ <span>goodbye cruel world</span>
+ </span>
+ <span>hello brave new world</span>
+ </span>
+</p>
diff --git a/src/zope/tal/tests/output/test03.xml b/src/zope/tal/tests/output/test03.xml
new file mode 100644
index 0000000..24be638
--- /dev/null
+++ b/src/zope/tal/tests/output/test03.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" ?>
+<p>
+ <span>
+ <span>hello brave new world</span>
+ <span>
+ <span>goodbye cruel world</span>
+ </span>
+ <span>hello brave new world</span>
+ </span>
+</p>
diff --git a/src/zope/tal/tests/output/test04.html b/src/zope/tal/tests/output/test04.html
new file mode 100644
index 0000000..f0666da
--- /dev/null
+++ b/src/zope/tal/tests/output/test04.html
@@ -0,0 +1,38 @@
+<html>
+
+ <body>
+
+ <ul>
+ </ul>
+
+ <span />
+
+ <ul>
+ <li>
+ 0
+ hello world
+ </li>
+ <li>
+ 1
+ hello world
+ </li>
+ </ul>
+
+ <span />
+
+ <ul>
+ <li>
+ 0
+ goodbye cruel world
+ </li>
+ <li>
+ 1
+ goodbye cruel world
+ </li>
+ </ul>
+
+ <p>define-slot</p>
+
+ </body>
+
+</html>
diff --git a/src/zope/tal/tests/output/test04.xml b/src/zope/tal/tests/output/test04.xml
new file mode 100644
index 0000000..8b73d02
--- /dev/null
+++ b/src/zope/tal/tests/output/test04.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" ?>
+<html>
+
+ <body>
+
+ <ul>
+ </ul>
+
+ <span/>
+
+ <ul>
+ <li>
+ 0
+ hello world
+ </li>
+ <li>
+ 1
+ hello world
+ </li>
+ </ul>
+
+ <span/>
+
+ <ul>
+ <li>
+ 0
+ goodbye cruel world
+ </li>
+ <li>
+ 1
+ goodbye cruel world
+ </li>
+ </ul>
+
+ <p>define-slot</p>
+
+ </body>
+
+</html>
diff --git a/src/zope/tal/tests/output/test05.html b/src/zope/tal/tests/output/test05.html
new file mode 100644
index 0000000..006851a
--- /dev/null
+++ b/src/zope/tal/tests/output/test05.html
@@ -0,0 +1,9 @@
+<html>
+
+ <body>
+
+ <h1>This is the body of test5</h1>
+
+ </body>
+
+</html>
diff --git a/src/zope/tal/tests/output/test05.xml b/src/zope/tal/tests/output/test05.xml
new file mode 100644
index 0000000..0bc2691
--- /dev/null
+++ b/src/zope/tal/tests/output/test05.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" ?>
+<html>
+
+ <body>
+
+ <h1>This is the body of test5</h1>
+
+ </body>
+
+</html>
diff --git a/src/zope/tal/tests/output/test06.html b/src/zope/tal/tests/output/test06.html
new file mode 100644
index 0000000..d3f58d9
--- /dev/null
+++ b/src/zope/tal/tests/output/test06.html
@@ -0,0 +1,7 @@
+<html>
+ <body>
+
+ <h1>This is the body of test5</h1>
+
+ </body>
+</html>
diff --git a/src/zope/tal/tests/output/test06.xml b/src/zope/tal/tests/output/test06.xml
new file mode 100644
index 0000000..b9ad4ac
--- /dev/null
+++ b/src/zope/tal/tests/output/test06.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" ?>
+<html>
+ <body>
+
+ <h1>This is the body of test5</h1>
+
+ </body>
+</html>
diff --git a/src/zope/tal/tests/output/test07.html b/src/zope/tal/tests/output/test07.html
new file mode 100644
index 0000000..e0b3d88
--- /dev/null
+++ b/src/zope/tal/tests/output/test07.html
@@ -0,0 +1,11 @@
+<table>
+<!-- macro definition with slots -->
+ <tr>
+ <td>Top Left</td>
+ <td>Top Right</td>
+ </tr>
+ <tr>
+ <td>Bottom left</td>
+ <td><span>Bottom Right</span></td>
+ </tr>
+</table>
diff --git a/src/zope/tal/tests/output/test07.xml b/src/zope/tal/tests/output/test07.xml
new file mode 100644
index 0000000..8884d97
--- /dev/null
+++ b/src/zope/tal/tests/output/test07.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+<table>
+<!-- macro definition with slots -->
+ <tr>
+ <td>Top Left</td>
+ <td>Top Right</td>
+ </tr>
+ <tr>
+ <td>Bottom left</td>
+ <td><span>Bottom Right</span></td>
+ </tr>
+</table>
diff --git a/src/zope/tal/tests/output/test08.html b/src/zope/tal/tests/output/test08.html
new file mode 100644
index 0000000..06e01b2
--- /dev/null
+++ b/src/zope/tal/tests/output/test08.html
@@ -0,0 +1,47 @@
+<table>
+<!-- macro definition with slots -->
+ <tr>
+ <td>Top Left</td>
+ <td>Top Right</td>
+ </tr>
+ <tr>
+ <td>Bottom left</td>
+ <td><span>
+ <h1>Some headline</h1>
+ <p>This is the real contents of the bottom right slot.</p>
+ <p>It is supposed to contain a lot of text. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb.</p>
+ <p>It is supposed to contain a lot of text. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb.</p>
+ <p>It is supposed to contain a lot of text. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb.</p>
+ </span></td>
+ </tr>
+</table>
diff --git a/src/zope/tal/tests/output/test08.xml b/src/zope/tal/tests/output/test08.xml
new file mode 100644
index 0000000..51a969c
--- /dev/null
+++ b/src/zope/tal/tests/output/test08.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" ?>
+<table>
+<!-- macro definition with slots -->
+ <tr>
+ <td>Top Left</td>
+ <td>Top Right</td>
+ </tr>
+ <tr>
+ <td>Bottom left</td>
+ <td><span>
+ <h1>Some headline</h1>
+ <p>This is the real contents of the bottom right slot.</p>
+ <p>It is supposed to contain a lot of text. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb.</p>
+ <p>It is supposed to contain a lot of text. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb.</p>
+ <p>It is supposed to contain a lot of text. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb.</p>
+ </span></td>
+ </tr>
+</table>
diff --git a/src/zope/tal/tests/output/test09.html b/src/zope/tal/tests/output/test09.html
new file mode 100644
index 0000000..844c1a9
--- /dev/null
+++ b/src/zope/tal/tests/output/test09.html
@@ -0,0 +1,30 @@
+<html>
+<body>
+<p>
+ Just a bunch of text.</p>
+<p>more text...</p>
+<ul>
+ <li>first item</li>
+ <li>second item
+
+ <ol>
+ <li>second list, first item</li>
+ <li>second list, second item
+ <dl compact>
+ <dt>term 1</dt>
+ <dt>term 2</dt>
+ <dd>definition</dd>
+ </dl></li>
+ </ol></li>
+
+ <li>Now let's have a paragraph...
+ <p>My Paragraph</p>
+ </li>
+
+ <li>And a table in a list item:
+ <table>
+ </table></li>
+</ul>
+
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/test09.xml b/src/zope/tal/tests/output/test09.xml
new file mode 100644
index 0000000..c3d10d7
--- /dev/null
+++ b/src/zope/tal/tests/output/test09.xml
@@ -0,0 +1,30 @@
+<html>
+<body>
+<p>
+ Just a bunch of text.</p>
+<p>more text...</p>
+<ul>
+ <li>first item</li>
+ <li>second item
+
+ <ol>
+ <li>second list, first item</li>
+ <li>second list, second item
+ <dl compact="">
+ <dt>term 1</dt>
+ <dt>term 2</dt>
+ <dd>definition</dd>
+ </dl></li>
+ </ol></li>
+
+ <li>Now let's have a paragraph...
+ <p>My Paragraph</p>
+ </li>
+
+ <li>And a table in a list item:
+ <table>
+ </table></li>
+</ul>
+
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/test10.html b/src/zope/tal/tests/output/test10.html
new file mode 100644
index 0000000..d9cc7ed
--- /dev/null
+++ b/src/zope/tal/tests/output/test10.html
@@ -0,0 +1,51 @@
+<html><body>
+<table>
+<!-- macro definition with slots -->
+ <tr>
+ <td>Top Left</td>
+ <td>Top Right</td>
+ </tr>
+ <tr>
+ <td>Bottom left</td>
+ <td><span>
+ <h1>Some headline</h1>
+ <p>This is the real contents of the bottom right slot.</p>
+ <hr>
+ <p>It is supposed to contain a lot of text. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb.</p>
+ <p>It is supposed to contain a lot of text. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb.</p>
+ <p>It is supposed to contain a lot of text. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb. Blah, blah, blab.
+ Blabber, blabber, blah. Baah, baah, barb.</p>
+ <br><br>
+ </span></td>
+ </tr>
+</table>
+</body></html>
diff --git a/src/zope/tal/tests/output/test11.html b/src/zope/tal/tests/output/test11.html
new file mode 100644
index 0000000..9e2223c
--- /dev/null
+++ b/src/zope/tal/tests/output/test11.html
@@ -0,0 +1,8 @@
+<html>
+ <a href="http://www.python.org">bar</a>
+ <p>bad boy!</p>
+ <p>x undefined</p>
+ x undefined
+ x undefined
+ <hr />
+</html>
diff --git a/src/zope/tal/tests/output/test11.xml b/src/zope/tal/tests/output/test11.xml
new file mode 100644
index 0000000..caba039
--- /dev/null
+++ b/src/zope/tal/tests/output/test11.xml
@@ -0,0 +1,5 @@
+<html>
+ <a href="http://www.python.org">bar</a>
+ <p>bad boy!</p>
+ <p>x undefined</p>
+</html>
diff --git a/src/zope/tal/tests/output/test12.html b/src/zope/tal/tests/output/test12.html
new file mode 100644
index 0000000..9533b42
--- /dev/null
+++ b/src/zope/tal/tests/output/test12.html
@@ -0,0 +1,24 @@
+<span />
+
+<img ismap>
+<img ismap="ismap">
+<img ismap="ismap">
+<img ismap="foo">
+
+<img ismap="ismap">
+<img>
+<img>
+
+<img ismap="ismap">
+<img>
+<img>
+
+<img ismap="ismap">
+<img>
+<img>
+
+<span />
+
+<img src="foo">
+<img src="x.gif">
+<img>
diff --git a/src/zope/tal/tests/output/test13.html b/src/zope/tal/tests/output/test13.html
new file mode 100644
index 0000000..d68e0ce
--- /dev/null
+++ b/src/zope/tal/tests/output/test13.html
@@ -0,0 +1,7 @@
+Here's a stray greater than: >
+
+<script>
+ <!-- no comment -->
+ <notag>
+ &noentity;
+</script>
diff --git a/src/zope/tal/tests/output/test14.html b/src/zope/tal/tests/output/test14.html
new file mode 100644
index 0000000..b9bf468
--- /dev/null
+++ b/src/zope/tal/tests/output/test14.html
@@ -0,0 +1,13 @@
+<table>
+ <tr>
+ <td>car</td>
+ <td>bike</td>
+ <td>broomstick</td>
+ </tr>
+</table>
+
+<p>
+ Harry
+ Ron
+ Hermione
+</p>
diff --git a/src/zope/tal/tests/output/test14.xml b/src/zope/tal/tests/output/test14.xml
new file mode 100644
index 0000000..67c0c37
--- /dev/null
+++ b/src/zope/tal/tests/output/test14.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" ?>
+<html>
+
+<table>
+ <tr>
+ <td>car</td>
+ <td>bike</td>
+ <td>broomstick</td>
+ </tr>
+</table>
+
+<p>
+ Harry
+ Ron
+ Hermione
+</p>
+
+</html>
diff --git a/src/zope/tal/tests/output/test15.html b/src/zope/tal/tests/output/test15.html
new file mode 100644
index 0000000..314fd43
--- /dev/null
+++ b/src/zope/tal/tests/output/test15.html
@@ -0,0 +1,29 @@
+<span>
+ <span>INNERSLOT</span>
+</span>
+
+<span>
+ <xxx>inner-argument</xxx>
+</span>
+
+<div>
+<span>
+ <xxx>
+ OUTERSLOT
+ </xxx>
+</span>
+</div>
+
+<div>
+<span>
+ <div>outer-argument</div>
+</span>
+</div>
+
+<div>
+<span>
+ <xxx>
+ OUTERSLOT
+ </xxx>
+</span>
+</div>
diff --git a/src/zope/tal/tests/output/test16.html b/src/zope/tal/tests/output/test16.html
new file mode 100644
index 0000000..d3ea228
--- /dev/null
+++ b/src/zope/tal/tests/output/test16.html
@@ -0,0 +1 @@
+<a href="/base/valid/link.html">blah, blah</a>
diff --git a/src/zope/tal/tests/output/test16.xml b/src/zope/tal/tests/output/test16.xml
new file mode 100644
index 0000000..77e9069
--- /dev/null
+++ b/src/zope/tal/tests/output/test16.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<body>
+
+<ImG href="foo" Alt="bar" alT="baz" Href="about:foo"/>
+
+</body>
diff --git a/src/zope/tal/tests/output/test17.html b/src/zope/tal/tests/output/test17.html
new file mode 100644
index 0000000..e50997d
--- /dev/null
+++ b/src/zope/tal/tests/output/test17.html
@@ -0,0 +1,6 @@
+Yes
+Yes
+Yes
+
+Yes
+Yes
diff --git a/src/zope/tal/tests/output/test17.xml b/src/zope/tal/tests/output/test17.xml
new file mode 100644
index 0000000..7a54cdb
--- /dev/null
+++ b/src/zope/tal/tests/output/test17.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<body>
+Yes
+Yes
+Yes
+
+Yes
+Yes
+</body>
diff --git a/src/zope/tal/tests/output/test18.html b/src/zope/tal/tests/output/test18.html
new file mode 100644
index 0000000..f49e29e
--- /dev/null
+++ b/src/zope/tal/tests/output/test18.html
@@ -0,0 +1,16 @@
+Content
+
+
+
+Content
+
+
+
+<p>Content</p>
+<p></p>
+<img>
+
+Yes
+Yes
+Yes
+Yes
diff --git a/src/zope/tal/tests/output/test18.xml b/src/zope/tal/tests/output/test18.xml
new file mode 100644
index 0000000..77eba02
--- /dev/null
+++ b/src/zope/tal/tests/output/test18.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<body>
+Content
+
+
+
+Content
+
+
+
+<p>Content</p>
+<p/>
+<img/>
+
+Yes
+Yes
+Yes
+Yes
+</body>
diff --git a/src/zope/tal/tests/output/test19.html b/src/zope/tal/tests/output/test19.html
new file mode 100644
index 0000000..2341a4a
--- /dev/null
+++ b/src/zope/tal/tests/output/test19.html
@@ -0,0 +1,3 @@
+<span>REPLACE THIS</span>
+<span>MSGID</span>
+<span>AND ANOTHER TRANSLATED STRING</span>
diff --git a/src/zope/tal/tests/output/test19.xml b/src/zope/tal/tests/output/test19.xml
new file mode 100644
index 0000000..4460acd
--- /dev/null
+++ b/src/zope/tal/tests/output/test19.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<body>
+<span>REPLACE THIS</span>
+<span>MSGID</span>
+<span>AND ANOTHER TRANSLATED STRING</span>
+</body>
diff --git a/src/zope/tal/tests/output/test20.html b/src/zope/tal/tests/output/test20.html
new file mode 100644
index 0000000..606b989
--- /dev/null
+++ b/src/zope/tal/tests/output/test20.html
@@ -0,0 +1 @@
+<span>REPLACEABLE HERE</span>
diff --git a/src/zope/tal/tests/output/test20.xml b/src/zope/tal/tests/output/test20.xml
new file mode 100644
index 0000000..ed1f9fe
--- /dev/null
+++ b/src/zope/tal/tests/output/test20.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<body>
+<span>REPLACEABLE HERE</span>
+</body>
diff --git a/src/zope/tal/tests/output/test21.html b/src/zope/tal/tests/output/test21.html
new file mode 100644
index 0000000..95b3b08
--- /dev/null
+++ b/src/zope/tal/tests/output/test21.html
@@ -0,0 +1 @@
+<span>Lomax WAS BORN IN Antarctica.</span>
diff --git a/src/zope/tal/tests/output/test21.xml b/src/zope/tal/tests/output/test21.xml
new file mode 100644
index 0000000..c373d52
--- /dev/null
+++ b/src/zope/tal/tests/output/test21.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<body>
+<span>Lomax WAS BORN IN Antarctica.</span>
+</body>
diff --git a/src/zope/tal/tests/output/test22.html b/src/zope/tal/tests/output/test22.html
new file mode 100644
index 0000000..6c1b6de
--- /dev/null
+++ b/src/zope/tal/tests/output/test22.html
@@ -0,0 +1 @@
+<span><b>Jim</b> WAS BORN IN the USA.</span>
diff --git a/src/zope/tal/tests/output/test22.xml b/src/zope/tal/tests/output/test22.xml
new file mode 100644
index 0000000..c2e79c5
--- /dev/null
+++ b/src/zope/tal/tests/output/test22.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<body>
+ <span>content</span>
+ omit
+ replace
+</body>
diff --git a/src/zope/tal/tests/output/test23.html b/src/zope/tal/tests/output/test23.html
new file mode 100644
index 0000000..0ea1654
--- /dev/null
+++ b/src/zope/tal/tests/output/test23.html
@@ -0,0 +1 @@
+<span>59 minutes after 6 PM</span>
diff --git a/src/zope/tal/tests/output/test24.html b/src/zope/tal/tests/output/test24.html
new file mode 100644
index 0000000..8dbfba3
--- /dev/null
+++ b/src/zope/tal/tests/output/test24.html
@@ -0,0 +1,7 @@
+<input name="DELETE_BUTTON">
+
+<input name="MESSAGE-ID">
+
+<input name="MESSAGE-ID" attr="INPUT-ATTR">
+
+<input name="MESSAGE-ID" attr="INPUT-ATTR">
diff --git a/src/zope/tal/tests/output/test25.html b/src/zope/tal/tests/output/test25.html
new file mode 100644
index 0000000..6b80bd3
--- /dev/null
+++ b/src/zope/tal/tests/output/test25.html
@@ -0,0 +1 @@
+<input name="DELETE">
diff --git a/src/zope/tal/tests/output/test26.html b/src/zope/tal/tests/output/test26.html
new file mode 100644
index 0000000..9d179a6
--- /dev/null
+++ b/src/zope/tal/tests/output/test26.html
@@ -0,0 +1 @@
+<span>7 is the JOB NUMBER</span>
diff --git a/src/zope/tal/tests/output/test27.html b/src/zope/tal/tests/output/test27.html
new file mode 100644
index 0000000..96229e4
--- /dev/null
+++ b/src/zope/tal/tests/output/test27.html
@@ -0,0 +1 @@
+<p>Your contact email address is recorded as <a href="mailto:user@example.com">aperson@dom.ain</a></p>
diff --git a/src/zope/tal/tests/output/test28.html b/src/zope/tal/tests/output/test28.html
new file mode 100644
index 0000000..96229e4
--- /dev/null
+++ b/src/zope/tal/tests/output/test28.html
@@ -0,0 +1 @@
+<p>Your contact email address is recorded as <a href="mailto:user@example.com">aperson@dom.ain</a></p>
diff --git a/src/zope/tal/tests/output/test29.html b/src/zope/tal/tests/output/test29.html
new file mode 100644
index 0000000..886137e
--- /dev/null
+++ b/src/zope/tal/tests/output/test29.html
@@ -0,0 +1 @@
+<div>AT THE TONE THE TIME WILL BE <span>59 minutes after 6 PM</span>... BEEP!</div>
diff --git a/src/zope/tal/tests/output/test30.html b/src/zope/tal/tests/output/test30.html
new file mode 100644
index 0000000..964b772
--- /dev/null
+++ b/src/zope/tal/tests/output/test30.html
@@ -0,0 +1 @@
+<p>Your contact email address is recorded as <a href="mailto:${request/submitter}">aperson@dom.ain</a></p>
diff --git a/src/zope/tal/tests/output/test31.html b/src/zope/tal/tests/output/test31.html
new file mode 100644
index 0000000..964b772
--- /dev/null
+++ b/src/zope/tal/tests/output/test31.html
@@ -0,0 +1 @@
+<p>Your contact email address is recorded as <a href="mailto:${request/submitter}">aperson@dom.ain</a></p>
diff --git a/src/zope/tal/tests/output/test32.html b/src/zope/tal/tests/output/test32.html
new file mode 100644
index 0000000..f39bd97
--- /dev/null
+++ b/src/zope/tal/tests/output/test32.html
@@ -0,0 +1 @@
+<span><span>Lomax</span> was born in <span>Antarctica</span></span>
diff --git a/src/zope/tal/tests/output/test33.html b/src/zope/tal/tests/output/test33.html
new file mode 100644
index 0000000..4472f21
--- /dev/null
+++ b/src/zope/tal/tests/output/test33.html
@@ -0,0 +1 @@
+<span>don't translate me</span>
diff --git a/src/zope/tal/tests/output/test34.html b/src/zope/tal/tests/output/test34.html
new file mode 100644
index 0000000..1d7b5f2
--- /dev/null
+++ b/src/zope/tal/tests/output/test34.html
@@ -0,0 +1,7 @@
+<span>
+ stuff
+ foobar
+ more stuff
+</span>
+
+<span>STUFF foobar MORE STUFF</span>
diff --git a/src/zope/tal/tests/output/test35.html b/src/zope/tal/tests/output/test35.html
new file mode 100644
index 0000000..b1a9d2e
--- /dev/null
+++ b/src/zope/tal/tests/output/test35.html
@@ -0,0 +1,6 @@
+
+
+
+
+
+ <h1>page</h1>
diff --git a/src/zope/tal/tests/output/test36.html b/src/zope/tal/tests/output/test36.html
new file mode 100644
index 0000000..2a563c1
--- /dev/null
+++ b/src/zope/tal/tests/output/test36.html
@@ -0,0 +1,2 @@
+&lt;foo&gt;
+<span>&lt;foo&gt; <bar /> <b>some</b> <i>text</i></span>
diff --git a/src/zope/tal/tests/output/test_domain.html b/src/zope/tal/tests/output/test_domain.html
new file mode 100644
index 0000000..6a282ac
--- /dev/null
+++ b/src/zope/tal/tests/output/test_domain.html
@@ -0,0 +1,5 @@
+<div>
+<span>replace this</span>
+<span>msgid</span>
+<span>and another translated string</span>
+</div>
diff --git a/src/zope/tal/tests/output/test_failed_attr_translation.html b/src/zope/tal/tests/output/test_failed_attr_translation.html
new file mode 100644
index 0000000..cd34b1f
--- /dev/null
+++ b/src/zope/tal/tests/output/test_failed_attr_translation.html
@@ -0,0 +1 @@
+<input value="don't translate me">
diff --git a/src/zope/tal/tests/output/test_metal1.html b/src/zope/tal/tests/output/test_metal1.html
new file mode 100644
index 0000000..c8cc346
--- /dev/null
+++ b/src/zope/tal/tests/output/test_metal1.html
@@ -0,0 +1,79 @@
+<span metal:define-macro="OUTER">
+ AAA
+ <span metal:define-macro="INNER">INNER</span>
+ BBB
+</span>
+
+<span metal:use-macro="OUTER">
+ AAA
+ <span>INNER</span>
+ BBB
+</span>
+
+<span metal:use-macro="INNER">INNER</span>
+
+<span metal:define-macro="OUTER2">
+ AAA
+ <xxx metal:define-slot="OUTERSLOT">
+ <span metal:define-macro="INNER2">INNER</span>
+ </xxx>
+ BBB
+</span>
+
+<span metal:use-macro="OUTER2">
+ AAA
+ <xxx>
+ <span>INNER</span>
+ </xxx>
+ BBB
+</span>
+
+<span metal:use-macro="INNER2">INNER</span>
+
+<span metal:use-macro="OUTER2">
+ AAA
+ <yyy metal:fill-slot="OUTERSLOT">OUTERSLOT</yyy>
+ BBB
+</span>
+
+<span metal:define-macro="OUTER3">
+ AAA
+ <xxx metal:define-slot="OUTERSLOT">
+ <span metal:define-macro="INNER3">INNER
+ <xxx metal:define-slot="INNERSLOT">INNERSLOT</xxx>
+ </span>
+ </xxx>
+ BBB
+</span>
+
+<span metal:use-macro="OUTER3">
+ AAA
+ <xxx>
+ <span>INNER
+ <xxx>INNERSLOT</xxx>
+ </span>
+ </xxx>
+ BBB
+</span>
+
+<span metal:use-macro="OUTER3">
+ AAA
+ <yyy metal:fill-slot="OUTERSLOT">OUTERSLOT</yyy>
+ BBB
+</span>
+
+<span metal:use-macro="INNER3">INNER
+ <xxx>INNERSLOT</xxx>
+ </span>
+
+<span metal:use-macro="INNER3">INNER
+ <yyy metal:fill-slot="INNERSLOT">INNERSLOT</yyy>
+ </span>
+
+<span metal:use-macro="INNER3">INNER
+ <yyy metal:fill-slot="INNERSLOT">
+ <zzz metal:define-macro="INSLOT">INSLOT</zzz>
+ </yyy>
+ </span>
+
+<zzz metal:use-macro="INSLOT">INSLOT</zzz>
diff --git a/src/zope/tal/tests/output/test_metal2.html b/src/zope/tal/tests/output/test_metal2.html
new file mode 100644
index 0000000..7e56c0c
--- /dev/null
+++ b/src/zope/tal/tests/output/test_metal2.html
@@ -0,0 +1,11 @@
+<div metal:define-macro="OUTER">
+ OUTER
+ <span metal:define-macro="INNER">INNER</span>
+ OUTER
+</div>
+
+<div metal:use-macro="OUTER">
+ OUTER
+ <span>INNER</span>
+ OUTER
+</div>
diff --git a/src/zope/tal/tests/output/test_metal3.html b/src/zope/tal/tests/output/test_metal3.html
new file mode 100644
index 0000000..b0af907
--- /dev/null
+++ b/src/zope/tal/tests/output/test_metal3.html
@@ -0,0 +1 @@
+<span tal:attributes="class string:foo">Should not get attr in metal</span>
diff --git a/src/zope/tal/tests/output/test_metal4.html b/src/zope/tal/tests/output/test_metal4.html
new file mode 100644
index 0000000..dc774d3
--- /dev/null
+++ b/src/zope/tal/tests/output/test_metal4.html
@@ -0,0 +1,4 @@
+<!-- the outer element *must* be tal:something or metal:something -->
+<metal:block define-macro="page" i18n:domain="zope">
+ <title metal:define-slot="title">Z3 UI</title>
+</metal:block>
diff --git a/src/zope/tal/tests/output/test_metal5.html b/src/zope/tal/tests/output/test_metal5.html
new file mode 100644
index 0000000..8bae3d8
--- /dev/null
+++ b/src/zope/tal/tests/output/test_metal5.html
@@ -0,0 +1,4 @@
+<!-- the outer element *must* include tal:omit-tag='' -->
+<x tal:omit-tag="" metal:define-macro="page" i18n:domain="zope">
+ <title metal:define-slot="title">Z3 UI</title>
+</x>
diff --git a/src/zope/tal/tests/output/test_metal6.html b/src/zope/tal/tests/output/test_metal6.html
new file mode 100644
index 0000000..ce243f2
--- /dev/null
+++ b/src/zope/tal/tests/output/test_metal6.html
@@ -0,0 +1,5 @@
+<metal:block define-macro="page">
+ <html i18:domain="zope">
+ <metal:block define-slot="title">Z3 UI</metal:block>
+ </html>
+</metal:block>
diff --git a/src/zope/tal/tests/output/test_metal7.html b/src/zope/tal/tests/output/test_metal7.html
new file mode 100644
index 0000000..cc449ed
--- /dev/null
+++ b/src/zope/tal/tests/output/test_metal7.html
@@ -0,0 +1,6 @@
+<html metal:define-macro="page" i18n:domain="zope">
+ <x metal:define-slot="title" />
+</html>
+<html metal:use-macro="page" i18n:domain="zope">
+ <x metal:fill-slot="title" />
+</html>
diff --git a/src/zope/tal/tests/output/test_metal8.html b/src/zope/tal/tests/output/test_metal8.html
new file mode 100644
index 0000000..d56adab
--- /dev/null
+++ b/src/zope/tal/tests/output/test_metal8.html
@@ -0,0 +1,19 @@
+<html metal:define-macro="page" i18n:domain="zope">
+<body>
+<div metal:define-macro="workspace">
+<div metal:define-slot="body">
+Default body
+</div>
+</div>
+</body>
+</html>
+
+<html metal:use-macro="page" i18n:domain="zope">
+<body>
+<div>
+<div metal:fill-slot="body">
+Filled-in body
+</div>
+</div>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/test_metal9.html b/src/zope/tal/tests/output/test_metal9.html
new file mode 100644
index 0000000..4cbc637
--- /dev/null
+++ b/src/zope/tal/tests/output/test_metal9.html
@@ -0,0 +1,32 @@
+<div metal:define-macro="macro1" i18n:domain="zope">
+<span metal:define-slot="slot1">
+Default for macro1
+</span>
+</div>
+
+<div metal:define-macro="macro2" metal:use-macro="macro1" i18n:domain="zope">
+<span metal:fill-slot="slot1">
+Macro 2's slot 1 decoration
+<span metal:define-slot="slot1">
+Default for macro2
+</span>
+</span>
+</div>
+
+<div metal:use-macro="macro2" i18n:domain="zope">
+<span metal:fill-slot="slot1">
+Macro 2's slot 1 decoration
+<span>
+Default for macro2
+</span>
+</span>
+</div>
+
+<div metal:use-macro="macro2" i18n:domain="zope">
+<span metal:fill-slot="slot1">
+Macro 2's slot 1 decoration
+<span metal:fill-slot="slot1">
+Custom slot1
+</span>
+</span>
+</div>
diff --git a/src/zope/tal/tests/output/test_sa1.html b/src/zope/tal/tests/output/test_sa1.html
new file mode 100644
index 0000000..a37b9e9
--- /dev/null
+++ b/src/zope/tal/tests/output/test_sa1.html
@@ -0,0 +1,10 @@
+<!--
+==============================================================================
+tests/input/test_sa1.html
+==============================================================================
+--><html>
+<title>Simple test of source annotations</title>
+<body>
+<p>Foo!</p>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/test_sa1.xml b/src/zope/tal/tests/output/test_sa1.xml
new file mode 100644
index 0000000..8e1f4cc
--- /dev/null
+++ b/src/zope/tal/tests/output/test_sa1.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" ?><!--
+==============================================================================
+tests/input/test_sa1.xml
+==============================================================================
+-->
+<html>
+<title>Simple test of source annotations</title>
+<body>
+<p>Foo!</p>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/test_sa2.html b/src/zope/tal/tests/output/test_sa2.html
new file mode 100644
index 0000000..4709b49
--- /dev/null
+++ b/src/zope/tal/tests/output/test_sa2.html
@@ -0,0 +1,13 @@
+<!--
+==============================================================================
+tests/input/test_sa2.html
+==============================================================================
+--><!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html>
+<title>Simple test of source annotations</title>
+<body>
+<p>Foo!</p>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/test_sa2.xml b/src/zope/tal/tests/output/test_sa2.xml
new file mode 100644
index 0000000..30b5699
--- /dev/null
+++ b/src/zope/tal/tests/output/test_sa2.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" ?><!--
+==============================================================================
+tests/input/test_sa2.xml
+==============================================================================
+-->
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html>
+<title>Simple test of source annotations</title>
+<body>
+<p>Foo!</p>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/test_sa3.html b/src/zope/tal/tests/output/test_sa3.html
new file mode 100644
index 0000000..8431438
--- /dev/null
+++ b/src/zope/tal/tests/output/test_sa3.html
@@ -0,0 +1,42 @@
+<!--
+==============================================================================
+tests/input/test_sa3.html
+==============================================================================
+--><html>
+<body>
+ <!--
+==============================================================================
+tests/input/test_sa3.html (line 3)
+==============================================================================
+--><div>This is macro1 on sa3 line 3.
+ <span>This is slot1 on sa3 line 4.</span><!--
+==============================================================================
+tests/input/test_sa3.html (line 4)
+==============================================================================
+-->
+ This is the end of macro1 on sa3 line 5.
+ </div>
+ <p>Some text on sa3 line 7.</p>
+ <!--
+==============================================================================
+tests/input/test_sa3.html (line 3)
+==============================================================================
+--><div>This is macro1 on sa3 line 3.
+ <!--
+==============================================================================
+tests/input/test_sa3.html (line 10)
+==============================================================================
+--><b>Text from sa3 line 10 is filled into slot1.</b><!--
+==============================================================================
+tests/input/test_sa3.html (line 4)
+==============================================================================
+-->
+ This is the end of macro1 on sa3 line 5.
+ </div><!--
+==============================================================================
+tests/input/test_sa3.html (line 12)
+==============================================================================
+-->
+ <p>This is some text on sa3 line 13.</p>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/test_sa3.xml b/src/zope/tal/tests/output/test_sa3.xml
new file mode 100644
index 0000000..bd20f83
--- /dev/null
+++ b/src/zope/tal/tests/output/test_sa3.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" ?><!--
+==============================================================================
+tests/input/test_sa3.xml
+==============================================================================
+-->
+<html>
+<body>
+ <!--
+==============================================================================
+tests/input/test_sa3.xml (line 4)
+==============================================================================
+--><div>This is macro1 on sa3 line 4.
+ <span>This is slot1 on sa3 line 5.</span><!--
+==============================================================================
+tests/input/test_sa3.xml (line 5)
+==============================================================================
+-->
+ This is the end of macro1 on sa3 line 6.
+ </div>
+ <p>Some text on sa3 line 8.</p>
+ <!--
+==============================================================================
+tests/input/test_sa3.xml (line 4)
+==============================================================================
+--><div>This is macro1 on sa3 line 4.
+ <!--
+==============================================================================
+tests/input/test_sa3.xml (line 11)
+==============================================================================
+--><b>Text from sa3 line 11 is filled into slot1.</b><!--
+==============================================================================
+tests/input/test_sa3.xml (line 5)
+==============================================================================
+-->
+ This is the end of macro1 on sa3 line 6.
+ </div><!--
+==============================================================================
+tests/input/test_sa3.xml (line 13)
+==============================================================================
+-->
+ <p>This is some text on sa3 line 14.</p>
+</body>
+</html>
diff --git a/src/zope/tal/tests/output/test_sa4.html b/src/zope/tal/tests/output/test_sa4.html
new file mode 100644
index 0000000..4aca908
--- /dev/null
+++ b/src/zope/tal/tests/output/test_sa4.html
@@ -0,0 +1,30 @@
+<!--
+==============================================================================
+tests/input/test_sa4.html
+==============================================================================
+--><html>
+<body>
+ <p>Some text on sa4 line 3.</p>
+ <!--
+==============================================================================
+tests/input/test_sa3.html (line 3)
+==============================================================================
+--><div>This is macro1 on sa3 line 3.
+ <!--
+==============================================================================
+tests/input/test_sa4.html (line 6)
+==============================================================================
+--><b>Text from sa4 line 6 is filled into slot1.</b><!--
+==============================================================================
+tests/input/test_sa3.html (line 4)
+==============================================================================
+-->
+ This is the end of macro1 on sa3 line 5.
+ </div><!--
+==============================================================================
+tests/input/test_sa4.html (line 8)
+==============================================================================
+-->
+ <p>This is some text on sa4 line 9.</p>
+</body>
+</html>