[Checkins] SVN: z3c.rml/trunk/src/z3c/rml/ This pacakge is a free implementation of the RML markup language developed

Stephan Richter srichter at cosmos.phy.tufts.edu
Mon Mar 12 11:32:02 EDT 2007


Log message for revision 73148:
  This pacakge is a free implementation of the RML markup language developed 
  by Reportlab. Unfortunately, full compliance cannot be immediately verified,
  since the RML User Guide is ambiguous, incomplete and even incorrect. This
  pacakge can also not support the commercial extensions to Reportlab.
  
  In the course of implementing the specification, I made already some
  improvements for various tags and added others fully. I also tried hard to
  test all features. If you have any new sample RML files that you would like 
  to share, please check them in.
  
  Why reimplement RML? The other free implementation of RML tinyRML is
  unfortunately pretty messy code and hard to debug. It makes it also hard to
  add additional tags. However, much thanks goes to their authors, since they
  have solved some of the very tricky issues.
  
  

Changed:
  A   z3c.rml/trunk/src/z3c/rml/
  A   z3c.rml/trunk/src/z3c/rml/DEPENDENCIES.cfg
  A   z3c.rml/trunk/src/z3c/rml/README.txt
  A   z3c.rml/trunk/src/z3c/rml/__init__.py
  A   z3c.rml/trunk/src/z3c/rml/attr.py
  A   z3c.rml/trunk/src/z3c/rml/canvas.py
  A   z3c.rml/trunk/src/z3c/rml/document.py
  A   z3c.rml/trunk/src/z3c/rml/element.py
  A   z3c.rml/trunk/src/z3c/rml/error.py
  A   z3c.rml/trunk/src/z3c/rml/features.txt
  A   z3c.rml/trunk/src/z3c/rml/flowable.py
  A   z3c.rml/trunk/src/z3c/rml/form.py
  A   z3c.rml/trunk/src/z3c/rml/interfaces.py
  A   z3c.rml/trunk/src/z3c/rml/platypus.py
  A   z3c.rml/trunk/src/z3c/rml/rml2pdf.py
  A   z3c.rml/trunk/src/z3c/rml/special.py
  A   z3c.rml/trunk/src/z3c/rml/stylesheet.py
  A   z3c.rml/trunk/src/z3c/rml/template.py
  A   z3c.rml/trunk/src/z3c/rml/tests/
  A   z3c.rml/trunk/src/z3c/rml/tests/__init__.py
  A   z3c.rml/trunk/src/z3c/rml/tests/flowable.py
  A   z3c.rml/trunk/src/z3c/rml/tests/input/
  A   z3c.rml/trunk/src/z3c/rml/tests/input/images/
  A   z3c.rml/trunk/src/z3c/rml/tests/input/images/replogo.gif
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-01.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-02.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-03.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-04.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-05.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-06.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-07.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-08.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-09.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-10.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-11.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-12.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/simple-layout.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-barcode.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-1.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-2.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-3.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-4.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-5.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-6.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-7.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-8.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-9.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-circle.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-curves.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawCenteredString.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawRightString.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawString.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-ellipse.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-fixedSize.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-grid.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-illustration.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-image-1.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-image.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-imageAndFlowables.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-indent.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-keepInFrame.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-lines.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-pageInfo.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-place.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-pluginFlowable.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-pre.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-pto.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-rectange.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-rotate.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-scale.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-skew.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-spacer.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-transform.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-translate.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/tag-xpre.rml
  A   z3c.rml/trunk/src/z3c/rml/tests/input/zope3logo.gif
  A   z3c.rml/trunk/src/z3c/rml/tests/output/
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-01.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-02.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-03.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-04.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-05.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-06.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-07.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-08.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-09.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-10.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-11.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-12.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-testsuite-001-hello.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/rml-testsuite-001-simple.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/simple-layout.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-barcode.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-1.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-2.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-3.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-4.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-5.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-6.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-7.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-8.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-9.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-circle.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-curves.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawCenteredString.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawRightString.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawString.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-ellipse.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-fixedSize.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-grid.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-illustration.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-image-1.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-image.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-imageAndFlowables.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-indent.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-keepInFrame.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-lines.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-pageInfo.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-place.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-pluginFlowable.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-pre.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-pto.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-rectange.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-rotate.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-scale.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-skew.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-spacer.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-transform.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-translate.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/output/tag-xpre.pdf
  A   z3c.rml/trunk/src/z3c/rml/tests/test_rml.py

-=-
Added: z3c.rml/trunk/src/z3c/rml/DEPENDENCIES.cfg
===================================================================
--- z3c.rml/trunk/src/z3c/rml/DEPENDENCIES.cfg	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/DEPENDENCIES.cfg	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,4 @@
+zope.interface
+zope.testing
+reportlab
+reportlab.graphics.barcode

Added: z3c.rml/trunk/src/z3c/rml/README.txt
===================================================================
--- z3c.rml/trunk/src/z3c/rml/README.txt	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/README.txt	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,18 @@
+=========================
+Reportlab Markup Language
+=========================
+
+This pacakge is a free implementation of the RML markup language developed by
+Reportlab. Unfortunately, full compliance cannot be immediately verified,
+since the RML User Guide is ambiguous, incomplete and even incorrect. This
+pacakge can also not support the commercial extensions to Reportlab.
+
+In the course of implementing the specification, I made already some
+improvements for various tags and added others fully. I also tried hard to
+test all features. If you have any new sample RML files that you would like to
+share, please check them in.
+
+Why reimplement RML? The other free implementation of RML tinyRML is
+unfortunately pretty messy code and hard to debug. It makes it also hard to
+add additional tags. However, much thanks goes to their authors, since they
+have solved some of the very tricky issues.


Property changes on: z3c.rml/trunk/src/z3c/rml/README.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: z3c.rml/trunk/src/z3c/rml/__init__.py
===================================================================


Property changes on: z3c.rml/trunk/src/z3c/rml/__init__.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/attr.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/attr.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/attr.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,291 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""RML-specific XML tools
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import cStringIO
+import re
+import reportlab
+import reportlab.lib.colors
+import reportlab.lib.styles
+import reportlab.lib.units
+import reportlab.lib.utils
+import urllib
+from lxml import etree
+
+from z3c.rml import interfaces
+
+ALL_COLORS = reportlab.lib.colors.getAllNamedColors()
+
+DEFAULT = object()
+
+
+class Attribute(object):
+
+    def __init__(self, name=None, default=DEFAULT):
+        self.name = name
+        self.default = default
+
+    def convert(self, value):
+        return value
+
+    def get(self, element, default=DEFAULT, context=None):
+        value = element.get(self.name, DEFAULT)
+        if value is DEFAULT or value is default:
+            if default is DEFAULT:
+                return self.default
+            return default
+        return self.convert(value, context)
+
+
+class Text(Attribute):
+
+    def convert(self, value, context=None):
+        return unicode(value)
+
+
+class Int(Attribute):
+
+    def convert(self, value, context=None):
+        return int(value)
+
+
+class Float(Attribute):
+
+    def convert(self, value, context=None):
+        return float(value)
+
+
+class StringOrInt(Attribute):
+
+    def convert(self, value, context=None):
+        try:
+            return int(value)
+        except ValueError:
+            return str(value)
+
+
+class Sequence(Attribute):
+
+    splitre = re.compile('[ \t\n,]*')
+    minLength = None
+    maxLength = None
+
+    def __init__(self, name=None, valueType=None, default=DEFAULT,
+                 splitre=None, minLength=None, maxLength=None, length=None):
+        super(Sequence, self).__init__(name, default)
+        self.valueType = valueType
+        if minLength is not None:
+            self.minLength = minLength
+        if maxLength is not None:
+            self.maxLength = maxLength
+        if length is not None:
+            self.minLength = self.maxLength = length
+        if splitre is not None:
+            self.splitre = splitre
+
+    def convert(self, value, context=None):
+        if value.startswith('(') and value.endswith(')'):
+            value = value[1:-1]
+        value = value.strip()
+        v = value
+        values = self.splitre.split(value)
+        result = [self.valueType.convert(value.strip(), context)
+                  for value in values]
+        if ((self.minLength is not None and len(result) < self.minLength) and
+            (self.maxLength is not None and len(result) > self.maxLength)):
+            raise ValueError(
+                'Length of sequence must be at least %s and at most %i' % (
+                self.minLength, self.maxLength))
+        return result
+
+
+class BaseChoice(Attribute):
+    choices = {}
+
+    def convert(self, value, context=None):
+        value = value.lower()
+        if value in self.choices:
+            return self.choices[value]
+        raise ValueError(
+            '%r not a valid value for attribute "%s"' % (value, self.name))
+
+
+class Choice(BaseChoice):
+
+    def __init__(self, name=None, choices=None, default=DEFAULT):
+        super(Choice, self).__init__(name, default)
+        if isinstance(choices, (tuple, list)):
+            choices = dict([(val.lower(), val) for val in choices])
+        self.choices = choices
+
+
+class Bool(BaseChoice):
+    choices = {'true': True, 'false': False,
+               'yes': True, 'no': False,
+               '1': True, '0': False,
+               }
+
+
+class DefaultBool(Bool):
+    choices = Bool.choices.copy().update({'default': None})
+
+
+class Measurement(Attribute):
+
+    units = [
+	(re.compile('^(-?[0-9\.]+)\s*in$'), reportlab.lib.units.inch),
+	(re.compile('^(-?[0-9\.]+)\s*cm$'), reportlab.lib.units.cm),
+	(re.compile('^(-?[0-9\.]+)\s*mm$'), reportlab.lib.units.mm),
+	(re.compile('^(-?[0-9\.]+)\s*$'), 1)
+        ]
+
+    def convert(self, value, context=None):
+	for unit in self.units:
+            res = unit[0].search(value, 0)
+            if res:
+                return unit[1]*float(res.group(1))
+
+
+class Image(Text):
+
+    open = urllib.urlopen
+
+    def __init__(self, name=None, default=DEFAULT, onlyOpen=False):
+        super(Image, self).__init__(name, default)
+        self.onlyOpen = onlyOpen
+
+    def convert(self, value, context=None):
+        fileObj = self.open(value)
+        if self.onlyOpen:
+            return fileObj
+        return reportlab.lib.utils.ImageReader(fileObj)
+
+
+class Color(Text):
+
+    def convert(self, value, context=None):
+        # Color name
+        if value in ALL_COLORS:
+            return ALL_COLORS[value]
+        # Decimal triplet
+        rgb = value.split(',')
+        if len(rgb) == 3:
+            return (float(num) for num in rgb)
+        # Hexdecimal triplet
+        if value.startswith('#'):
+            return (float(int(value[i:i+1], 16)) for i in range(1, 7, 2))
+        raise ValueError('%r not a valid color.' %value)
+
+
+class Style(Text):
+
+    def __init__(self, name=None, type='para', default='Normal'):
+        super(Style, self).__init__(name, default)
+        self.type = type
+
+    def convert(self, value, context=None, isDefault=False):
+        # First, get the custom styles
+        proc = context
+        while (not interfaces.IStylesManager.providedBy(proc) and
+               proc is not None):
+            proc = proc.parent
+        styles = proc.styles.get(self.type, {})
+        # Now look up default values
+        if isDefault:
+            if 'style.' + value in styles:
+                return styles['style.' + value]
+            return reportlab.lib.styles.getSampleStyleSheet()[value]
+        return styles[value]
+
+    def get(self, element, default=DEFAULT, context=None):
+        value = element.get(self.name, DEFAULT)
+        if value is DEFAULT:
+            if default is DEFAULT:
+                return self.convert(self.default, context, True)
+            elif default is None:
+                return None
+            return self.convert(default, context, True)
+        return self.convert(value, context)
+
+
+class TextNode(Attribute):
+    """Text ndoes are not really attributes, but behave mostly like it."""
+
+    def __init__(self):
+        super(TextNode, self).__init__('TEXT')
+
+    def get(self, element, default=DEFAULT, context=None):
+        return unicode(element.text).strip()
+
+
+class TextNodeSequence(Sequence):
+
+    def __init__(self, *args, **kw):
+        super(TextNodeSequence, self).__init__('TEXT', *args, **kw)
+
+    def get(self, element, default=DEFAULT, context=None):
+        return self.convert(element.text, context)
+
+
+class TextNodeGrid(TextNodeSequence):
+
+    def __init__(self, valueType=None, cols=None, default=DEFAULT):
+        super(TextNodeSequence, self).__init__(
+            'TEXT', valueType, default, length=cols)
+        self.cols = cols
+
+    def convert(self, value, context=None):
+        result = super(TextNodeGrid, self).convert(value, context)
+        if len(result) % self.cols != 0:
+            import pdb; pdb.set_trace()
+            raise ValueError(
+                'Number of elements must be divisible by %i.' %self.cols)
+        return [result[i*self.cols:(i+1)*self.cols]
+                for i in range(len(result)/self.cols)]
+
+
+class RawXMLContent(Attribute):
+
+    def __init__(self, default=DEFAULT):
+        super(RawXMLContent, self).__init__('XML', default)
+        # Do it in here, since we hace a recursive problem otherwise
+        from z3c.rml import special
+        self.handleElements = {'getName': special.GetName}
+
+    def get(self, element, default=DEFAULT, context=None):
+        # Replace what we can replace
+        for subElement in element.iterdescendants():
+            if subElement.tag in self.handleElements:
+                substitute = self.handleElements[subElement.tag](
+                    subElement, context, None)
+                substitute.process()
+        # Now create the text
+        text = element.text or u''
+        for child in element.getchildren():
+            text += etree.tounicode(child)
+        if text is None:
+            if default is DEFAULT:
+                return self.default
+            return default
+        return text
+
+
+class XMLContent(RawXMLContent):
+
+    def get(self, element, default=DEFAULT, context=None):
+        result = super(XMLContent, self).get(element, default, context)
+        return result.strip()


Property changes on: z3c.rml/trunk/src/z3c/rml/attr.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/canvas.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/canvas.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/canvas.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,373 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Page Drawing Related Element Processing
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import zope.interface
+import reportlab.pdfgen.canvas
+from z3c.rml import attr, element, error, flowable, form, interfaces, stylesheet
+
+
+class DrawString(element.FunctionElement):
+    functionName = 'drawString'
+    args = (
+        attr.Measurement('x'),
+        attr.Measurement('y'),
+        attr.TextNode())
+
+
+class DrawRightString(DrawString):
+    functionName = 'drawRightString'
+
+
+class DrawCenteredString(DrawString):
+    functionName = 'drawCentredString'
+
+
+class Shape(element.FunctionElement):
+    args = (
+        attr.Measurement('x'),
+        attr.Measurement('y') )
+    kw = (
+        ('fill', attr.Bool('fill')),
+        ('stroke', attr.Bool('stroke')) )
+
+
+class Ellipse(Shape):
+    functionName = 'ellipse'
+    args = Shape.args + (
+        attr.Measurement('width'),
+        attr.Measurement('height') )
+
+    def process(self):
+        args = self.getPositionalArguments()
+        kw = self.getKeywordArguments()
+        # Convert width and height to end locations
+        args[2] += args[0]
+        args[3] += args[1]
+        getattr(self.context, self.functionName)(*args, **kw)
+
+class Circle(Shape):
+    functionName = 'circle'
+    args = Shape.args + (
+        attr.Measurement('radius'), )
+
+
+class Rectangle(Shape):
+    functionName = 'rect'
+    args = Shape.args + (
+        attr.Measurement('width'),
+        attr.Measurement('height') )
+    kw = Shape.kw + (
+        ('radius', attr.Measurement('round')),
+        )
+
+    def process(self):
+        if 'round' in self.element.keys():
+            self.functionName = 'roundRect'
+        super(Rectangle, self).process()
+
+
+class Grid(element.FunctionElement):
+    functionName = 'grid'
+    args = (
+        attr.Sequence('xs', attr.Measurement()),
+        attr.Sequence('ys', attr.Measurement()) )
+
+
+class Lines(element.FunctionElement):
+    functionName = 'lines'
+    args = (
+        attr.TextNodeGrid(attr.Measurement(), 4),
+        )
+
+
+class Curves(element.FunctionElement):
+    functionName = 'bezier'
+    args = (
+        attr.TextNodeGrid(attr.Measurement(), 8),
+        )
+
+    def process(self):
+        argset = self.getPositionalArguments()
+        for args in argset[0]:
+            getattr(self.context, self.functionName)(*args)
+
+
+class Image(element.FunctionElement):
+    functionName = 'drawImage'
+    args = (
+        attr.Image('file'),
+        attr.Measurement('x'),
+        attr.Measurement('y') )
+    kw = (
+        ('width', attr.Measurement('width')),
+        ('height', attr.Measurement('height')) )
+
+    def process(self):
+        args = self.getPositionalArguments()
+        kw = self.getKeywordArguments()
+
+        preserve = attr.Bool('preserveAspectRatio').get(self.element, False)
+
+        if preserve:
+            imgX, imgY = args[0].getSize()
+
+            # Scale image correctly, if width and/or height were specified
+            if 'width' in kw and 'height' not in kw:
+                kw['height'] = imgY * kw['width'] / imgX
+            elif 'height' in kw and 'width' not in kw:
+                kw['width'] = imgX * kw['height'] / imgY
+            elif 'width' in kw and 'height' in kw:
+                if float(kw['width']) / kw['height'] > float(imgX) / imgY:
+                    kw['width'] = imgX * kw['height'] / imgY
+                else:
+                    kw['height'] = imgY * kw['width'] / imgX
+
+        getattr(self.context, self.functionName)(*args, **kw)
+
+        show = attr.Bool('showBoundary').get(self.element, False)
+        if show:
+            width = kw.get('width', args[0].getSize()[0])
+            height = kw.get('height', args[0].getSize()[1])
+            self.context.rect(args[1], args[2], width, height)
+
+
+class Place(element.FunctionElement):
+    args = (
+        attr.Measurement('x'), attr.Measurement('y'),
+        attr.Measurement('width'), attr.Measurement('height') )
+
+    def process(self):
+        x, y, width, height = self.getPositionalArguments()
+        y += height
+
+        flows = flowable.Flow(self.element, self.parent, self.context)
+        flows.process()
+        for flow in flows.flow:
+            flowWidth, flowHeight = flow.wrap(width, height)
+            if flowWidth <= width and flowHeight <= height:
+                y -= flowHeight
+                flow.drawOn(self.context, x, y)
+                height -= flowHeight
+            else:
+                raise ValueError("Not enough space")
+
+
+class MoveTo(element.FunctionElement):
+    args = (
+        attr.TextNodeSequence(attr.Measurement(), length=2),
+        )
+
+    def process(self):
+        args = self.getPositionalArguments()
+        self.context.moveTo(*args[0])
+
+class CurvesTo(Curves):
+    functionName = 'curveTo'
+    args = (
+        attr.TextNodeGrid(attr.Measurement(), 6),
+        )
+
+class Path(element.FunctionElement):
+    args = (
+        attr.Measurement('x'),
+        attr.Measurement('y') )
+    kw = (
+        ('close', attr.Bool('close')),
+        ('fill', attr.Bool('fill')),
+        ('stroke', attr.Bool('stroke')) )
+
+    points = attr.TextNodeGrid(attr.Measurement(), 2)
+
+    subElements = {
+        'moveto': MoveTo,
+        'curvesto': CurvesTo
+        }
+
+    def processPoints(self, text):
+        if text.strip() == '':
+            return
+        for coords in self.points.convert(text):
+            self.path.lineTo(*coords)
+
+    def process(self):
+        args = self.getPositionalArguments()
+        kw = self.getKeywordArguments()
+
+        self.path = self.context.beginPath()
+        self.path.moveTo(*args)
+
+        if self.element.text is not None:
+            self.processPoints(self.element.text)
+        for subElement in self.element.getchildren():
+            if subElement.tag in self.subElements:
+                self.subElements[subElement.tag](
+                    subElement, self, self.path).process()
+            if subElement.tail is not None:
+                self.processPoints(subElement.tail)
+
+        if kw.get('close', False):
+            self.path.close()
+            del kw['close']
+
+        self.context.drawPath(self.path, **kw)
+
+
+class Fill(element.FunctionElement):
+    functionName = 'setFillColor'
+    args = (
+        attr.Color('color'), )
+
+
+class Stroke(element.FunctionElement):
+    functionName = 'setStrokeColor'
+    args = (
+        attr.Color('color'), )
+
+
+class SetFont(element.FunctionElement):
+    functionName = 'setFont'
+    args = (
+        attr.Text('name'),
+        attr.Measurement('size'), )
+
+
+class Scale(element.FunctionElement):
+    functionName = 'scale'
+    args = (attr.Float('sx'), attr.Float('sy'), )
+
+
+class Translate(element.FunctionElement):
+    functionName = 'translate'
+    args = (attr.Measurement('dx', 0), attr.Measurement('dy', 0), )
+
+
+class Rotate(element.FunctionElement):
+    functionName = 'rotate'
+    args = (attr.Float('degrees'), )
+
+
+class Skew(element.FunctionElement):
+    functionName = 'skew'
+    args = (attr.Measurement('alpha'), attr.Measurement('beta'), )
+
+
+class Transform(element.FunctionElement):
+    functionName = 'transform'
+    args = (attr.TextNodeSequence(attr.Float()), )
+
+    def process(self):
+        args = self.getPositionalArguments()
+        getattr(self.context, self.functionName)(*args[0])
+
+
+class LineMode(element.FunctionElement):
+    kw = (
+        ('width', attr.Measurement('width')),
+        ('dash', attr.Sequence('dash', attr.Measurement())),
+        ('miterLimit', attr.Measurement('miterLimit')),
+        ('join', attr.Choice(
+             'join', {'round': 1, 'mitered': 0, 'bevelled': 2})),
+        ('cap', attr.Choice(
+             'cap', {'default': 0, 'round': 1, 'square': 2})),
+        )
+
+    def process(self):
+        kw = self.getKeywordArguments()
+        if 'width' in kw:
+            self.context.setLineWidth(kw['width'])
+        if 'join' in kw:
+            self.context.setLineJoin(kw['join'])
+        if 'cap' in kw:
+            self.context.setLineCap(kw['cap'])
+        if 'miterLimit' in kw:
+            self.context.setMiterLimit(kw['miterLimit'])
+        if 'dash' in kw:
+            self.context.setDash(kw['dash'])
+
+
+class Drawing(element.ContainerElement):
+
+    subElements = {
+        'drawString': DrawString,
+        'drawRightString': DrawRightString,
+        'drawCenteredString': DrawCenteredString,
+        'drawCentredString': DrawCenteredString,
+        # Drawing Operations
+        'ellipse': Ellipse,
+        'circle': Circle,
+        'rect': Rectangle,
+        'grid': Grid,
+        'lines': Lines,
+        'curves': Curves,
+        'image': Image,
+        'place': Place,
+        'path': Path,
+        # Form Field Elements
+        'barCode': form.BarCode,
+        # State Change Operations
+        'fill': Fill,
+        'stroke': Stroke,
+        'setFont': SetFont,
+        'scale': Scale,
+        'translate': Translate,
+        'rotate': Rotate,
+        'skew': Skew,
+        'transform': Transform,
+        'lineMode': LineMode,
+        }
+
+
+class PageDrawing(Drawing):
+
+    def process(self):
+        super(Drawing, self).process()
+        self.context.showPage()
+
+
+class PageInfo(element.Element):
+
+    def process(self):
+        pageSize = attr.Sequence(
+            'pageSize', attr.Measurement(), length=2).get(self.element)
+        self.context.setPageSize(pageSize)
+
+
+class Canvas(element.ContainerElement):
+    zope.interface.implements(interfaces.IStylesManager)
+
+    subElements = {
+        'stylesheet': stylesheet.Stylesheet,
+        'pageDrawing': PageDrawing,
+        'pageInfo': PageInfo,
+        }
+
+    def __init__(self, element):
+        self.element = element
+        self.styles = {}
+
+    def process(self, outputFile):
+        verbosity = attr.Bool('verbosity').get(self.element, 0)
+        compression = attr.DefaultBool('compression').get(self.element, 0)
+
+        canvas = reportlab.pdfgen.canvas.Canvas(
+            outputFile,
+            pageCompression=compression,
+            verbosity=verbosity)
+        self.processSubElements(canvas)
+
+        canvas.save()


Property changes on: z3c.rml/trunk/src/z3c/rml/canvas.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/document.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/document.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/document.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,40 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""RML ``document`` element
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import sys
+
+from z3c.rml import attr, element, error
+from z3c.rml import canvas, stylesheet, template
+
+
+class Document(element.Element):
+
+    def __init__(self, element):
+        self.element = element
+
+    def process(self, outputFile=None):
+        """Process document"""
+        if outputFile is None:
+            # TODO: This is relative to the input file *not* the CWD!!!
+            outputFile = open(self.element.get('filename'), 'w')
+
+        if self.element.find('pageDrawing') is not None:
+            canvas.Canvas(self.element).process(outputFile)
+
+        if self.element.find('template') is not None:
+            template.Template(self.element).process(outputFile)


Property changes on: z3c.rml/trunk/src/z3c/rml/document.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/element.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/element.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/element.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,81 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Generic RML element
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+from z3c.rml import attr, error
+
+class Element(object):
+
+    def __init__(self, element, parent, context):
+        self.element = element
+        self.parent = parent
+        self.context = context
+
+class ContainerElement(Element):
+
+    subElements = {}
+    order = None
+
+    def processSubElements(self, context):
+        if self.order is not None:
+            for tag in self.order:
+                for element in self.element.findall(tag):
+                    self.subElements[tag](element, self, context).process()
+        else:
+            for subElement in self.element.getchildren():
+                if subElement.tag in self.subElements:
+                    self.subElements[subElement.tag](
+                        subElement, self, context).process()
+
+    def process(self):
+        self.processSubElements(self.context)
+
+
+def extractPositionalArguments(argsList, element, context=None):
+    args = []
+    for Attr in argsList:
+        value = Attr.get(element, context=context)
+        if value is attr.DEFAULT:
+            raise error.RequiredAttributeMissing(element, Attr.name)
+        args.append(value)
+    return args
+
+def extractKeywordArguments(kwList, element, context=None):
+        kw = {}
+        for apiName, Attr in kwList:
+            value = Attr.get(element, context=context)
+            if value is not attr.DEFAULT:
+                kw[apiName] = value
+        return kw
+
+
+class FunctionElement(Element):
+
+    functionName = None
+    args = ()
+    kw = ()
+
+    def getPositionalArguments(self):
+        return extractPositionalArguments(self.args, self.element, self)
+
+    def getKeywordArguments(self):
+        return extractKeywordArguments(self.kw, self.element, self)
+
+    def process(self):
+        args = self.getPositionalArguments()
+        kw = self.getKeywordArguments()
+        getattr(self.context, self.functionName)(*args, **kw)


Property changes on: z3c.rml/trunk/src/z3c/rml/element.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/error.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/error.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/error.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,42 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""RML-specific XML tools
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import sys
+
+ERROR_FILE = sys.stderr
+
+class ParseException(Exception):
+    pass
+
+class RequiredAttributeMissing(ParseException):
+
+    def __init__(self, element, name):
+        self.element = element
+        self.name = name
+
+    def __str__(self):
+        return "%r attribute of %r element is required but missing." % (
+            self.name, self.element.tag)
+
+
+
+def reportUnsupportedAttribute(element, name):
+    ERROR_FILE.write(
+        "'%s' attribute of '%s' element is not yet supported." % (
+            name, element.tag)
+        )


Property changes on: z3c.rml/trunk/src/z3c/rml/error.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/features.txt
===================================================================
--- z3c.rml/trunk/src/z3c/rml/features.txt	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/features.txt	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,23 @@
+============
+RML Elements
+============
+
+Attribute Types
+===============
+
+Elements
+========
+
+``document``
+------------
+
+Sub Elements: template, stylesheet story
+
+================= ========== === ==============================================
+Attribute Name    Type        Req Notes
+----------------- ----------- --- ---------------------------------------------
+filename          Text
+compression       DefaultBool
+invariant         DefaultBool
+debug
+================= =========== === =============================================


Property changes on: z3c.rml/trunk/src/z3c/rml/features.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: z3c.rml/trunk/src/z3c/rml/flowable.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/flowable.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/flowable.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,370 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Style Related Element Processing
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import copy
+import reportlab.platypus.doctemplate
+import reportlab.platypus.flowables
+import reportlab.platypus.tables
+from reportlab import platypus
+from reportlab.lib import styles
+from z3c.rml import attr, element, special
+
+
+class Flowable(element.FunctionElement):
+    klass=None
+
+    def process(self):
+        args = self.getPositionalArguments()
+        kw = self.getKeywordArguments()
+        self.parent.flow.append(self.klass(*args, **kw))
+
+
+class Spacer(Flowable):
+    klass = platypus.Spacer
+    args = ( attr.Measurement('width', 100), attr.Measurement('length'), )
+
+
+class PlatypusIllustration(platypus.flowables.Flowable):
+    def __init__(self, processor, width, height):
+        self.processor = processor
+        self.width = width
+        self.height = height
+
+    def wrap(self, *args):
+        return (self.width, self.height)
+
+    def draw(self):
+        # Import here to avoid recursive imports
+        from z3c.rml import canvas
+        self.canv.saveState()
+        drawing = canvas.Drawing(
+            self.processor.element, self.processor, self.canv)
+        drawing.process()
+        self.canv.restoreState()
+
+class Illustration(Flowable):
+    klass = PlatypusIllustration
+    args = ( attr.Measurement('width'), attr.Measurement('height', 100))
+
+    def process(self):
+        args = self.getPositionalArguments()
+        self.parent.flow.append(self.klass(self, *args))
+
+class Preformatted(Flowable):
+    klass = platypus.Preformatted
+    args = ( attr.RawXMLContent(u''), attr.Style('style', 'para', 'Normal') )
+
+class XPreformatted(Flowable):
+    klass = platypus.XPreformatted
+    args = ( attr.RawXMLContent(u''), attr.Style('style', 'para', 'Normal') )
+
+class PluginFlowable(Flowable):
+    args = ( attr.Text('module'), attr.Text('function'), attr.TextNode())
+
+    def process(self):
+        modulePath, functionName, text = self.getPositionalArguments()
+        module = __import__(modulePath, {}, {}, [modulePath])
+        function = getattr(module, functionName)
+        self.parent.flow.append(function(text))
+
+class Paragraph(Flowable):
+    klass = platypus.Paragraph
+    args = ( attr.XMLContent(u''), attr.Style('style', 'para', 'Normal') )
+
+class Title(Paragraph):
+    args = ( attr.XMLContent(u''), attr.Style('style', 'para', 'Title'), )
+
+class Heading1(Paragraph):
+    args = ( attr.XMLContent(u''), attr.Style('style', 'para', 'Heading1'), )
+
+class Heading2(Paragraph):
+    args = ( attr.XMLContent(u''), attr.Style('style', 'para', 'Heading2'), )
+
+class Heading3(Paragraph):
+    args = ( attr.XMLContent(u''), attr.Style('style', 'para', 'Heading3'), )
+
+class TableCell(element.Element):
+
+    styleAttrs = (
+        ('FONTNAME', (attr.Text('fontName'),)),
+        ('FONTSIZE', (attr.Measurement('fontSize'),)),
+        ('LEADING', (attr.Measurement('leading'),)),
+        ('LEFTPADDING', (attr.Measurement('leftPadding'),)),
+        ('RIGHTPADDING', (attr.Measurement('rightPadding'),)),
+        ('TOPPADDING', (attr.Measurement('topPadding'),)),
+        ('BOTTOMPADDING', (attr.Measurement('bottomPadding'),)),
+        ('BACKGROUND', (attr.Color('background'),)),
+        ('ALIGNMENT', (attr.Choice('align',
+                           {'left': 'LEFT', 'right': 'RIGHT',
+                            'center': 'CENTER', 'decimal': 'DECIMAL'}),)),
+        ('VALIGN', (attr.Choice('vAlign',
+                        {'top': 'TOP', 'middle': 'MIDDLE',
+                         'bottom': 'BOTTOM'}), )),
+        ('LINEBELOW', (attr.Measurement('lineBelowThickness'),
+                       attr.Color('lineBelowColor'),
+                       attr.Choice('lineBelowCap',
+                                   {'butt': 0, 'round': 1, 'square': 2}),
+                       attr.Int('lineBelowCount'),
+                       attr.Measurement('lineBelowSpace'))),
+        ('LINEABOVE', (attr.Measurement('lineAboveThickness'),
+                       attr.Color('lineAboveColor'),
+                       attr.Choice('lineAboveCap',
+                                   {'butt': 0, 'round': 1, 'square': 2}),
+                       attr.Int('lineAboveCount'),
+                       attr.Measurement('lineAboveSpace'))),
+        ('LINEBEFORE', (attr.Measurement('lineLeftThickness'),
+                        attr.Color('lineLeftColor'),
+                        attr.Choice('lineLeftCap',
+                                    {'butt': 0, 'round': 1, 'square': 2}),
+                        attr.Int('lineLeftCount'),
+                        attr.Measurement('lineLeftSpace'))),
+        ('LINEAFTER', (attr.Measurement('lineRightThickness'),
+                       attr.Color('lineRightColor'),
+                       attr.Choice('lineRightCap',
+                                   {'butt': 0, 'round': 1, 'square': 2}),
+                       attr.Int('lineRightCount'),
+                       attr.Measurement('lineRightSpace'))),
+        )
+
+    def processStyle(self):
+        row = len(self.parent.parent.rows)
+        col = len(self.parent.cols)
+        for styleName, attrs in self.styleAttrs:
+            args = []
+            for attribute in attrs:
+                value = attribute.get(self.element)
+                if value is not attr.DEFAULT:
+                    args.append(value)
+            if args or len(attrs) == 0:
+                self.parent.parent.style.add(
+                    styleName, [col, row], [col, row], *args)
+    def process(self):
+        # Produce style
+        self.processStyle()
+        # Produce cell data
+        flow = Flow(self.element, self.parent, self.context)
+        flow.process()
+        content = flow.flow
+        if len(content) == 0:
+            content = attr.TextNode().get(self.element)
+        self.parent.cols.append(content)
+
+class TableRow(element.ContainerElement):
+
+    subElements = {'td': TableCell}
+
+    def process(self):
+        self.cols = []
+        self.processSubElements(None)
+        self.parent.rows.append(self.cols)
+
+class BlockTable(element.ContainerElement, Flowable):
+    klass = platypus.Table
+    kw = (
+        ('rowHeights', attr.Sequence('rowHeights', attr.Measurement())),
+        ('colWidths', attr.Sequence('colWidths', attr.Measurement())),
+        )
+
+    subElements = {'tr': TableRow}
+
+    def process(self):
+        # Get the table style; create a new one, if none is found
+        self.style = attr.Style('style', 'table').get(self.element, None, self)
+        if self.style is None:
+            self.style = reportlab.platypus.tables.TableStyle()
+        # Extract all table rows and cells
+        self.rows = []
+        self.processSubElements(None)
+        # Create the table
+        kw = self.getKeywordArguments()
+        table = self.klass(self.rows, **kw)
+        table.setStyle(self.style)
+
+        self.parent.flow.append(table)
+
+
+class NextFrame(Flowable):
+    klass = platypus.doctemplate.FrameBreak
+    kw = (
+        ('ix', attr.StringOrInt('name')), )
+
+class SetNextFrame(Flowable):
+    klass = platypus.doctemplate.NextFrameFlowable
+    kw = (
+        ('ix', attr.StringOrInt('name')), )
+
+class NextPage(Flowable):
+    klass = platypus.PageBreak
+
+class SetNextTemplate(Flowable):
+    klass = platypus.doctemplate.NextPageTemplate
+    args = ( attr.StringOrInt('name'), )
+
+class ConditionalPageBreak(Flowable):
+    klass = platypus.CondPageBreak
+    args = ( attr.Measurement('height'), )
+
+
+class KeepInFrame(Flowable):
+    klass = reportlab.platypus.flowables.KeepInFrame
+    args = (
+        attr.Measurement('maxWidth'),
+        attr.Measurement('maxHeight'), )
+    kw = (
+        ('mergeSpace', attr.Bool('mergeSpace')),
+        ('mode', attr.Choice('onOverflow',
+                             ('error', 'overflow', 'shrink', 'truncate'))),
+        ('name', attr.Text('id')) )
+
+    def process(self):
+        flow = Flow(self.element, self.parent, self.context)
+        flow.process()
+        args = self.getPositionalArguments()
+        kw = self.getKeywordArguments()
+        kw['content'] = flow.flow
+        frame = self.klass(*args, **kw)
+        self.parent.flow.append(frame)
+
+
+class ImageAndFlowables(Flowable):
+    klass = reportlab.platypus.flowables.ImageAndFlowables
+    args = ( attr.Image('imageName', onlyOpen=True), )
+    kw = (
+        ('width', attr.Measurement('imageWidth')),
+        ('height', attr.Measurement('imageHeight')),
+        ('mask', attr.Color('imageMask')),
+        ('imageLeftPadding', attr.Measurement('imageLeftPadding')),
+        ('imageRightPadding', attr.Measurement('imageRightPadding')),
+        ('imageTopPadding', attr.Measurement('imageTopPadding')),
+        ('imageBottomPadding', attr.Measurement('imageBottomPadding')),
+        ('imageSide', attr.Choice('imageSide', ('left', 'right'))) )
+
+    def process(self):
+        flow = Flow(self.element, self.parent, self.context)
+        flow.process()
+        args = self.getPositionalArguments()
+        kw = self.getKeywordArguments()
+        # Create the image
+        img = reportlab.platypus.flowables.Image(
+            width=kw.get('width'), height=kw.get('height'),
+            mask=kw.get('mask', 'auto'), *args)
+        for option in ('width', 'height', 'mask'):
+            if option in kw:
+                del kw[option]
+        # Create the flowable and add it
+        self.parent.flow.append(
+            self.klass(img, flow.flow, **kw))
+
+
+class PTO(Flowable):
+    klass = reportlab.platypus.flowables.PTOContainer
+
+    def process(self):
+        # Get Content
+        flow = Flow(self.element, self.parent, self.context)
+        flow.process()
+        # Get the header
+        ptoHeader = self.element.find('pto_header')
+        header = None
+        if ptoHeader:
+            header = Flow(ptoHeader, self.parent, self.context)
+            header.process()
+            header = header.flow
+        # Get the trailer
+        ptoTrailer = self.element.find('pto_trailer')
+        trailer = None
+        if ptoTrailer:
+            trailer = Flow(ptoTrailer, self.parent, self.context)
+            trailer.process()
+            trailer = trailer.flow
+        # Create and add the PTO Container
+        self.parent.flow.append(self.klass(flow.flow, trailer, header))
+
+
+class Indent(Flowable):
+    kw = (
+        ('left', attr.Measurement('left')),
+        ('right', attr.Measurement('right')) )
+
+    def process(self):
+        kw = self.getKeywordArguments()
+        # Indent
+        self.parent.flow.append(reportlab.platypus.doctemplate.Indenter(**kw))
+        # Add Content
+        flow = Flow(self.element, self.parent, self.context)
+        flow.process()
+        self.parent.flow += flow.flow
+        # Dedent
+        for name, value in kw.items():
+            kw[name] = -value
+        self.parent.flow.append(reportlab.platypus.doctemplate.Indenter(**kw))
+
+
+class FixedSize(Flowable):
+    klass = reportlab.platypus.flowables.KeepInFrame
+    args = (
+        attr.Measurement('width'),
+        attr.Measurement('height'), )
+
+    def process(self):
+        flow = Flow(self.element, self.parent, self.context)
+        flow.process()
+        args = self.getPositionalArguments()
+        frame = self.klass(content=flow.flow, mode='shrink', *args)
+        self.parent.flow.append(frame)
+
+
+class Flow(element.ContainerElement):
+
+    subElements = {
+        # Generic Flowables
+        'spacer': Spacer,
+        'illustration': Illustration,
+        'pre': Preformatted,
+        'xpre': XPreformatted,
+        'pluginFlowable': PluginFlowable,
+        # Paragraph-Like Flowables
+        'title': Title,
+        'h1': Heading1,
+        'h2': Heading2,
+        'h3': Heading3,
+        'para': Paragraph,
+        # Table Flowable
+        'blockTable': BlockTable,
+        # Page-level Flowables
+        'nextFrame': NextFrame,
+        'setNextFrame': SetNextFrame,
+        'nextPage': NextPage,
+        'setNextTemplate': SetNextTemplate,
+        'condPageBreak': ConditionalPageBreak,
+        'keepInFrame': KeepInFrame,
+        'imageAndFlowables': ImageAndFlowables,
+        'pto': PTO,
+        'indent': Indent,
+        'fixedSize': FixedSize,
+        # Special Elements
+        'name': special.Name,
+        }
+
+    def __init__(self, *args, **kw):
+        super(Flow, self).__init__(*args, **kw)
+        self.flow = []
+
+    def process(self):
+        self.processSubElements(None)
+        return self.flow


Property changes on: z3c.rml/trunk/src/z3c/rml/flowable.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/form.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/form.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/form.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,54 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Page Drawing Related Element Processing
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import types
+from z3c.rml import attr, element
+
+try:
+    import reportlab.graphics.barcode
+except ImportError:
+    # barcode package has not been installed
+    import reportlab.graphics
+    reportlab.graphics.barcode = types.ModuleType('barcode')
+    reportlab.graphics.barcode.getCodeNames = lambda : ()
+
+
+class BarCode(element.FunctionElement):
+    args = (
+        attr.Choice('code', reportlab.graphics.barcode.getCodeNames()),
+        attr.TextNode(),
+        )
+    kw = (
+        ('x', attr.Measurement('x')),
+        ('y', attr.Measurement('y')),
+        ('strokeColor', attr.Color('strokeColor')),
+        ('strokeWidth', attr.Measurement('strokeWidth')),
+        ('fillColor', attr.Color('fillColor')),
+        ('barStrokeColor', attr.Color('barStrokeColor')),
+        ('barStrokeWidth', attr.Measurement('barStrokeWidth')),
+        ('barFillColor', attr.Color('barFillColor')),
+        ('gap', attr.Measurement('gap')),
+        )
+
+    def process(self):
+        kw = self.getKeywordArguments()
+        name, kw['value'] = self.getPositionalArguments()
+        x = kw.pop('x', 0)
+        y = kw.pop('y', 0)
+        code = reportlab.graphics.barcode.createBarcodeDrawing(name, **kw)
+        code.drawOn(self.context, x, y)


Property changes on: z3c.rml/trunk/src/z3c/rml/form.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/interfaces.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/interfaces.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/interfaces.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,34 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""RML to PDF Converter Interfaces
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import zope.interface
+
+class IRML2PDF(zope.interface.Interface):
+    """This is the main public API of z3c.rml"""
+
+    def go(xmlInputName, outputFileName=None, outDir=None, dtdDir=None):
+        """Convert RML 2 PDF.
+
+        The generated file will be located in the ``outDir`` under the name
+        ``outputFileName``.
+        """
+
+class IStylesManager(zope.interface.Interface):
+    """Manages custom styles"""
+
+    styles = zope.interface.Attribute("Styles dict")


Property changes on: z3c.rml/trunk/src/z3c/rml/interfaces.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/platypus.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/platypus.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/platypus.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,18 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Style Related Element Processing
+
+$Id$
+"""
+__docformat__ = "reStructuredText"


Property changes on: z3c.rml/trunk/src/z3c/rml/platypus.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/rml2pdf.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/rml2pdf.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/rml2pdf.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,49 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""RML to PDF Converter
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import os
+import sys
+import zope.interface
+from lxml import etree
+from z3c.rml import document, interfaces
+
+zope.interface.moduleProvides(interfaces.IRML2PDF)
+
+
+def go(xmlInputName, outputFileName=None, outDir=None, dtdDir=None):
+    if dtdDir is not None:
+        sys.stderr.write('The ``dtdDir`` option is not yet supported.')
+
+    xmlFile = open(xmlInputName, 'r')
+    root = etree.parse(xmlFile).getroot()
+    doc = document.Document(root)
+
+    outputFile = None
+
+    # If an output filename is specified, create an output filepointer for it
+    if outputFileName is not None:
+        if outDir is not None:
+            outputFileName = os.path.join(outDir, outputFileName)
+        outputFile = open(outputFileName, 'w')
+
+    # Create a Reportlab canvas by processing the document
+    doc.process(outputFile)
+
+
+if __name__ == '__main__':
+    canvas = go(sys.argv[1])


Property changes on: z3c.rml/trunk/src/z3c/rml/rml2pdf.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/special.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/special.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/special.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,60 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Special Element Processing
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+from z3c.rml import attr, element
+
+
+class Name(element.FunctionElement):
+    args = (
+        attr.Text('id'),
+        attr.Text('value'), )
+
+    def process(self):
+        args = self.getPositionalArguments()
+        elem = self
+        while not hasattr(elem, 'names') and elem is not None:
+            elem = elem.parent
+        elem.names[args[0]] = args[1]
+
+
+class GetName(element.Element):
+
+    def process(self):
+        id = attr.Text('id').get(self.element)
+        elem = self
+        while not hasattr(elem, 'names') and elem is not None:
+            elem = elem.parent
+        text = elem.names[id] + (self.element.tail or u'')
+        # Now replace the element with the text
+        parent = self.element.getparent()
+        if parent.text is None:
+            parent.text = text
+        else:
+            parent.text += text
+        parent.remove(self.element)
+
+
+class Alias(element.Element):
+
+    def process(self):
+        id = attr.Text('id').get(self.element)
+        value = attr.Text('value').get(self.element)
+        elem = self
+        while not hasattr(elem, 'styles') and elem is not None:
+            elem = elem.parent
+        elem.styles[value] = elem.styles[id]


Property changes on: z3c.rml/trunk/src/z3c/rml/special.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/stylesheet.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/stylesheet.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/stylesheet.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,199 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Style Related Element Processing
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import copy
+import reportlab.lib.styles
+import reportlab.lib.enums
+import reportlab.platypus
+from z3c.rml import attr, element, error, special
+
+
+class Initialize(element.ContainerElement):
+
+    subElements = {
+        'name': special.Name,
+        'alias': special.Alias,
+        }
+
+class ParagraphStyle(element.Element):
+    attrs = (
+        attr.Text('name'),
+        attr.Text('alias'),
+        attr.Text('parent'),
+        attr.Text('fontName'),
+        attr.Measurement('fontSize'),
+        attr.Measurement('leading'),
+        attr.Measurement('leftIndent'),
+        attr.Measurement('rightIndent'),
+        attr.Measurement('firstLineIndent'),
+        attr.Measurement('spaceBefore'),
+        attr.Measurement('spaceAfter'),
+        attr.Choice('alignment',
+            {'left':reportlab.lib.enums.TA_LEFT,
+             'right':reportlab.lib.enums.TA_RIGHT,
+             'center':reportlab.lib.enums.TA_CENTER,
+             'justify':reportlab.lib.enums.TA_JUSTIFY}),
+        attr.Text('bulletFontname'),
+        attr.Measurement('bulletFontsize'),
+        attr.Measurement('bulletIndent'),
+        attr.Color('textColor'),
+        attr.Color('backColor')
+        )
+
+    def baseStyle(self, name=None):
+        name = name or 'Normal'
+        styles = reportlab.lib.styles.getSampleStyleSheet()
+        return copy.deepcopy(styles[name])
+
+    def process(self):
+        attrs = element.extractKeywordArguments(
+            [(attr.name, attr) for attr in self.attrs], self.element)
+
+        style = self.baseStyle(attrs.get('parent'))
+        if 'parent' in attrs:
+            del attrs['parent']
+
+        for name, value in attrs.items():
+            setattr(style, name, value)
+
+        self.parent.parent.styles.setdefault('para', {})[style.name] = style
+
+
+class TableStyleCommand(element.Element):
+    name = None
+    attrs = (
+        attr.Sequence('start', attr.Int(), [0, 0], length=2),
+        attr.Sequence('stop', attr.Int(), [-1, -1], length=2) )
+
+    def process(self):
+        args = [self.name]
+        for attribute in self.attrs:
+            value = attribute.get(self.element)
+            if value is not attr.DEFAULT:
+                args.append(value)
+        self.context.add(*args)
+
+class BlockFont(TableStyleCommand):
+    name = 'FONT'
+    attrs = TableStyleCommand.attrs + (
+        attr.Text('name'),
+        attr.Measurement('size'),
+        attr.Measurement('leading') )
+
+class BlockLeading(TableStyleCommand):
+    name = 'LEADING'
+    attrs = TableStyleCommand.attrs + (attr.Measurement('length'), )
+
+class BlockTextColor(TableStyleCommand):
+    name = 'TEXTCOLOR'
+    attrs = TableStyleCommand.attrs + (attr.Color('colorName'), )
+
+class BlockAlignment(TableStyleCommand):
+    name = 'ALIGNMENT'
+    attrs = TableStyleCommand.attrs + (
+        attr.Choice('value',
+                    {'left': 'LEFT', 'right': 'RIGHT',
+                     'center': 'CENTER', 'decimal': 'DECIMAL'}), )
+
+class BlockLeftPadding(TableStyleCommand):
+    name = 'LEFTPADDING'
+    attrs = TableStyleCommand.attrs + (attr.Measurement('length'), )
+
+class BlockRightPadding(TableStyleCommand):
+    name = 'RIGHTPADDING'
+    attrs = TableStyleCommand.attrs + (attr.Measurement('length'), )
+
+class BlockBottomPadding(TableStyleCommand):
+    name = 'BOTTOMPADDING'
+    attrs = TableStyleCommand.attrs + (attr.Measurement('length'), )
+
+class BlockTopPadding(TableStyleCommand):
+    name = 'TOPPADDING'
+    attrs = TableStyleCommand.attrs + (attr.Measurement('length'), )
+
+class BlockBackground(TableStyleCommand):
+    name = 'BACKGROUND'
+    attrs = TableStyleCommand.attrs + (attr.Color('colorName'), )
+
+class BlockRowBackground(TableStyleCommand):
+    name = 'ROWBACKGROUNDS'
+    attrs = TableStyleCommand.attrs + (
+        attr.Sequence('colorNames', attr.Color()), )
+
+class BlockColBackground(TableStyleCommand):
+    name = 'COLBACKGROUNDS'
+    attrs = TableStyleCommand.attrs + (
+        attr.Sequence('colorNames', attr.Color()), )
+
+class BlockValign(TableStyleCommand):
+    name = 'VALIGN'
+    attrs = TableStyleCommand.attrs + (
+        attr.Choice('value',
+                    {'top': 'TOP', 'middle': 'MIDDLE', 'bottom': 'BOTTOM'}), )
+
+class BlockSpan(TableStyleCommand):
+    name = 'SPAN'
+
+class LineStyle(TableStyleCommand):
+    attrs = TableStyleCommand.attrs + (
+        attr.Measurement('thickness', 1),
+        attr.Color('colorName'), )
+
+    @property
+    def name(self):
+        cmds = ['GRID', 'BOX', 'OUTLINE', 'INNERGRID',
+                'LINEBELOW', 'LINEABOVE', 'LINEBEFORE', 'LINEAFTER']
+        return attr.Choice(
+            'kind', dict([(cmd.lower(), cmd) for cmd in cmds])
+            ).get(self.element)
+
+class BlockTableStyle(element.ContainerElement):
+
+    subElements = {
+        'blockFont': BlockFont,
+        'blockLeading': BlockLeading,
+        'blockTextColor': BlockTextColor,
+        'blockAlignment': BlockAlignment,
+        'blockLeftPadding': BlockLeftPadding,
+        'blockRightPadding': BlockRightPadding,
+        'blockBottomPadding': BlockBottomPadding,
+        'blockTopPadding': BlockTopPadding,
+        'blockBackground': BlockBackground,
+        'blockRowBackground': BlockRowBackground,
+        'blockColBackground': BlockColBackground,
+        'blockValign': BlockValign,
+        'blockSpan': BlockSpan,
+        'lineStyle': LineStyle,
+        }
+
+    def process(self):
+        id = attr.Text('id').get(self.element)
+        style = reportlab.platypus.tables.TableStyle()
+        self.processSubElements(style)
+        self.parent.parent.styles.setdefault('table', {})[id] = style
+
+
+class Stylesheet(element.ContainerElement):
+
+    subElements = {
+        'initialize': Initialize,
+        'paraStyle': ParagraphStyle,
+        'blockTableStyle': BlockTableStyle,
+        # TODO: 'boxStyle': BoxStyle,
+        }
+    order = ('paraStyle', 'blockTableStyle', 'initialize')


Property changes on: z3c.rml/trunk/src/z3c/rml/stylesheet.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/template.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/template.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/template.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,129 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Style Related Element Processing
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import zope.interface
+from reportlab import platypus
+from z3c.rml import attr, canvas, element, flowable, interfaces, stylesheet
+
+
+
+class Story(flowable.Flow):
+    pass
+
+class Frame(element.FunctionElement):
+    args = (
+        attr.Measurement('x1'), attr.Measurement('y1'),
+        attr.Measurement('width'), attr.Measurement('height'),
+        )
+    kw = (
+        ('id', attr.Text('id')),
+        # Non-RML compliant extensions
+        ('leftPadding', attr.Measurement('leftPadding')),
+        ('rightPadding', attr.Measurement('rightPadding')),
+        ('topPadding', attr.Measurement('topPadding')),
+        ('bottomPadding', attr.Measurement('bottomPadding')),
+        ('showBoundary', attr.Bool('showBoundary')),
+        )
+
+    def process(self):
+        args = self.getPositionalArguments()
+        kw = self.getKeywordArguments()
+        frame = platypus.Frame(*args, **kw)
+        self.context.frames.append(frame)
+
+
+class PageGraphics(element.Element):
+
+    def process(self):
+        def drawOnCanvas(canv, doc):
+            canv.saveState()
+            drawing = canvas.Drawing(self.element, self, canv)
+            drawing.process()
+            canv.restoreState()
+
+        self.context.onPage = drawOnCanvas
+
+
+class PageTemplate(element.FunctionElement, element.ContainerElement):
+    args = (attr.Text('id'),)
+    kw = (
+        ('pagesize', attr.Sequence('pageSize', attr.Measurement(), length=2)),
+        ('rotation', attr.Int('rotation')) )
+
+    subElements = {
+        'frame': Frame,
+        'pageGraphics': PageGraphics,
+        }
+
+    def process(self):
+        args = self.getPositionalArguments()
+        pt = platypus.PageTemplate(*args)
+
+        kw = self.getKeywordArguments()
+        if 'pagesize' in kw:
+            pt.pagesize = kw['pagesize']
+
+        self.processSubElements(pt)
+        self.context.addPageTemplates(pt)
+
+
+class Template(element.ContainerElement):
+    zope.interface.implements(interfaces.IStylesManager)
+
+    templateArgs = (
+        ('pagesize', attr.Sequence('PageSize', attr.Measurement(), length=2)),
+        ('rotation', attr.Int('rotation')),
+        ('leftMargin', attr.Measurement('leftMargin')),
+        ('rightMargin', attr.Measurement('rightMargin')),
+        ('topMargin', attr.Measurement('topMargin')),
+        ('bottomMargin', attr.Measurement('bottomMargin')),
+        ('showBoundary', attr.Bool('showBoundary')),
+        ('allowSplitting', attr.Bool('allowSplitting')),
+        ('title', attr.Text('title')),
+        ('author', attr.Text('author')) )
+
+    documentArgs = (
+        ('_debug', attr.Bool('debug')),
+        ('pageCompression', attr.DefaultBool('compression')),
+        ('invariant', attr.DefaultBool('invariant')) )
+
+    subElements = {
+        'pageTemplate': PageTemplate,
+        'stylesheet': stylesheet.Stylesheet,
+        }
+
+    def __init__(self, element):
+        self.element = element
+        self.names = {}
+        self.styles = {}
+
+    def process(self, outputFile):
+        docElement = self.element
+        self.processSubElements(None)
+
+        self.element = self.element.find('template')
+
+        kw = element.extractKeywordArguments(self.documentArgs, docElement)
+        kw.update(element.extractKeywordArguments(
+            self.templateArgs, self.element))
+        doc = platypus.BaseDocTemplate(outputFile, **kw)
+
+        self.processSubElements(doc)
+
+        story = Story(docElement.find('story'), self, doc).process()
+        doc.build(story)


Property changes on: z3c.rml/trunk/src/z3c/rml/template.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/tests/__init__.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/__init__.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/__init__.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1 @@
+# Make a package.


Property changes on: z3c.rml/trunk/src/z3c/rml/tests/__init__.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/tests/flowable.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/flowable.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/flowable.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,34 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Style Related Element Processing
+
+$Id$
+"""
+__docformat__ = "reStructuredText"
+import reportlab.platypus.flowables
+
+
+class TestFlowable(reportlab.platypus.flowables.Flowable):
+
+    def __init__(self, text):
+        self.text = text
+
+    def wrap(self, *args):
+        return (400, 100)
+
+    def draw(self):
+        self.canv.saveState()
+        self.canv.rect(0, 0, 400, 100)
+        self.canv.drawString(0, 50, self.text)
+        self.canv.restoreState()


Property changes on: z3c.rml/trunk/src/z3c/rml/tests/flowable.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: z3c.rml/trunk/src/z3c/rml/tests/input/images/replogo.gif
===================================================================
(Binary files differ)


Property changes on: z3c.rml/trunk/src/z3c/rml/tests/input/images/replogo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-01.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-01.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-01.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,10 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="rml-guide-example-01.pdf">
+  <stylesheet>
+  </stylesheet>
+  <pageDrawing>
+    <drawCentredString x="4.1in" y="5.8in">
+      Hello World.
+    </drawCentredString>
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-02.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-02.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-02.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,21 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="rml-guide-example-02.pdf">
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+  <stylesheet>
+  </stylesheet>
+  <!-- The story starts below this comment -->
+  <story>
+    <para>
+         This is the "story". This is the part of the RML document where
+         your text is placed.
+    </para>
+    <para>
+         It should be enclosed in "para" and "/para" tags to turn it into
+         paragraphs.
+    </para>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-03.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-03.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-03.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="example_3.pdf">
+  <template>
+    <pageTemplate id="main">
+      <pageGraphics>
+        <!-- set the font and fill colour for the title. -->
+        <fill color="red"/>
+        <setFont name="Helvetica" size="24"/>
+        <!-- Use drawCentredString to place a title on the page -->
+        <drawCentredString x="297.5" y="800">
+            Simple Text and Graphics with RML.
+        </drawCentredString>
+        <fill color="red"/>
+        <!-- look at the output - though a fill color is set, no fill -->
+        <!-- is produced, since fill is set to "no" for the circle    -->
+        <circle x="127.5" y="672.75" radius="1 in" fill="no"
+            stroke="yes"/>
+        <fill color="green"/>
+        <stroke color="black"/>
+        <circle x="297.5" y="672.75" radius="1 in" fill="yes"
+            stroke="no"/>
+        <fill color="blue"/>
+        <stroke color="black"/>
+        <circle x="467.5" y="672.75" radius="1 in" fill="yes"
+            stroke="yes"/>
+        <fill color="black"/>
+        <setFont name="Helvetica" size="9"/>
+        <drawCentredString x="127.5" y="567.5">
+            Circle - with stroke, but no fill.
+        </drawCentredString>
+        <drawCentredString x="297.5" y="567.5">
+            Circle - with fill, but no stroke.
+        </drawCentredString>
+        <drawCentredString x="467.5" y="567.5">
+            Circle - with both stroke and fill.
+        </drawCentredString>
+        <fill color="red"/>
+        <ellipse x="77" y="382.25" width="100" height="170"
+            fill="no" stroke="yes"/>
+        <fill color="green"/>
+        <stroke color="black"/>
+        <ellipse x="247" y="382.25" width="100" height="170"
+            fill="yes" stroke="no"/>
+        <fill color="blue"/>
+        <stroke color="black"/>
+        <ellipse x="417" y="382.25" width="100" height="170"
+            fill="yes" stroke="yes"/>
+        <fill color="black"/>
+        <drawCentredString x="127.5" y="357">
+            Ellipse - with stroke, but no fill.
+        </drawCentredString>
+        <drawCentredString x="297.5" y="357">
+            Ellipse - with fill, but no stroke.
+        </drawCentredString>
+        <drawCentredString x="467.5" y="357">
+            Ellipse - with both stroke and fill.
+        </drawCentredString>
+        <rect x="84.5" y="214.3" width="1 in" height="1.15 in"
+            fill="no" stroke="yes"/>
+        <fill color="green"/>
+        <stroke color="black"/>
+        <rect x="254.5" y="214.3" width="1 in" height="1.15 in"
+            fill="yes" stroke="no"/>
+        <fill color="blue"/>
+        <stroke color="black"/>
+        <rect x="424.5" y="214.3" width="1 in" height="1.15 in"
+            fill="yes" stroke="yes"/>
+        <fill color="black"/>
+        <drawCentredString x="127.5" y="199.1">
+            Rect - with stroke, but no fill.
+        </drawCentredString>
+        <drawCentredString x="297.5" y="199.1">
+            Rect - with fill, but no stroke.
+        </drawCentredString>
+        <drawCentredString x="467.5" y="199.1">
+            Rect - with both stroke and fill.
+        </drawCentredString>
+        <rect x="84.5" y="56.5" width="1 in" height="1.15 in"
+            fill="no" stroke="yes" round="0.15 in"/>
+        <fill color="green"/>
+        <stroke color="black"/>
+        <rect x="254.5" y="56.5" width="1 in" height="1.15 in"
+            fill="yes" stroke="no" round="0.15 in"/>
+        <fill color="blue"/>
+        <stroke color="black"/>
+        <rect x="424.5" y="56.5" width="1 in" height="1.15 in"
+            fill="yes" stroke="yes" round="0.15 in"/>
+         <fill color="black"/>
+         <drawCentredString x="127.5" y="41.25">
+             Rect - with stroke and round, but no fill.
+         </drawCentredString>
+         <drawCentredString x="297.5" y="41.25">
+             Rect - with fill and round, but no stroke.
+         </drawCentredString>
+         <drawCentredString x="467.5" y="41.25">
+             Rect - with stroke, fill and round.
+         </drawCentredString>
+      </pageGraphics>
+      <frame id="first" x1="0.5in" y1="0.5in"
+             width="20cm" height="28cm"/>
+    </pageTemplate>
+  </template>
+  <stylesheet>
+  </stylesheet>
+  <story>
+    <para></para>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-04.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-04.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-04.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="example_4.pdf">
+  <template>
+    <pageTemplate id="main">
+    <pageGraphics>
+        <fill color="red"/>
+
+        <setFont name="Helvetica" size="24"/>
+        <drawCentredString x="297.5" y="800">
+            Lines in RML.
+        </drawCentredString>
+
+        <!-- notice that each of these "empty" tags are teminated -->
+        <!-- with a slash                                         -->
+        <lineMode width="1"/>
+        <lines>
+          1in 10.5in 2in 10.5in
+          2in 10.5in 1.5in 10in
+          1.5in 10in 1.5in 10.75in
+        </lines>
+        <fill color="black"/>
+        <setFont name="Helvetica" size="9"/>
+        <drawCentredString x="1.5 in" y="9.75 in">
+            width=1
+        </drawCentredString>
+        <lineMode width="5"/>
+        <lines>
+          2.5in 10.5in 3.5in 10.5in
+          3.5in 10.5in 3in 10in
+          3in 10in 3in 10.75in
+        </lines>
+        <drawCentredString x="3 in" y="9.75 in">
+            width=5
+        </drawCentredString>
+        <lineMode width="10"/>
+        <lines>
+          4in 10.5in 5in 10.5in
+          5in 10.5in 4.5in 10in
+          4.5in 10in 4.5in 10.75in
+        </lines>
+        <drawCentredString x="4.5 in" y="9.75 in">
+            width=10
+        </drawCentredString>
+        <lineMode width="15"/>
+        <lines>
+          5.5in 10.5in 6.5in 10.5in
+          6.5in 10.5in 6in 10in
+          6in 10in 6in 10.75in
+        </lines>
+        <drawCentredString x="6 in" y="9.75 in">
+            width=15
+        </drawCentredString>
+        <!-- examples for the 'join' attribute to 'LineMode' -->
+        <lineMode width="5"/>
+        <lines>
+          1in 9in 2in 9in
+          2in 9in 1.5in 8.5in
+          1.5in 8.5in 1.5in 9.25in
+        </lines>
+        <fill color="black"/>
+        <setFont name="Helvetica" size="9"/>
+        <drawCentredString x="1.5 in" y="8.25 in">
+            width=10
+        </drawCentredString>
+        <!-- options for 'join' are "round", "mitered", or "bevelled" -->
+        <lineMode width="5" join="round"/>
+        <lines>
+          2.5in 9in 3.5in 9in
+          3.5in 9in 3in 8.5in
+          3in 8.5in 3in 9.25in
+        </lines>
+        <drawCentredString x="3 in" y="8.25 in">
+            width=5, join=round
+        </drawCentredString>
+        <lineMode width="5" join="mitered"/>
+        <lines>
+          4in 9in 5in 9in
+          5in 9in 4.5in 8.5in
+          4.5in 8.5in 4.5in 9.25in
+        </lines>
+        <drawCentredString x="4.5 in" y="8.25 in">
+            width=5, join=mitered
+        </drawCentredString>
+        <lineMode width="5" join="bevelled"/>
+        <lines>
+          5.5in 9in 6.5in 9in
+          6.5in 9in 6in 8.5in
+          6in 8.5in 6in 9.25in
+        </lines>
+        <drawCentredString x="6 in" y="8.25 in">
+            width=5, join=bevelled
+        </drawCentredString>
+        <!-- examples for the 'cap' attribute to 'LineMode' -->
+        <lineMode width="10"/>
+        <lines>
+          1in 7.5in 2in 7.5in
+          2in 7.5in 1.5in 7in
+          1.5in 7in 1.5in 7.75in
+        </lines>
+        <fill color="black"/>
+        <setFont name="Helvetica" size="9"/>
+        <drawCentredString x="1.5 in" y="6.75 in">
+            width=10
+        </drawCentredString>
+        <!-- options for 'cap' are "default", "round", or "square" -->
+        <lineMode width="10" cap="default"/>
+        <lines>
+          2.5in 7.5in 3.5in 7.5in
+          3.5in 7.5in 3in 7in
+          3in 7in 3in 7.75in
+        </lines>
+        <drawCentredString x="3 in" y="6.75 in">
+            width=10, cap=default
+        </drawCentredString>
+        <lineMode width="10" cap="round"/>
+        <lines>
+          4in 7.5in 5in 7.5in
+          5in 7.5in 4.5in 7in
+          4.5in 7in 4.5in 7.75in
+        </lines>
+        <drawCentredString x="4.5 in" y="6.75 in">
+            width=10, cap=round
+        </drawCentredString>
+        <lineMode width="10" cap="square"/>
+        <lines>
+          5.5in 7.5in 6.5in 7.5in
+          6.5in 7.5in 6in 7in
+          6in 7in 6in 7.75in
+        </lines>
+        <drawCentredString x="6 in" y="6.75 in">
+            width=10, cap=square
+        </drawCentredString>
+        <lineMode width="5" cap="default"/>
+        <!-- examples for the 'miterLimit' attribute to 'LineMode' -->
+        <lineMode width="5" join="mitered"/>
+        <lines>
+          1in 6in 2in 6in
+          2in 6in 1.5in 5.5in
+          1.5in 5.5in 1.5in 6.25in
+        </lines>
+        <fill color="black"/>
+        <setFont name="Helvetica" size="9"/>
+        <drawCentredString x="1.5 in" y="5.25 in">
+            width=5, join=mitered
+        </drawCentredString>
+        <lineMode width="5" join="mitered" miterLimit="10"/>
+        <lines>
+          2.5in 6in 3.5in 6in
+          3.5in 6in 3in 5.5in
+          3in 5.5in 3in 6.25in
+        </lines>
+        <drawCentredString x="3 in" y="5.25 in">
+            width=5, join=mitered
+        </drawCentredString>
+        <drawCentredString x="3 in" y="5.1 in">
+            miterLimit=10
+        </drawCentredString>
+        <lineMode width="10" join="mitered"/>
+        <lines>
+          4in 6in 5in 6in
+          5in 6in 4.5in 5.5in
+          4.5in 5.5in 4.5in 6.25in
+        </lines>
+        <drawCentredString x="4.5 in" y="5.25 in">
+            width=10, join=mitered
+        </drawCentredString>
+        <lineMode width="10" join="mitered" miterLimit="20"/>
+        <lines>
+          5.5in 6in 6.5in 6in
+          6.5in 6in 6in 5.5in
+          6in 5.5in 6in 6.25in
+        </lines>
+        <drawCentredString x="6 in" y="5.25 in">
+            width=10, join=mitered
+        </drawCentredString>
+        <drawCentredString x="6 in" y="5.1 in">
+            miterLimit=20
+        </drawCentredString>
+        <!-- examples for the 'dash' attribute to 'LineMode' -->
+        <lineMode width="2"/>
+        <lines>
+          1in 4.5in 2in 4.5in
+          2in 4.5in 1.5in 4in
+          1.5in 4in 1.5in 4.75in
+        </lines>
+        <fill color="black"/>
+        <setFont name="Helvetica" size="9"/>
+        <drawCentredString x="1.5 in" y="3.75 in">
+            width=2
+        </drawCentredString>
+        <!-- options for 'dash' are sequences of numbers -->
+        <lineMode width="2" dash="5,5"/>
+        <lines>
+          2.5in 4.5in 3.5in 4.5in
+          3.5in 4.5in 3in 4in
+          3in 4in 3in 4.75in
+        </lines>
+        <drawCentredString x="3 in" y="3.75 in">
+            width=2, dash=5,5
+        </drawCentredString>
+        <lineMode width="2" dash="2,10"/>
+        <lines>
+          4in 4.5in 5in 4.5in
+          5in 4.5in 4.5in 4in
+          4.5in 4in 4.5in 4.75in
+        </lines>
+        <drawCentredString x="4.5 in" y="3.75 in">
+            width=2, dash=2,10
+        </drawCentredString>
+        <lineMode width="2" dash="5,5,2,10"/>
+        <lines>
+          5.5in 4.5in 6.5in 4.5in
+          6.5in 4.5in 6in 4in
+          6in 4in 6in 4.75in
+        </lines>
+        <drawCentredString x="6 in" y="3.75 in">
+            width=2, dash=5,5,2,10
+        </drawCentredString>
+      </pageGraphics>
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+  <stylesheet>
+  </stylesheet>
+  <story>
+    <para></para>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-05.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-05.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-05.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="example_5.pdf">
+  <template pageSize="(21cm, 29.7cm)"
+        leftMargin="2.5cm"
+        rightMargin="2.5cm"
+        topMargin="2.5cm"
+        bottomMargin="2.5cm"
+        title="Example 5 - templates and pageTemplates"
+        author="Reportlab Inc (Documentation Team)"
+        showBoundary="1"
+        allowSplitting="1"
+        >
+        <!-- showBoundary means that we will be able to see the   -->
+        <!-- limits of frames                                     -->
+
+    <pageTemplate id="main">
+      <pageGraphics>
+      </pageGraphics>
+      <frame id="titleBox" x1="2.5cm" y1="27.7cm" width="16cm"
+             height="1cm"/>
+      <frame id="columnOne" x1="2.5cm" y1="2.5cm" width="7.5cm"
+             height="24.7cm"/>
+      <frame id="columnTwo" x1="11cm" y1="2.5cm" width="7.5cm"
+             height="24.7cm"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+    <initialize>
+      <name id="FileTitle" value="Example 5 - templates and
+            pageTemplates"/>
+      <name id="ColumnOneHeader" value="This is Column One"/>
+      <name id="ColumnTwoHeader" value="This is Column Two"/>
+    </initialize>
+
+    <paraStyle
+        name="titleBox"
+        fontName="Helvetica-Bold"
+        fontSize="18"
+        spaceBefore="0.4 cm"
+        alignment="CENTER"
+        />
+
+    <paraStyle
+        name="body"
+        fontName="Helvetica"
+        fontSize="10"
+        leftIndent="5"
+        spaceAfter="5"
+        />
+  </stylesheet>
+  <story>
+    <para style="titleBox">
+      <b><getName id="FileTitle"/></b>
+    </para>
+    <nextFrame/>
+    <condPageBreak height="144"/>
+    <h2>
+      <getName id="ColumnOneHeader"/>
+    </h2>
+    <para>
+        This is the contents for <b>column one</b>.
+    </para>
+    <para>
+        It uses the default style for paragraph.
+    </para>
+    <para>
+        Does it come out OK?
+    </para>
+    <para>
+        There now follows some random text to see how these paragraphs
+        look with longer content:
+    </para>
+    <para>
+        Blah blah morale blah benchmark blah blah blah blah blah blah
+        communication blah blah blah blah blah blah blah blah blah
+        blah stretch the envelope blah blah blah.
+    </para>
+    <para>
+        Blah blah blah blah blah blah blah blah blah blah blah blah
+        architect blah inter active backward-compatible blah blah blah
+        blah blah. Blah blah blah blah value-added.
+    </para>
+    <para>
+        Blah blah blah blah blah blah blah blah blah re-factoring
+        phase blah knowledge management blah blah. Blah blah blah blah
+        interactive blah vision statement blah.
+    </para>
+    <para>
+        Blah blah blah blah blah blah conceptualize blah downsize blah
+        blah blah blah. Blah blah blah blah blah blah blah blah blah
+        blah blah blah synergy client-centered vision statement.
+    </para>
+    <para>
+        Blah blah dysfunctional blah blah blah blah blah blah blah
+        appropriate blah blah blah blah blah blah blah blah
+        re-factoring go the extra mile blah blah blah blah.
+    </para>
+    <nextFrame/>
+    <condPageBreak height="144"/>
+    <h2>
+      <getName id="ColumnTwoHeader"/>
+    </h2>
+    <para style="body">
+        This is the contents for <i>column two</i>.
+    </para>
+    <para style="body">
+        It uses the paragraph style we have called "body".
+    </para>
+    <para style="body">
+        Does it come out OK?
+    </para>
+    <para style="body">
+        There now follows some random text to see how these paragraphs
+        look with longer content:
+    </para>
+    <para style="body">
+        Blah OS/2 blah blah blah blah coffee blah blah blah blah
+        Windows blah blah blah blah blah blah blah. Blah blah blah
+        blah blah blah blah Modula-3 blah blah blah. Blah blah bug
+        report blah blah blah blah blah memory blah blah TeX TCP/IP
+        SMTP blah blah.
+    </para>
+    <para style="body">
+        Blah blah blah blah blah Em blah letterform blah blah blah
+        blah blah blah blah blah blah letterform blah blah. Blah blah
+        blah blah leader blah blah blah blah.
+    </para>
+    <para style="body">
+        Blah blah blah blah blah uppercase blah blah right justified
+        blah blah blah flush-right blah blah blah. Blah blah blah blah
+        blah blah spot-colour blah Em.
+    </para>
+    <para style="body">
+        Blah dingbat blah blah blah blah blah blah blah blah blah blah
+        blah blah blah blah blah. Blah blah blah blah blah drop-cap
+        blah blah blah blah blah blah blah.
+    </para>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-06.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-06.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-06.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="example_6.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <h1>
+      seq in seq, seqDefault and seqReset
+    </h1>
+    <para>
+      copied: <seq id="spam"/>, <seq id="spam"/>, <seq id="spam"/>.
+      Reset<seqReset id="spam"/>. <seq id="spam"/>, <seq id="spam"/>,
+      <seq id="spam"/>.</para>
+
+    <h2>
+      <i>simple use of seq</i>
+    </h2>
+    <para>
+       First seq: <seq/>
+    </para>
+    <para>
+       Second seq: <seq/>
+    </para>
+    <spacer length="6"/>
+    <para>
+      <seqReset/>
+       We have just done a &lt;seqReset/&gt;
+    </para>
+    <spacer length="6"/>
+    <para>
+       First seq after seqReset: <seq/>
+    </para>
+    <para>
+     second seq after seqReset: <seq/>
+    </para>
+    <spacer length="6"/>
+    <para>
+      If you are going to use multiple seq tags, you need to use the "id"
+      attribute.
+    </para>
+
+    <h2>
+      <i>Better use of seq</i>
+    </h2>
+    <para>
+      <seqDefault id="test"/>
+       We have just done a &lt;seqDefault id="test"/&gt;
+    </para>
+    <para>
+      <seqReset id="test"/>
+      We have just done a &lt;seqReset id="test"/&gt;
+    </para>
+    <spacer length="6"/>
+    <para>
+      First seq: <seq id="test"/>
+    </para>
+    <para>
+      Second seq: <seq id="test"/>
+    </para>
+    <spacer length="6"/>
+    <para>
+      <seqReset id="test"/>
+      We have just done a &lt;seqReset id="test"/&gt;
+    </para>
+    <spacer length="6"/>
+    <para>
+      First seq after seqReset: <seq id="test"/>
+    </para>
+    <para>
+      second seq after seqReset: <seq id="test"/>
+    </para>
+
+    <h2>
+      <i>Using two seqs independently</i>
+    </h2>
+    <para>
+      <seqReset id="testOne"/>
+      We have just done a &lt;seqReset id="testOne"/&gt;
+    </para>
+    <para>
+      <seqReset id="testTwo"/>
+      We have just done a &lt;seqReset id="testTwo"/&gt;
+    </para>
+    <spacer length="6"/>
+    <para>
+      First seq for testOne: <seq id="testOne"/>
+    </para>
+    <para>
+      Second seq for testOne: <seq id="testOne"/>
+    </para>
+    <spacer length="6"/>
+    <para>
+      First seq for testTwo: <seq id="testTwo"/>
+    </para>
+    <para>
+      Second seq for testTwo: <seq id="testTwo"/>
+    </para>
+    <spacer length="6"/>
+    <para>
+      <seqReset id="testOne"/>
+      We have just done a &lt;seqReset id="testOne"/&gt;
+    </para>
+    <spacer length="6"/>
+    <para>
+      First seq after seqReset for testOne: <seq id="testOne"/>
+    </para>
+    <para>
+      second seq after seqReset for testOne: <seq id="testOne"/>
+    </para>
+    <spacer length="6"/>
+    <para>
+      First seq after seqReset for testTwo: <seq id="testTwo"/>
+    </para>
+    <para>
+      second seq after seqReset for testTwo: <seq id="testTwo"/>
+    </para>
+    <spacer length="15"/>
+    <para>
+      Notice how resetting testOne doesn't affect testTwo at all.
+    </para>
+  </story>
+
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-07.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-07.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-07.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="example_7a.pdf">
+  <template>
+    <pageTemplate id="main">
+      <pageGraphics>
+        <fill color="red"/>
+        <stroke color="black"/>
+        <path x="247" y="72" fill="yes" stroke="yes" close="yes">
+          247 172
+          147 172
+          147 272
+          247 272
+          247 372
+          347 372
+          347 372
+          347 272
+          447 272
+          447 172
+          347 172
+          347 72
+          <!-- This completes the first shape: a red cross.-->
+          <moveto>267 572</moveto>
+          <!-- This moves the "pen position"                              -->
+          <!-- Notice that because we have used a "moveto", the           -->
+          <!-- final line at the base of the cross is not completed, even -->
+          <!-- though the "close" attribute of the "path" tag is set to   -->
+          <!-- "yes"                                                      -->
+          277 612
+          <!-- this acts as the start point for the Bezier curves below  -->
+          <curvesto>
+            147 585 147 687 297 792
+            447 687 447 585 317 612
+          </curvesto>
+          327 572
+          <!-- We don't need to give the last point because close is -->
+          <!-- set to "yes"                                          -->
+        </path>
+      </pageGraphics>
+      <frame id="first" x1="72" y1="72" width="451" height="698" />
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <para></para>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-08.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-08.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-08.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="example_7b.pdf">
+
+  <stylesheet>
+  </stylesheet>
+
+  <pageDrawing>
+    <fill color="red" />
+    <stroke color="black" />
+    <path x="247" y="72" fill="yes" stroke="yes" close="yes">
+      247 172
+      147 172
+      147 272
+      247 272
+      247 372
+      347 372
+      347 372
+      347 272
+      447 272
+      447 172
+      347 172
+      347 72
+      <moveto>
+        267 572
+      </moveto>
+      277 612
+      <curvesto>
+        147 585 147 687 297 792
+        447 687 447 585 317 612
+      </curvesto>
+      327 572
+    </path>
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-09.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-09.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-09.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="example_9.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <pageGraphics>
+        <grid xs="1cm,2cm,3cm,4cm,5cm,10cm,20cm"
+              ys="1cm,2cm,3cm,4cm,5cm,10cm,20cm"/>
+        <place x="10.5cm" y="10.5cm" width="9cm" height="9cm">
+          <title>This is a use of <i>place</i></title>
+          <spacer length="15"/>
+          <para>
+            This is a flowable. In this case, it is in a &lt;para&gt; tag, but
+            it could be any flowable. It has been placed inside a grid, but
+            you could put it inside any graphic or pageGraphics. Using the
+            place tag, you can have complete control over where you want your
+            flowables to appear.
+          </para>
+          <spacer length="12"/>
+          <para>
+            You can include Greek: <greek>abgd</greek>.
+          </para>
+          <spacer length="12"/>
+          <blockTable>
+            <tr>
+             <td>Or</td>
+             <td>even</td>
+            </tr>
+            <tr>
+              <td>a</td>
+              <td>blockTable.</td>
+            </tr>
+          </blockTable>
+        </place>
+      </pageGraphics>
+      <frame id="first" x1="72" y1="72" width="451" height="758" />
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+    <paraStyle
+        name="style.Title"
+        fontName="Courier-Bold"
+        fontSize="24"
+        leading="36"
+        />
+  </stylesheet>
+
+  <!-- The story starts below this comment -->
+
+  <story>
+    <title>Example 9</title>
+    <para>
+      This is a page which shows you how illustrations, grids and the place
+      tag work.
+    </para>
+    <illustration width="90" height="90">
+      <fill color="red"/>
+      <circle x="45" y="45" radius="30" fill="yes"/>
+      <setFont name="Times-Roman" size="8"/>
+      <drawString x="0" y="0">This is an illustration</drawString>
+    </illustration>
+    <para>
+      The red circle you can see is an <i>illustration</i>, not a
+      <i>pageGraphic</i>.
+    </para>
+    <illustration width="75" height="75">
+      <fill color="teal" />
+      <circle x="30" y="30" radius="30" fill="yes" />
+      <stroke color="darkslategray" />
+      <grid xs="15,30,45" ys="5,10,15,20,25,30,35,40,45,50" />
+    </illustration>
+    <para>
+      So is the teal colored one.
+    </para>
+    <para>
+      These are all flowables in the story.
+    </para>
+
+  </story>
+
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-10.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-10.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-10.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="rml-guide-example-10.pdf">
+  <template>
+    <pageTemplate id="main">
+      <pageGraphics />
+      <frame id="first" x1="72" y1="72" width="451" height="698" />
+    </pageTemplate>
+  </template>
+  <stylesheet>
+    <blockTableStyle id="myBlockTableStyle">
+        <!-- This sets a font for every cell from the start of the -->
+        <!-- second row down to the bottom right hand corner       -->
+        <blockFont name="Courier-Bold" start="0,1" stop="-1,-1"/>
+        <!-- This sets a font for the first row -->
+        <blockFont name="Helvetica-BoldOblique" size="24"
+                   start="0,0" stop="3,0"/>
+        <!-- This sets a textColor for all the text in the table -->
+        <blockTextColor colorName="black"/>
+        <!-- This sets a textColor for the first row -->
+        <!-- (Since it comes after the above setting, -->
+        <!-- it overides it for this row) -->
+        <blockTextColor colorName="white" start="0,0" stop="3,0"/>
+        <!-- This sets a textColor a column - also overiding -->
+        <!-- the first textColor setting for this row         -->
+        <blockTextColor colorName="blue" start="1,1" stop="1,6"/>
+        <!-- This sets a background color for the first row -->
+        <blockBackground colorName="red" start="0,0" stop="3,0"/>
+        <!-- This sets a background color for the rest of the table -->
+        <blockBackground colorName="cornsilk" start="0,1" stop="-1,-1"/>
+        <!-- This sets a background color for an individual cell     -->
+        <!-- This has to go AFTER the above blockBackground,         -->
+        <!-- otherwise it would be overpainted by the cornsilk color -->
+        <blockBackground colorName="lightcoral" start="3,3" stop="3,3"/>
+    </blockTableStyle>
+  </stylesheet>
+  <story>
+    <title>Example 10 - colors and fonts in tables</title>
+    <spacer length="1cm"/>
+    <blockTable
+        style="myBlockTableStyle"
+        rowHeights="3.5cm,2cm,2cm,2cm,2cm,2cm,2cm"
+        colWidths="4cm,4cm,4cm,4cm"
+        >
+      <tr>
+        <td>Cell 0,0</td>
+        <td>Cell 1,0</td>
+        <td>Cell 2,0</td>
+        <td>Cell 3,0</td>
+      </tr>
+      <tr>
+        <td>Cell 0,1</td>
+        <td>Cell 1,1</td>
+        <td>Cell 2,1</td>
+        <td>Cell 3,1</td>
+      </tr>
+      <tr>
+        <td>Cell 0,2</td>
+        <td>Cell 1,2</td>
+        <td>Cell 2,2</td>
+        <td>Cell 3,2</td>
+      </tr>
+      <tr>
+        <td>Cell 0,3</td>
+        <td>Cell 1,3</td>
+        <td>Cell 2,3</td>
+        <td>Cell 3,3</td>
+      </tr>
+      <tr>
+        <td>Cell 0,4</td>
+        <td>Cell 1,4</td>
+        <td>Cell 2,4</td>
+        <td>Cell 3,4</td>
+      </tr>
+      <tr>
+        <td>Cell 0,5</td>
+        <td>Cell 1,5</td>
+        <td>Cell 2,5</td>
+        <td>Cell 3,5</td>
+      </tr>
+      <tr>
+        <td>Cell 0,6</td>
+        <td>Cell 1,6</td>
+        <td>Cell 2,6</td>
+        <td>Cell 3,6</td>
+      </tr>
+    </blockTable>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-11.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-11.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-11.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
+<!DOCTYPE document SYSTEM "../rml.dtd">
+<document filename="example_11.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <pageGraphics>
+      </pageGraphics>
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+    <blockTableStyle id="myBlockTableStyle">
+      <!-- Set fonts -->
+      <blockFont name="Courier-Bold" size="10" start="0,1" stop="-1,-1"/>
+      <blockFont name="Helvetica-BoldOblique" size="10" start="0,0" stop="3,0"/>
+
+      <!-- This sets a textColor for all the text in the table -->
+      <blockTextColor colorName="black"/>
+
+      <!-- Another example of blockTextColor -->
+      <blockTextColor colorName="green" start="2,2" stop="3,3"/>
+
+      <!-- This sets a blockAlignment for the whole table  -->
+      <blockAlignment value="CENTER"/>
+
+      <!-- These overrides the above -->
+      <blockAlignment value="RIGHT" start="3,0" stop="3,-1"/>
+      <blockAlignment value="LEFT" start="0,1" stop="0,-1"/>
+
+      <!-- This sets the vertical alignment for one row -->
+      <blockValign value="TOP" start="0,0" stop="-1,0"/>
+
+      <!-- This sets the vertical alignment for one cell -->
+      <blockValign value="MIDDLE" start="2,2" stop="2,2"/>
+
+      <!-- Use of linestyles -->
+      <lineStyle kind="GRID" colorName="silver"/>
+      <lineStyle kind="LINEBELOW" colorName="orangered" start="0,0"
+          stop="-1,0" thickness="5"/>
+      <lineStyle kind="LINEAFTER" colorName="maroon" start="1,1"
+          stop="1,6" thickness="1"/>
+    </blockTableStyle>
+  </stylesheet>
+
+  <story>
+    <title>Example 11 - lines and alignment in tables</title>
+    <spacer length="1cm" />
+    <blockTable
+        style="myBlockTableStyle"
+        rowHeights="2cm,2cm,2cm,2cm,2cm,2cm,2cm"
+        colWidths="4cm,3cm,3cm,4cm">
+      <tr>
+        <td>(a=LEFT)(VA=TOP)</td>
+        <td>(VA=TOP)</td>
+        <td>(VA="TOP")</td>
+        <td>(a=RIGHT)(VA=TOP)</td>
+      </tr>
+      <tr>
+        <td>(a=LEFT)</td>
+        <td>1,1</td>
+        <td>Cell 2,1</td>
+        <td>(a=RIGHT)</td>
+      </tr>
+      <tr>
+        <td>(a=LEFT)</td>
+        <td>1,2</td>
+        <td>(VA=MIDDLE)</td>
+        <td>(a=RIGHT)</td>
+      </tr>
+      <tr>
+        <td>(a=LEFT)</td>
+        <td>1,3</td>
+        <td>(VA=MIDDLE)</td>
+        <td>(VA=MDL)(a=RIGHT)</td>
+      </tr>
+      <tr>
+        <td>(a=LEFT)</td>
+        <td>1,4</td>
+        <td>2,4</td>
+        <td>(a=RIGHT)</td>
+     </tr>
+     <tr>
+        <td>(a=LEFT)</td>
+        <td>1,5</td>
+        <td>2,5</td>
+        <td>(a=RIGHT)</td>
+      </tr>
+      <tr>
+        <td>(a=LEFT)</td>
+        <td>1,6</td>
+        <td>2,6</td>
+        <td>(a=RIGHT)</td>
+      </tr>
+    </blockTable>
+
+    <spacer length="15" />
+    <para>a=value for <i>blockAlignment</i></para>
+    <para>VA=value for <i>blockValign</i></para>
+    <para><i>MDLE=MIDDLE for VA in cells 3,2 and 3,3</i></para>
+
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-12.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-12.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/rml-guide-example-12.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="example_12.pdf"
+          pagesize="(8.5in, 11in)">
+
+  <template>
+    <pageTemplate id="main">
+      <pageGraphics>
+      </pageGraphics>
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+    <blockTableStyle id="myBlockTableStyle">
+      <blockBackground colorName="silver" start="0,0" stop="-1,0"/>
+      <blockBackground colorName="darkslategray" start="0,1" stop="-1,1"/>
+      <blockBackground colorName="silver" start="0,2" stop="-1,2"/>
+      <blockBackground colorName="darkslategray" start="0,3" stop="-1,3"/>
+      <blockBackground colorName="silver" start="0,4" stop="-1,4"/>
+      <blockBackground colorName="darkslategray" start="0,5" stop="-1,5"/>
+      <blockAlignment value="CENTER"/>
+      <blockValign value="MIDDLE"/>
+
+      <!-- Set fonts -->
+      <blockFont name="Helvetica-BoldOblique" size="10"/>
+
+      <!-- set the left and right padding for cells in first and third      -->
+      <!-- columns remember, cell numbering starts from ZERO, not ONE       -->
+      <blockLeftPadding length="20" start="0,0" stop="0,-1"/>
+      <blockRightPadding length="20" start="2,0" stop="2,-1"/>
+
+      <!-- set the top and bottom padding for cells in first and third rows -->
+      <blockBottomPadding length="40" start="0,0" stop="-1,0"/>
+      <blockTopPadding length="40" start="1,2" stop="-1,2"/>
+
+      <!-- set the top and bottom padding for the last row -->
+      <blockBottomPadding length="40" start="-1,4" stop="-1,4"/>
+      <blockTopPadding length="40" start="1,4" stop="1,4"/>
+
+      <!-- Use of linestyles -->
+      <lineStyle kind="GRID" colorName="darkblue"/>
+    </blockTableStyle>
+
+    <paraStyle
+        name="paddingTableStyle"
+        fontName="Helvetica-BoldOblique"
+        fontSize="10"
+        textColor="white"
+        alignment="CENTER"
+        />
+  </stylesheet>
+  <story>
+    <title>Example 12 - images and padding in tables</title>
+    <spacer length="1cm"/>
+    <blockTable
+        style="myBlockTableStyle"
+        rowHeights="166,28,166,28,166,28"
+        colWidths="161,161,161">
+      <tr>
+        <td>
+          <illustration width="141" height="90">
+            <image file="images/replogo.gif"
+                   x="0" y="0" width="141" height="90"/>
+            <stroke color="deepskyblue"/>
+            <lineMode width="3"/>
+            <lines>
+              0 0 141 0
+              141 0 141 90
+              141 90 0 90
+              0 90 0 0
+            </lines>
+          </illustration>
+        </td>
+        <td><illustration width="141" height="90">
+            <image file="images/replogo.gif"
+                   x="0" y="0" width="141" height="90"/>
+            <stroke color="deepskyblue"/>
+            <lineMode width="3"/>
+            <lines>
+              0 0 141 0
+              141 0 141 90
+              141 90 0 90
+              0 90 0 0
+            </lines>
+          </illustration>
+        </td>
+        <td><illustration width="141" height="90">
+            <image file="images/replogo.gif"
+                   x="0" y="0" width="141" height="90"/>
+            <stroke color="deepskyblue"/>
+            <lineMode width="3"/>
+            <lines>
+              0 0 141 0
+              141 0 141 90
+              141 90 0 90
+              0 90 0 0
+            </lines>
+          </illustration>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <para style="paddingTableStyle">
+            <b>blockLeftPadding</b> with <b>blockBottomPadding</b>
+          </para>
+        </td>
+        <td>
+          <para style="paddingTableStyle">
+            just blockBottomPadding
+          </para>
+        </td>
+        <td>
+          <para style="paddingTableStyle">
+            <b>blockRightPadding</b> with <b>blockBottomPadding</b>
+          </para>
+        </td>
+      </tr>
+      <tr>
+        <td><illustration width="141" height="90">
+            <image file="images/replogo.gif"
+                   x="0" y="0" width="141" height="90"/>
+            <stroke color="deepskyblue"/>
+            <lineMode width="3"/>
+            <lines>
+              0 0 141 0
+              141 0 141 90
+              141 90 0 90
+              0 90 0 0
+            </lines>
+          </illustration>
+        </td>
+        <td><illustration width="141" height="90">
+            <image file="images/replogo.gif"
+                   x="0" y="0" width="141" height="90"/>
+            <stroke color="deepskyblue"/>
+            <lineMode width="3"/>
+            <lines>
+              0 0 141 0
+              141 0 141 90
+              141 90 0 90
+              0 90 0 0
+            </lines>
+          </illustration>
+        </td>
+        <td><illustration width="141" height="90">
+            <image file="images/replogo.gif"
+                   x="0" y="0" width="141" height="90"/>
+            <stroke color="deepskyblue"/>
+            <lineMode width="3"/>
+            <lines>
+              0 0 141 0
+              141 0 141 90
+              141 90 0 90
+              0 90 0 0
+            </lines>
+          </illustration>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <para style="paddingTableStyle">
+            <b>blockLeftPadding</b> with <b>blockTopPadding</b>
+          </para>
+        </td>
+        <td>
+          <para style="paddingTableStyle">
+            just blockTopPadding
+          </para>
+        </td>
+        <td>
+          <para style="paddingTableStyle">
+            <b>blockRightPadding</b> with <b>blockTopPadding</b>
+          </para>
+        </td>
+      </tr>
+      <tr>
+        <td><illustration width="141" height="90">
+            <image file="images/replogo.gif"
+                   x="0" y="0" width="141" height="90"/>
+            <stroke color="deepskyblue"/>
+            <lineMode width="3"/>
+            <lines>
+              0 0 141 0
+              141 0 141 90
+              141 90 0 90
+              0 90 0 0
+            </lines>
+          </illustration>
+        </td>
+        <td><illustration width="141" height="90">
+            <image file="images/replogo.gif"
+                   x="0" y="0" width="141" height="90"/>
+            <stroke color="deepskyblue"/>
+            <lineMode width="3"/>
+            <lines>
+              0 0 141 0
+              141 0 141 90
+              141 90 0 90
+              0 90 0 0
+            </lines>
+          </illustration>
+        </td>
+        <td><illustration width="141" height="90">
+            <image file="images/replogo.gif"
+                   x="0" y="0" width="141" height="90"/>
+            <stroke color="deepskyblue"/>
+            <lineMode width="3"/>
+            <lines>
+              0 0 141 0
+              141 0 141 90
+              141 90 0 90
+              0 90 0 0
+            </lines>
+          </illustration>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <para style="paddingTableStyle">
+            blockLeftPadding with blockTopPadding
+          </para>
+        </td>
+        <td>
+          <para style="paddingTableStyle">
+            no padding
+          </para>
+        </td>
+        <td>
+          <para style="paddingTableStyle">
+            blockRightPadding with blockBottomPadding
+          </para>
+        </td>
+      </tr>
+    </blockTable>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/simple-layout.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/simple-layout.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/simple-layout.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="template.pdf">
+
+  <stylesheet>
+    <paraStyle
+        name="large"
+        fontSize="3cm"
+        textColor="red"
+        />
+  </stylesheet>
+
+  <template
+      pageSize="(21cm, 29cm)"
+      rotation="180"
+      leftMargin="1cm"
+      rightMargin="2cm"
+      topMargin="3cm"
+      bottomMargin="4cm"
+      showBoundary="true"
+      allowSplitting="true"
+      title="Test Template Document"
+      author="Stephan Richter">
+
+    <pageTemplate id="main">
+      <frame id="main" x1="1.5cm" y1="3.5cm" width="18cm" height="22cm" />
+    </pageTemplate>
+
+  </template>
+
+  <story>
+    <para style="large">Hello <b>World</b>!</para>
+  </story>
+
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-barcode.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-barcode.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-barcode.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="tag-place.pdf">
+
+  <stylesheet>
+  </stylesheet>
+
+  <pageDrawing>
+
+    <barCode x="5cm" y="25cm" code="MSI">
+      23465092892
+    </barCode>
+
+    <barCode x="5cm" y="21cm" code="Standard93">
+      217829804
+    </barCode>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-1.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-1.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-1.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,28 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-pre.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+
+    <title><font face="Courier">&lt;blockTable&gt;</font> Tag Demo</title>
+    <blockTable>
+      <tr>
+       <td>This</td>
+       <td>is</td>
+      </tr>
+      <tr>
+        <td>a</td>
+        <td>blockTable.</td>
+      </tr>
+    </blockTable>
+
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-2.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-2.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-2.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,47 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-pre.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+
+    <title><font face="Courier">&lt;blockTable&gt;</font> Tag Demo</title>
+    <blockTable
+        rowHeights="1.25cm,1.25cm"
+        colWidths="4cm,4cm">
+      <tr>
+        <td>
+          <para>
+            This is a <b>more</b> complex <font color="red">blocktable</font>.
+          </para>
+        </td>
+        <td>
+          <para>
+            This is a more <i>complex</i> blocktable.
+          </para>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <para>
+            <font face="Helvetica">This is a more complex blockTable.</font>
+          </para>
+        </td>
+        <td>
+          <para>
+            This is <greek>a</greek> more
+            <font color="blue"><i>complex</i></font> blockta<greek>b</greek>le.
+          </para>
+        </td>
+      </tr>
+   </blockTable>
+
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-3.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-3.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-3.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,48 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-blockTable-3.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+
+    <title><font face="Courier">&lt;blockTable&gt;</font> Tag Demo</title>
+
+    <blockTable
+        rowHeights="1.25cm,1.25cm"
+        colWidths="4cm,4cm">
+      <tr>
+        <td>
+          <para>
+            This is a <b>more</b> complex <font color="red">blocktable</font>.
+          </para>
+        </td>
+        <td>
+          <para>
+            This is a more <i>complex</i> blocktable.
+          </para>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <para>
+            <font face="Helvetica">This is a more complex blockTable.</font>
+          </para>
+        </td>
+        <td>
+          <para>
+            This is <greek>a</greek> more
+            <font color="blue"><i>complex</i></font> blockta<greek>b</greek>le.
+          </para>
+        </td>
+      </tr>
+   </blockTable>
+
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-4.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-4.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-4.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,52 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-blockTable-4.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+    <blockTableStyle id="table">
+      <blockBackground start="1,1" stop="-2,-2" colorName="green" />
+      <blockTextColor start="0,0" stop="1,-1" colorName="red" />
+    </blockTableStyle>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;blockTable&gt;</font> Tag Demo</title>
+
+    <blockTable style="table">
+      <tr>
+        <td>00</td>
+        <td>01</td>
+        <td>02</td>
+        <td>03</td>
+        <td>04</td>
+      </tr>
+      <tr>
+        <td>10</td>
+        <td>11</td>
+        <td>12</td>
+        <td>13</td>
+        <td>14</td>
+      </tr>
+      <tr>
+        <td>20</td>
+        <td>21</td>
+        <td>22</td>
+        <td>23</td>
+        <td>24</td>
+      </tr>
+      <tr>
+        <td>30</td>
+        <td>31</td>
+        <td>32</td>
+        <td>33</td>
+        <td>34</td>
+      </tr>
+    </blockTable>
+  </story>
+
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-5.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-5.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-5.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,61 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-blockTable-4.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+    <blockTableStyle id="table">
+      <blockAlignment start="1,1" stop="-2,-2" value="right" />
+      <blockTextColor start="1,1" stop="-2,-2" colorName="red" />
+      <blockValign start="0,0" stop="0,-1" value="top" />
+      <blockTextColor start="0,0" stop="0,-1" colorName="blue" />
+      <blockAlignment start="0,-1" stop="-1,-1" value="center" />
+      <blockValign start="0,-1" stop="-1,-1" value="middle" />
+      <blockTextColor start="0,-1" stop="-1,-1" colorName="green" />
+      <lineStyle start="0,0" stop="-1,-1" kind="INNERGRID"
+                 thickness="0.25" colorName="black" />
+      <lineStyle start="0,0" stop="-1,-1" kind="BOX"
+                 thickness="0.25" colorName="black" />
+    </blockTableStyle>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;blockTable&gt;</font> Tag Demo</title>
+
+    <blockTable style="table">
+      <tr>
+        <td>00</td>
+        <td>01</td>
+        <td>02</td>
+        <td>03</td>
+        <td>04</td>
+      </tr>
+      <tr>
+        <td>10</td>
+        <td>11</td>
+        <td>12</td>
+        <td>13</td>
+        <td>14</td>
+      </tr>
+      <tr>
+        <td>20</td>
+        <td>21</td>
+        <td>22</td>
+        <td>23</td>
+        <td>24</td>
+      </tr>
+      <tr>
+        <td>30</td>
+        <td>31</td>
+        <td>32</td>
+        <td>33</td>
+        <td>34</td>
+      </tr>
+    </blockTable>
+  </story>
+
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-6.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-6.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-6.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,65 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-blockTable-4.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+    <blockTableStyle id="table">
+      <lineStyle start="0,0" stop="-1,-1" kind="GRID"
+                 thickness="0.5" colorName="grey" />
+      <lineStyle start="1,1" stop="-2,-2" kind="GRID"
+                 thickness="1" colorName="green" />
+      <lineStyle start="0,0" stop="1,-1" kind="BOX"
+                 thickness="2" colorName="red" />
+      <lineStyle start="0,0" stop="-1,-1" kind="BOX"
+                 thickness="2" colorName="black" />
+      <lineStyle start="1,2" stop="-2,2" kind="LINEABOVE"
+                 thickness="1" colorName="blue" />
+      <lineStyle start="2,1" stop="2,-2" kind="LINEBEFORE"
+                 thickness="1" colorName="pink" />
+      <blockBackground start="0,0" stop="0,1" colorName="pink" />
+      <blockBackground start="1,1" stop="1,2" colorName="lavender" />
+      <blockBackground start="2,2" stop="2,3" colorName="orange" />
+    </blockTableStyle>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;blockTable&gt;</font> Tag Demo</title>
+
+    <blockTable style="table">
+      <tr>
+        <td>00</td>
+        <td>01</td>
+        <td>02</td>
+        <td>03</td>
+        <td>04</td>
+      </tr>
+      <tr>
+        <td>10</td>
+        <td>11</td>
+        <td>12</td>
+        <td>13</td>
+        <td>14</td>
+      </tr>
+      <tr>
+        <td>20</td>
+        <td>21</td>
+        <td>22</td>
+        <td>23</td>
+        <td>24</td>
+      </tr>
+      <tr>
+        <td>30</td>
+        <td>31</td>
+        <td>32</td>
+        <td>33</td>
+        <td>34</td>
+      </tr>
+    </blockTable>
+  </story>
+
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-7.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-7.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-7.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,58 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-blockTable-4.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+    <blockTableStyle id="table">
+      <lineStyle start="0,0" stop="-1,-1" kind="GRID"
+                 thickness="0.5" colorName="grey" />
+      <blockBackground start="0,0" stop="1,1" colorName="palegreen" />
+      <blockSpan start="0,0" stop="1,1" />
+      <blockBackground start="-2,-2" stop="-1,-1" colorName="pink" />
+      <blockSpan start="-2,-2" stop="-1,-1" />
+    </blockTableStyle>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;blockTable&gt;</font> Tag Demo</title>
+
+    <blockTable style="table">
+      <tr>
+        <td>Top
+Left</td>
+        <td></td>
+        <td>02</td>
+        <td>03</td>
+        <td>04</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>12</td>
+        <td>13</td>
+        <td>14</td>
+      </tr>
+      <tr>
+        <td>20</td>
+        <td>21</td>
+        <td>22</td>
+        <td>Bottom
+Right</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>30</td>
+        <td>31</td>
+        <td>32</td>
+        <td></td>
+        <td></td>
+      </tr>
+    </blockTable>
+  </story>
+
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-8.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-8.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-8.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,52 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-blockTable-4.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;blockTable&gt;</font> Tag Demo</title>
+    <para>
+      This demo demonstrates setting styles via
+      <font face="courier">&lt;td&gt;</font> attributes.
+    </para>
+
+    <blockTable>
+      <tr>
+        <td fontName="Helvetica">00</td>
+        <td fontSize="14">01</td>
+        <td leading="10">02</td>
+        <td leftPadding="15">03</td>
+        <td rightPadding="10">04</td>
+      </tr>
+      <tr>
+        <td topPadding="10">10</td>
+        <td bottomPadding="10">11</td>
+        <td background="pink">12</td>
+        <td lineBelowThickness="2" lineBelowColor="red">13</td>
+        <td lineAboveThickness="2" lineAboveColor="red">14</td>
+      </tr>
+      <tr>
+        <td>20</td>
+        <td>21</td>
+        <td>22</td>
+        <td lineLeftThickness="2" lineLeftColor="red">23</td>
+        <td lineRightThickness="2" lineRightColor="red">24</td>
+      </tr>
+      <tr>
+        <td>30</td>
+        <td>31</td>
+        <td>32</td>
+        <td>33</td>
+        <td>34</td>
+      </tr>
+    </blockTable>
+  </story>
+
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-9.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-9.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-blockTable-9.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,90 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-blockTable-4.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+    <blockTableStyle id="table1">
+      <lineStyle start="0,0" stop="-1,-1" kind="GRID"
+                 thickness="0.5" colorName="grey" />
+      <blockRowBackground start="0,0" stop="-1,-1" colorNames="red green" />
+    </blockTableStyle>
+
+    <blockTableStyle id="table2">
+      <lineStyle start="0,0" stop="-1,-1" kind="GRID"
+                 thickness="0.5" colorName="grey" />
+      <blockColBackground start="0,0" stop="-1,-1" colorNames="red green" />
+    </blockTableStyle>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;blockTable&gt;</font> Tag Demo</title>
+
+    <blockTable style="table1">
+      <tr>
+        <td>00</td>
+        <td>01</td>
+        <td>02</td>
+        <td>03</td>
+        <td>04</td>
+      </tr>
+      <tr>
+        <td>10</td>
+        <td>11</td>
+        <td>12</td>
+        <td>13</td>
+        <td>14</td>
+      </tr>
+      <tr>
+        <td>20</td>
+        <td>21</td>
+        <td>22</td>
+        <td>23</td>
+        <td>24</td>
+      </tr>
+      <tr>
+        <td>30</td>
+        <td>31</td>
+        <td>32</td>
+        <td>33</td>
+        <td>34</td>
+      </tr>
+    </blockTable>
+    <spacer length="1cm" />
+    <blockTable style="table2">
+      <tr>
+        <td>00</td>
+        <td>01</td>
+        <td>02</td>
+        <td>03</td>
+        <td>04</td>
+      </tr>
+      <tr>
+        <td>10</td>
+        <td>11</td>
+        <td>12</td>
+        <td>13</td>
+        <td>14</td>
+      </tr>
+      <tr>
+        <td>20</td>
+        <td>21</td>
+        <td>22</td>
+        <td>23</td>
+        <td>24</td>
+      </tr>
+      <tr>
+        <td>30</td>
+        <td>31</td>
+        <td>32</td>
+        <td>33</td>
+        <td>34</td>
+      </tr>
+    </blockTable>
+  </story>
+
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-circle.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-circle.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-circle.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="circle.pdf">
+  <pageDrawing>
+
+    <circle x="10cm" y="25cm" radius="2cm"
+            fill="false" stroke="false" />
+
+    <circle x="10cm" y="20cm" radius="2cm"
+            fill="true" stroke="false" />
+
+    <circle x="10cm" y="15cm" radius="2cm"
+            fill="false" stroke="true" />
+
+    <circle x="10cm" y="10cm" radius="2cm"
+            fill="true" stroke="true" />
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-curves.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-curves.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-curves.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="grid.pdf">
+  <pageDrawing>
+
+    <curves>
+      1in 1in 2in 2in 2in 3in 1in 3in
+      1in 2in 2in 3in 2in 4in 1in 4in
+      1in 3in 2in 4in 2in 5in 1in 5in
+    </curves>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawCenteredString.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawCenteredString.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawCenteredString.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawCenteredString.pdf">
+  <pageDrawing>
+
+    <drawCenteredString x="4.1in" y="5.8in">
+      Hello World.
+    </drawCenteredString>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawRightString.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawRightString.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawRightString.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawRightString.pdf">
+  <pageDrawing>
+
+    <drawRightString x="4.1in" y="5.8in">
+      Hello World.
+    </drawRightString>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawString.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawString.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-drawString.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawString.pdf">
+  <pageDrawing>
+
+    <drawString x="4.1in" y="5.8in">
+      Hello World.
+    </drawString>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-ellipse.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-ellipse.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-ellipse.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="ellipse.pdf">
+  <pageDrawing>
+
+    <ellipse x="10cm" y="25cm" width="5cm" height="3cm"
+             fill="false" stroke="false" />
+
+    <ellipse x="10cm" y="20cm" width="5cm" height="3cm"
+             fill="true" stroke="false" />
+
+    <ellipse x="10cm" y="15cm" width="2cm" height="4cm"
+             fill="false" stroke="true" />
+
+    <ellipse x="10cm" y="10cm" width="2cm" height="3cm"
+             fill="true" stroke="true" />
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-fixedSize.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-fixedSize.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-fixedSize.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,44 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-spacer.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="1cm" y1="20cm" width="19cm" height="7cm"/>
+      <frame id="second" x1="3cm" y1="19cm" width="10cm" height="3cm"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;fixedSize&gt;</font> Tag Demo</title>
+    <para>
+      This tag allows keeping a set of flowables in a confined space. Actually
+      I have no clue what this tag is supposed to dol I did not find any
+      documentation on it.
+    </para>
+    <para>
+      Lot's of text goes here. Lot's of text goes here. Lot's of text goes
+      here. Lot's of text goes here. Lot's of text goes here. Lot's of text
+      goes here. Lot's of text goes here. Lot's of text goes here. Lot's of
+      text goes here. Lot's of text goes here. Lot's of text goes here. Lot's
+      of text goes here.
+    </para>
+    <nextFrame name="second" />
+
+    <fixedSize width="3cm" height="2cm">
+      <title><font face="Courier">&lt;fixedSize&gt;</font> Tag Demo</title>
+      <para>
+        This tag allows keeping a set of flowables in a confined space.
+      </para>
+      <para>
+        Lot's of text goes here. Lot's of text goes here. Lot's of text goes
+        here. Lot's of text goes here. Lot's of text goes here. Lot's of text
+        goes here. Lot's of text goes here. Lot's of text goes here. Lot's of
+        text goes here. Lot's of text goes here. Lot's of text goes here. Lot's
+        of text goes here.
+      </para>
+    </fixedSize>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-grid.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-grid.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-grid.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="grid.pdf">
+  <pageDrawing>
+
+    <grid
+        xs="1in 2in 3in 4in 5in 6in"
+        ys="7in 7.2in 7.4in 7.6in 7.8in 8.0in"
+        />
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-illustration.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-illustration.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-illustration.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,35 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-illustration.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;illustration&gt;</font> Tag Demo</title>
+    <para>
+      Illustrations allow graphical elements to be located into a story.
+    </para>
+    <illustration height="3cm" width="5cm">
+      <lines>
+        0   0   0   3cm
+        0   3cm 5cm 3cm
+        5cm 3cm 5cm 0
+        5cm 0   0   0
+      </lines>
+    </illustration>
+
+    <spacer length="8cm" />
+    <para>
+      Unfortunately, the height and width of the illustration are not honored.
+    </para>
+    <illustration height="3cm" width="5cm">
+      <circle x="1.5cm" y="1.5cm" radius="2cm" />
+    </illustration>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-image-1.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-image-1.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-image-1.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawString.pdf">
+  <pageDrawing>
+
+    <image file="zope3logo.gif" x="2in" y="10in"
+           showBoundary="true" />
+
+    <image file="zope3logo.gif" x="2in" y="8in" width="5in"
+           preserveAspectRatio="true" />
+
+    <image file="zope3logo.gif" x="2in" y="4in" height="3in"
+           preserveAspectRatio="true" />
+
+    <image file="zope3logo.gif" x="2in" y="2in" width="0.5in" height="3in"
+           preserveAspectRatio="true" />
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-image.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-image.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-image.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawString.pdf">
+  <pageDrawing>
+
+    <image file="zope3logo.gif" x="2in" y="10in" />
+
+    <image file="zope3logo.gif" x="2in" y="8in" width="5in" />
+
+    <image file="zope3logo.gif" x="2in" y="4in" height="3in" />
+
+    <image file="zope3logo.gif" x="2in" y="2in" width="0.5in" height="3in" />
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-imageAndFlowables.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-imageAndFlowables.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-imageAndFlowables.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,47 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-spacer.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <title>
+      <font face="Courier">&lt;imageAndFlowables&gt;</font> Tag Demo
+    </title>
+    <para>
+      This tag sets and image an flowables around it. This paragraph clearly
+      still goes accross the entire frame width. We need some more text to
+      demonstrate that.
+    </para>
+    <imageAndFlowables
+        imageName="images/replogo.gif"
+        imageWidth="200"
+        imageMask="white"
+        imageLeftPadding="20"
+        imageRightPadding="20"
+        imageTopPadding="20"
+        imageBottomPadding="20"
+        imageSide="left">
+      <h1>Wrap around</h1>
+      <para>This text should wrap around the image.</para>
+      <para>
+        A lot more text goes here. A lot more text goes here. A lot more text
+        goes here. A lot more text goes here. A lot more text goes here. A lot
+        more text goes here.
+      </para>
+      <para>
+        A lot more text goes here. A lot more text goes here. A lot more text
+        goes here. A lot more text goes here. A lot more text goes here. A lot
+        more text goes here. A lot more text goes here. A lot more text goes
+        here. A lot more text goes here. A lot more text goes here. A lot more
+        text goes here. A lot more text goes here.
+      </para>
+    </imageAndFlowables>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-indent.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-indent.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-indent.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,53 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-indent.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698" />
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;indent&gt;</font> Tag Demo</title>
+    <para>
+      This tag allows you to indent a text as much as you like. This is
+      particularly interesting for block quotes and tree-like layouts.
+    </para>
+    <indent left="4cm" right="4cm">
+      <para>
+        This is indented text. However, you can have other flowables as
+        well.
+      </para>
+      <blockTable>
+        <tr>
+          <td>This</td>
+          <td>is</td>
+        </tr>
+        <tr>
+          <td>a</td>
+          <td>table</td>
+        </tr>
+      </blockTable>
+    </indent>
+    <para>
+      Back from the indentation, everything is normal. You can also nest
+      indents of course:
+    </para>
+    <indent left="2cm">
+      <para>Item 1-1</para>
+      <indent left="2cm">
+        <para>Item 2-1</para>
+        <indent left="2cm">
+          <para>Item 3-1</para>
+          <para>Item 3-2</para>
+        </indent>
+        <para>Item 2-2</para>
+        <para>Item 2-3</para>
+      </indent>
+      <para>Item 1-2</para>
+    </indent>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-keepInFrame.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-keepInFrame.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-keepInFrame.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,43 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-spacer.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="1cm" y1="20cm" width="19cm" height="7cm"/>
+      <frame id="second" x1="3cm" y1="19cm" width="10cm" height="3cm"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;keepInFrame&gt;</font> Tag Demo</title>
+    <para>
+      This tag allows keeping a set of flowables in a confined space.
+    </para>
+    <para>
+      Lot's of text goes here. Lot's of text goes here. Lot's of text goes
+      here. Lot's of text goes here. Lot's of text goes here. Lot's of text
+      goes here. Lot's of text goes here. Lot's of text goes here. Lot's of
+      text goes here. Lot's of text goes here. Lot's of text goes here. Lot's
+      of text goes here.
+    </para>
+    <nextFrame name="second" />
+
+    <keepInFrame maxWidth="3cm" maxHeight="2cm"
+                 onOverflow="shrink" name="second">
+      <title><font face="Courier">&lt;keepInFrame&gt;</font> Tag Demo</title>
+      <para>
+        This tag allows keeping a set of flowables in a confined space.
+      </para>
+      <para>
+        Lot's of text goes here. Lot's of text goes here. Lot's of text goes
+        here. Lot's of text goes here. Lot's of text goes here. Lot's of text
+        goes here. Lot's of text goes here. Lot's of text goes here. Lot's of
+        text goes here. Lot's of text goes here. Lot's of text goes here. Lot's
+        of text goes here.
+      </para>
+    </keepInFrame>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-lines.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-lines.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-lines.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="grid.pdf">
+  <pageDrawing>
+
+    <lines>
+      1in 7in 6in 7in
+      1in 5in 6in 4in
+      1in 3in 1in 1in
+    </lines>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-pageInfo.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-pageInfo.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-pageInfo.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawString.pdf">
+  <pageInfo pageSize="(4in, 6in)" />
+  <pageDrawing>
+
+    <drawString x="2in" y="3in">Hello World.</drawString>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-place.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-place.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-place.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="tag-place.pdf">
+
+  <stylesheet>
+    <paraStyle
+      name="big"
+      fontsize="14"
+      fontname="Helvetica"
+      />
+  </stylesheet>
+
+  <pageDrawing>
+
+    <drawString x="1cm" y="25cm">
+      This is a string drawn using ``drawString``.
+    </drawString>
+
+    <lineMode width="3" />
+    <path x="1cm" y="17cm" close="true">
+      14cm 17cm
+      14cm 23cm
+       1cm 23cm
+    </path>
+
+    <place x="1cm" y="17cm" width="13cm" height="6cm">
+      <title><font face="Courier">&lt;place&gt;</font> Tag Demo</title>
+      <para style="big">
+        This is the first paragraph.
+      </para>
+      <spacer length="0.3cm" />
+      <blockTable>
+        <tr>
+         <td>This</td>
+         <td>is</td>
+        </tr>
+        <tr>
+          <td>a</td>
+          <td>blockTable.</td>
+        </tr>
+      </blockTable>
+    </place>
+
+    <drawString x="1cm" y="15cm">
+      This is a string drawn using ``drawString``.
+    </drawString>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-pluginFlowable.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-pluginFlowable.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-pluginFlowable.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,25 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-pre.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+
+    <title><font face="Courier">&lt;pluginFlowable&gt;</font> Tag Demo</title>
+    <para>
+      You can also integrate arbitrary flowables.
+    </para>
+    <spacer length="20" />
+    <pluginFlowable module="z3c.rml.tests.flowable" function="TestFlowable">
+      Some text.
+    </pluginFlowable>
+
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-pre.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-pre.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-pre.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,24 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-pre.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;pre&gt;</font> Tag Demo</title>
+    <para>
+      This allows <i>preformatted text</i>.
+    </para>
+    <pre>
+      <para>
+        This allows <i>preformatted text</i>.
+      </para>
+    </pre>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-pto.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-pto.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-pto.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,67 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-spacer.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <title>
+      <font face="Courier">&lt;pto&gt;</font> Tag Demo
+    </title>
+    <para>
+      ``pto`` allows us to specify text that is rendered before and after a
+      split of a frame ver pages.
+    </para>
+    <pto>
+      <pto_header>
+        <spacer length="1cm" />
+        <para><b>... let's go on</b></para>
+      </pto_header>
+      <pto_trailer>
+        <spacer length="1cm" />
+        <para><b>... please continue on the next page.</b></para>
+      </pto_trailer>
+      <para>
+        Main text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text.
+      </para>
+      <spacer length="5cm" />
+      <para>
+        Main text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text.
+      </para>
+      <spacer length="5cm" />
+      <para>
+        Main text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text.
+      </para>
+      <spacer length="5cm" />
+      <para>
+        Main text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text.
+      </para>
+      <spacer length="5cm" />
+      <para>
+        Main text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text.
+      </para>
+      <spacer length="5cm" />
+      <para>
+        Main text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text. Main text. Main text. Main
+        text. Main text. Main text. Main text.
+      </para>
+    </pto>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-rectange.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-rectange.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-rectange.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="rectangle.pdf">
+  <pageDrawing>
+
+    <rect x="8cm" y="20cm" width="5cm" height="3cm" />
+
+    <rect x="8cm" y="15cm" width="5cm" height="3cm"
+          round="1cm" />
+
+    <rect x="8cm" y="10cm" width="5cm" height="3cm"
+          round="1cm" fill="true" />
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-rotate.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-rotate.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-rotate.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawString.pdf">
+  <pageDrawing>
+
+    <drawString x="4.1in" y="8in">
+      Hello World.
+    </drawString>
+
+    <rotate degrees="15" />
+    <drawString x="4in" y="4in">
+      Hello World.
+    </drawString>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-scale.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-scale.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-scale.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawString.pdf">
+  <pageDrawing>
+
+    <drawString x="4.1in" y="8in">
+      Hello World.
+    </drawString>
+
+    <scale sx="1" sy="1.5" />
+    <drawString x="4.1in" y="6in">
+      Hello World.
+    </drawString>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-skew.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-skew.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-skew.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawString.pdf">
+  <pageDrawing>
+
+    <drawString x="4.1in" y="8in">
+      Hello World.
+    </drawString>
+
+    <skew alpha="15" beta="5" />
+    <drawString x="4in" y="4in">
+      Hello World.
+    </drawString>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-spacer.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-spacer.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-spacer.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,31 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-spacer.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;spacer&gt;</font> Tag Demo</title>
+    <para>
+      This is the first paragraph.
+    </para>
+   <spacer length="1in" />
+    <para>
+      This paragraph appears <b>1 inch</b> lower.
+    </para>
+    <para>
+      You can also specify the width.
+    </para>
+    <spacer length="0.5in" width="3in" />
+    <para>
+      As you can see the width does not do anything. The documentation says it
+      is not implemented yet.
+    </para>
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-transform.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-transform.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-transform.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawString.pdf">
+  <pageDrawing>
+
+    <drawString x="4.1in" y="8in">
+      Hello World.
+    </drawString>
+
+    <transform>
+       1.0  0.3
+      -0.2  1.1
+      10.1 15.0
+    </transform>
+    <drawString x="4in" y="4in">
+      Hello World.
+    </drawString>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-translate.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-translate.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-translate.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE document SYSTEM "rml.dtd">
+
+<document filename="drawString.pdf">
+  <pageDrawing>
+
+    <drawString x="4.1in" y="8in">
+      Hello World.
+    </drawString>
+
+    <translate dx="1in" dy="0" />
+    <drawString x="4.1in" y="6in">
+      Hello World.
+    </drawString>
+
+  </pageDrawing>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/tag-xpre.rml
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/input/tag-xpre.rml	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/input/tag-xpre.rml	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,34 @@
+<!DOCTYPE document SYSTEM "rml.dtd">
+<document filename="tag-pre.pdf">
+
+  <template>
+    <pageTemplate id="main">
+      <frame id="first" x1="72" y1="72" width="451" height="698"/>
+    </pageTemplate>
+  </template>
+
+  <stylesheet>
+  </stylesheet>
+
+  <story>
+    <title><font face="Courier">&lt;xpre&gt;</font> Tag Demo</title>
+    <para>
+      The X-preformatting supports paragraph-level formatting.
+    </para>
+    <xpre>
+      This allows <i>preformatted text</i> with <b>markup</b>.
+
+      ASCII ART
+
+      <font face="Courier">
+          *** ***
+         *   *   *
+          *     *
+           *   *
+            * *
+             *
+      </font>
+    </xpre>
+
+  </story>
+</document>

Added: z3c.rml/trunk/src/z3c/rml/tests/input/zope3logo.gif
===================================================================
(Binary files differ)


Property changes on: z3c.rml/trunk/src/z3c/rml/tests/input/zope3logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-01.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-01.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-01.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,96 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 96 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 263.538 417.6 Tm (Hello World.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001279 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1330
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-02.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-02.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-02.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,110 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+4 0 obj
+% Page dictionary
+<< /Contents 8 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 7 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R5': class PDFCatalog 
+5 0 obj
+% Document Root
+<< /Outlines 9 0 R
+ /PageMode /UseNone
+ /Pages 7 0 R
+ /Type /Catalog >>
+endobj
+% 'R6': class PDFInfo 
+6 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R7': class PDFPages 
+7 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 4 0 R ]
+ /Type /Pages >>
+endobj
+% 'R8': class PDFStream 
+8 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 285 >>
+stream
+Gat=b5tf-M&;BS,reF!=lClssb3iD/&CuJs57j<#;e_Ga9[Wh5:?/W2M^QUX
+B&:1GHkJ;$RK%0AK>QbB68hXFaL5iWp39PJnQ?XuADQ[X]l2PoeN0b90+5LZ
+k;3[933%P2F&]IMh'b3-E07I<M*a=^$CBbR,9\%Is7WaR$/I@>:\\rg=rbEm
+62$dKs#fSlRd([R"6qL;^?3"9D<l\V4qj(eb at pB_@=:(hA.8_R_2qhcHNUPK
+m7I&r+$`Kk(mrV?Ycdi$B:&U*6s9EfN5T-n~>endstream
+
+endobj
+% 'R9': class PDFOutlines 
+9 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 10
+0000000000 65535 f
+0000000113 00000 n
+0000000221 00000 n
+0000000386 00000 n
+0000000553 00000 n
+0000000830 00000 n
+0000000964 00000 n
+0000001160 00000 n
+0000001265 00000 n
+0000001694 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 6 0 R
+ /Root 5 0 R
+ /Size 10 >>
+startxref
+1745
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-03.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-03.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-03.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,114 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 1184 >>
+stream
+Gat=+bAn7N&A5Wts"Hr6JQRn<]2pE=&e5'E5[k^Bn09nf_<3W&8@&s!,>b@[
+D/2!lh45R3XeDLSSNc4PGWUO:+#IYafe$m</Bfa*rG4Oj3M#Z:h7)Vomm7t;
+ at B]O5Mf.`PW&ms%Gj)aLAnuY]A\#N^/RZ$^]nbpu=89;;^;!mt+5kakIg9&I
+0%EU^I>?KE+rYfF5S&KfhuiL0=OXs:K1=t0FeF.Zkij9n)g>s(9#,g8l%9>_
+abk.^EC-(^p+eJ'L7TkeV=2!X3!7kcNQZb$=fNFo[/J0idXcG0*k]eT]&`GI
+ at ruF4l]SLY25YMQ6gG at jCD3uCa`%rXER?8dfa>'H<i(.Lb$n"hURejN?EcBe
+`2,8l9?-#,UMF.=hn$2I\hle7P2W>aj!%F%ZO:@e>tXk(Pf8sZ7QYI:HVqFU
+1GP]Akmi`,n#:_WRJOpsGdlJQBdd<Z&3T<'gE2>TE:^Spbnb2`X&Uqi'c!/n
+>d7CuR.qMbm49.)a16)r+telC'4K.mL6.!USlJ,LY>KVM#hiGC2-i1snNIC]
+\YM3!>YOVM`5kSojiC"4,J['BcLi;KVAIC&)(2dJ/9gDXh2n4t:0Y>f8 at 07N
+?.&"<Y0\PM^"f__dFJpC.dEf^9960L1$P*m9O2BOee>BgCJPP!0KZY5BNsT?
+Rb![>8p/rQTd!1qZKfLlHBOkFajm5j@=9nV11=Ju at A#_f8C-i'eS9C0n:(O`
+Rd-O-b:#c.Pj7U[D4n?pQq.f.#RHYj&%`"8H"PGEX?->G=?K])2!rZ;\WOVh
+FRjR^R.(&&C3tQqT5pglKBE1fd5+[tD[SpfT]20Y3Y`L6i^ol0%it4m:7kiC
+6Y#?g$ric-S[=)WMfNB\L>Jb9]b'Ef%)?0D3hCn"!@')]LXI<IUk_3k(o8kT
+--$c)Wre/>@7`dTO&U7Gp=uF`[`ZPP3YR-g-3fr51<c.?P"[V^<eQ9WEYliN
+,tKHJP+OqAn3\g-)4"AAQ<Z0p&qqe!YFKVg-g&@sU"I'h`=@#=G%a4a0SdM9
+6HQGk&L-qj>pL,M+JDnR6K(3OWNZ\_ at 0n5)Obe-.PuA1SkZM9uAUSsHdd`8[
+HlAfkgMJ#k?_;Npk`_OAoDmo-cf.ka?i at t"OF=9\$dfR=6h$Cj3MdZKSbrKl
+!R>6~>endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000002413 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+2464
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-04.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-04.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-04.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,112 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 1088 >>
+stream
+GatUs9lJKG&;KY9nfRQ2-o/F#rUQWu,WJcj!QY^i#YbZ*P*Dgqr-``Nn$nCk
+7V\trmAl*"H$9,P-8A-U+4L5'g8b`Wp&:.P`iA..19PY4H(dDSkHherN%[6k
+SBl/>F``mC<KaER$O6XX>#uU)<74r%pZg#Bp9;)/gOo?CGu;7Tb8[j:fA:#e
+htcUmT1,fT%r/<3/kWbR)Ib>aUnZCV&J<"GW;(L!dmLjH?%aii27BMP<)MD9
+mdG>tnE\<j\NIAqdU9<9$CJb:1dSo&U=b%iVkS=-Y<SG17Uqo#HIP5R at u7a`
+a,e4Q;(OT-[BEKt_Zf at icEcNB$#&<bP0O\]Z*r(`,)W5BcIA]9^,50B5]@#>
+:kActk/SLJRW*d$MBTXNJ^h&7^2]>]Bu,b>ktGItHMkRBa:B;9&lJ#bHHf.m
+<O?JmhCmC'mIkLB]R;oD7jJuuU]rb(+$_$4/HCVq'MB]0REFZi<sI>r+#_0a
+(rZQ1>iDh2#Z)eP(-n"<@L8l+Z#VQoT`!I?g$Em[/DY3cl?K5#%OJ'+@^a3j
+-gFMrdAL'Ej&29$9q%^,H05[4O>,UVaI7WT,)RDuM*%SLnq)Ya([>c.qeWsV
+?9R]t`[h<FA.Q-qA\]LP70/<7'MBuf:D;Q/((<"iQr,D2a<'bAaoFjSMZOTL
+.$d]NSnKKKmdD2ua%]u<SI]l[9t%K,M%WcS0j@#t:l-A4S_#Ml.JS)\eM03s
+pU-rFPa at qG$qEd<=<`(p at Yn?;,!M-iIND>chNU55KZ7Z0@`?B9Hc*f\s-_L]
+:F@(0P)*4l7+MlAON>E#&o:6AX9U6u%AoH<A$IdglG:`e7hA7&$UH&#Maa@$
+L$''@ha"UHcVX#N;!l_G8CM"$.7%AVZ`Q''-qk4Z48XmG;`<ptlKj>mS$2B#
+;sEcHVKF7=,E]+dPfSl:;^-&G3)@J0.Vlp5A"hJSHP4tlJSYP5C[)L/%rP/5
+JOgt8#9o"dZUA>fUB>4^a=b^3fu]3&(l]5>$F14V'%oF at 8VEodZo[;Ya/%s.
+/V\MBHX?i5as+manlLS>"Z;qN"4IpF3W~>endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000002317 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+2368
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-05.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-05.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-05.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,159 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R
+ /F5 6 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Helvetica-Bold
+<< /BaseFont /Helvetica-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F5': class PDFType1Font 
+6 0 obj
+% Font Helvetica-Oblique
+<< /BaseFont /Helvetica-Oblique
+ /Encoding /WinAnsiEncoding
+ /Name /F5
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+7 0 obj
+% Page dictionary
+<< /Contents 11 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 10 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R8': class PDFCatalog 
+8 0 obj
+% Document Root
+<< /Outlines 12 0 R
+ /PageMode /UseNone
+ /Pages 10 0 R
+ /Type /Catalog >>
+endobj
+% 'R9': class PDFInfo 
+9 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R10': class PDFPages 
+10 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 7 0 R ]
+ /Type /Pages >>
+endobj
+% 'R11': class PDFStream 
+11 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 1280 >>
+stream
+Gau`R?#SIU'R_pus)?@5Dh&gkQ=P7o"59S:Yn]hA!S]+Vd?5D?e4;'Lqs/J!
+A]KgI1L@=0"sZtjml?0tMnfc$82E^qHjnur1BBfc>Q\uD/qe_iD)`U84WZbF
+7g1GWrGt+'r\=JmiN`2J\mlKV/3Je;27'W$<[Hc<SkF6m*$<$;m8+ok at u&W9
+k/#Q<#P^<<@<27^nksGr^]D at COVt<Q'etq(iF+tB'856cr#)$VRqoME*F+q+
+4gO^HYZspPTg!^32PkJeJktQ.T at 11_gn<E-+T=3b]7.Z[@<`6=Y[;I?Z.fn_
+USJ at XTI)c-dnBlC5"SW5"l'j*kHh'?BJc(s(d0QACK%@02kO at uZeAdtCN%[t
+*$SN&?5O,eWLu!%5\tU;U)'![5jcmd9J'-<<mo>qRf;ppq;dHb9(Ng1bh&p/
+#.3'X8(:X6VHBQpRG(!tr9L'S-4ra[:p$7?X:3n_ri;kuf=g$WQu[;n6>hmi
+&9=O3f)QN)JBT_p?47YWRWD#>%I0bb?5F&;asYhP-H2l,iMsZZ?S%o"R148t
+%V#Gd=:2*TaJE?jC!H7,(K$VWp!g[H)GoY1.^Fku9GSGq*Y(?B8Md-$i[.8:
++6(6q(UE*l)_Cs.>?^jK75`pd0GUFPiK7h]1V?'Y/2Gm7;IRu%L8ifk_+GDW
+-'%41lHp/t+Z.M=<8:o%b[XjG(A,@>6uck!N2=[S"NltnNo^qoL>['g+_Lro
+KcIcFc4f$udHK6+fI2jGg=`jLWj4_-<X[M/d9WRP7W$(:;_aD_n"@[@;s<&l
+OZs at _Y?e[)#JD_!9"#:f%&Ine?E;'*2^6r?6`nep7=F0t?<9QpB*BW`Ju:/b
+/6.FDYO],m5)F*>aGWn(o'B)@SamPsG0+q5)N=O1O6J.2NBDP^[3Z_"ZkD5(
+.m`%J8pEk.K^"TbcaqIqeBeI].tZAS:NF$rfN#nnK at jSRA/P(R':;#B_b.r'
+%i:B'9D9n]mqs4^>DpI#[f2VbTuK/Yn#D2q*sC@%pYFj=4d#ZnCH``LIqD4X
+q:XpiX46oE`g'rWr*3F-&rbjK.W`JRX1^O6rb)+C,345>q!%e?b<7t:%I\-Q
+O]pbt-(!iekE*VL>]96-^Yf=F42u.:^=Hi0caM(0SAj\lG.I4+^:+As0`A"&
+\VbRd7%=+\,W5(ndO&12Ql;!nX at 8saVd4D8PNbtS4dA?7WkX51eD96$TH7S`
+>;9W/TpESHNi2e=`j4nuXL("T/U\IsrW/c)G%1~>endstream
+
+endobj
+% 'R12': class PDFOutlines 
+12 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 13
+0000000000 65535 f
+0000000113 00000 n
+0000000257 00000 n
+0000000422 00000 n
+0000000597 00000 n
+0000000764 00000 n
+0000000933 00000 n
+0000001112 00000 n
+0000001391 00000 n
+0000001527 00000 n
+0000001724 00000 n
+0000001831 00000 n
+0000003258 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 9 0 R
+ /Root 8 0 R
+ /Size 13 >>
+startxref
+3310
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-06.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-06.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-06.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,141 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-BoldItalic
+<< /BaseFont /Times-BoldItalic
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 837 >>
+stream
+Gb!#[?#SFN'R`L25@!_62H;(&a9U8(LMB2F1j.N<C!R[-TrB03M&GTnTC%_@
+*H`ArR3k`C-]ZN`k8mt_"9S6>ju?_aAI=V=!C at q]JFIUil"BdY%L9J\!SL2,
+'8SYKZd%=AgoVC1JU3[<YGPW2WMM#)6n_!.?>/-P/X.!Ke!WCI^`qMa-"L#Y
+LYo=%q&7[#8Db92YNG]u2!#bM,=&70M1M)=(m%##G3!$n([D_*$Qs'[nJT^A
+K!cEXn,TWrp3A9Bd?OCSL+ at h7bXnj0\QUWu2 at Y6dZlDi63:]pU<n<8[lZZf#
+#8)6<r>k'q:$KVl^ZR;f`*hpri*Pri:PA'#2o<g/`L2Vk+bR7 at niDt/g>RB+
+2]c)2dGu_C+Y+hhpSRDC$K at mOF.\=Q89\[%-2MSL3%Rg/Mg'PPIcF3-gkcJN
+28V\EeH2O#IUB&u:hoT;RPJ)(B4bJ(R!2Ki28Z<98!$;FQbPEkSJs;B>V)N(
+LmKNt;#N=^(^;?AC0)Cur7snQ,=d/V)_s'bp=VAgA>mI7e4[/9W`L$^$#rf7
+$3NqKI!Q,uG\2LSgqkhDs1"*Za at hk0l54/b=!@@dQl<@I)QZeq99*deLIs2f
+S=%5ffRqWPV8E3A#Yo<YF=V\/@8i(/=`U;_$W4f:SK;rbZ'R'R2<$?^du,c_
+`>uZhgaW\[ioVm/\&!.+c"qCKs(eC6?(\P)+RnZMD5HegT at 0^*9\-LpTP\CP
+;2*#f;8p&&3GCo0;T6Fm-TmGAWj'jN6,!u;S1A*-/_$5M1d=6BQB]LrWEuQR
+b=-u'g!Nb.0kAJh'AY>N#Cc`.Mk]5~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000577 00000 n
+0000000746 00000 n
+0000000923 00000 n
+0000001201 00000 n
+0000001336 00000 n
+0000001532 00000 n
+0000001638 00000 n
+0000002621 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2673
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-07.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-07.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-07.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,98 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 210 >>
+stream
+Garo<]+2\3$q9n]q1h$f5j^\(Y*FNk"dD6-":Qjpr;T$$GdIRY'Hb<Gf1lTW
+%FVRV(c"!2!\s6`jOYIKJ8MaWDG:d-0%P,:VnFrHYSRRT;P6Wlm at +b>nUd9o
+qa4*@(I[0GO.'>gKXQC:,(7Ic'K!j0D>GaM)+CZ62u]pue9VHA2kL[`$nH+R
+ZSrOC6)(PIU]jll"M&,,Rf~>endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001438 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1489
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-08.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-08.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-08.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,98 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 281 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+1 0 0 rg
+0 0 0 RG
+n 247 72 m 247 172 l 147 172 l 147 272 l 247 272 l 247 372 l 347 372 l 347 372 l 347 272 l 447 272 l 447 172 l 347 172 l 347 72 l 267 572 m 277 612 l 147 585 147 687 297 792 c 447 687 447 585 317 612 c 327 572 l h B*
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001465 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1516
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-09.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-09.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-09.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,170 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R
+ /F5 6 0 R
+ /F6 7 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Courier-BoldOblique
+<< /BaseFont /Courier-BoldOblique
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F5': class PDFType1Font 
+6 0 obj
+% Font Symbol
+<< /BaseFont /Symbol
+ /Encoding /SymbolEncoding
+ /Name /F5
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F6': class PDFType1Font 
+7 0 obj
+% Font Times-Italic
+<< /BaseFont /Times-Italic
+ /Encoding /WinAnsiEncoding
+ /Name /F6
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+8 0 obj
+% Page dictionary
+<< /Contents 12 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 11 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R9': class PDFCatalog 
+9 0 obj
+% Document Root
+<< /Outlines 13 0 R
+ /PageMode /UseNone
+ /Pages 11 0 R
+ /Type /Catalog >>
+endobj
+% 'R10': class PDFInfo 
+10 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R11': class PDFPages 
+11 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 8 0 R ]
+ /Type /Pages >>
+endobj
+% 'R12': class PDFStream 
+12 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 1246 >>
+stream
+Gat=j95iiK&:j3Mr#b(b/cnKV+-LqT?kX5&:pa(14jl)qX-"^3,fe0EmuS_B
+WeobQ?pbtE57QdIR6lKIC9Q.g^6W_^:P#B>4osbu6hr6[.p"[e=#]O3-HukW
+P"Q(t at 2=Q]Udtk#c0 at bh,-;i95o50a+:0Q#(5"mhK9S..EfnCMcn.LX8]FZ:
+!50uhe!uQ0_)U7+(agtgEOr!c\*828E"%Jk/1`hf%#19?@*ll#a at QL=h#d4/
+M*\=L#30a0#fc+p_78#'l$9XQ6s[j077JQGEo;401*I"k57:j0da47AL[kF=
+RQeBr:Eehs1DBZMGH`^oo`4beE#LQT:Hq/@2j@[2AWC%<)c^UU2nf.$rP%TT
+'XK<VQpb2&=!Ydk1Hrfa%Q(`WmShT*eY^^sIVE4Il:MN^(@';Kf.A2Ag>0X.
+1`BZMSXM-H1oU,ua0L_AN3H at cY3Qj>]N[3Ie6D!Bf at Sd!c>.WEL5si"0]^p\
+'kqgGf+iBj*7[eK9Xb+T5DQi+Tr34j at .FdZ"s]CJd>8[!>9&Z_*f\O,IFgaY
+U3elgFg%nTB at U0mqN-@R(`>D3a.lZuq6>fcs'MlFbN\,GV&pN?09\."XDY*$
+KIM62[=8)mXE/U[_XVELfkm;*gK=Jh"L>NY!K3]EcIkJFrMCFU?;Z)0^!$Vh
+riM6pM$TVX+ZuT.FF/SVn[=8Md*BRGR]^rhD.gl\GFsV$PSdbnk.Wg5kiOWt
+>Gq9"Qqi>-[ssY,2(1Z4[Fp,R.m(6MQKa>4ek?0(EF%s?fQZMp[PA1d2pH%R
+HSsA[45AP06b_A/B*HRds86k0TUR\GDURHT$^guI!;.a28qbClT7ptoYE_80
+3MUg9j"66uC)I.N#YYf,<GI*[OXu)?DrL#Kd!<1D<'fS,SS,+&(IA2X7A?q3
+K(@6HCPaM/naNUE^1sOo`_>io[I_3DWUrRS`i!L#DkZPfXSdR?M9a*?2tIlQ
+@)^oV6mT.$2#L+fQ3je6'H73.>qppbXl at m\P.B:;@m;*%W6>GH#_H?gWt?s/
+;Ym:cR0h,t('mQj4IL^!Gd)Z&W>YJ`BbYs`i<p\K2"rP at pO$0-I\"dYmM=8`
+n#9Zl%\TCa*KbXlF[YL$jp:)Ujp:)UmKi4emKi4eOi2]4?Dq.uIHh5dlqI#=
+dpU\*_7*n&R3(a!ID&q19Rc9ZdeJ#Wi<r^Ec2="fs!s$M_q=Xcmq`K7RstIs
+)mJT~>endstream
+
+endobj
+% 'R13': class PDFOutlines 
+13 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 14
+0000000000 65535 f
+0000000113 00000 n
+0000000269 00000 n
+0000000434 00000 n
+0000000605 00000 n
+0000000790 00000 n
+0000000959 00000 n
+0000001117 00000 n
+0000001286 00000 n
+0000001565 00000 n
+0000001702 00000 n
+0000001900 00000 n
+0000002007 00000 n
+0000003400 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 10 0 R
+ /Root 9 0 R
+ /Size 14 >>
+startxref
+3452
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-10.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-10.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-10.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,138 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Helvetica-BoldOblique
+<< /BaseFont /Helvetica-BoldOblique
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 641 >>
+stream
+Gat%ac#28i%"RdInd[d*`M/0aI]k>ldk1h%!a2!$)k:G5HJ%7RZ4kOkXY,;.
+gQ;3Xr$4Tud-8F8rj%03#*pbB,\XW:7N#mR_,E.^^!139h&Xgl&)[mCVAn(A
+kjc]@Q87B[1Z>s1O8qXC8<hSK<+Iu52Qq)ooOkl7h/33M/E#X:*f_UMmpBLM
+fY=':k8rL3hqQE?$T,Vk\VJ- at c?29GeYTs"Q>K^YeZ;fC6CK)7<;2PcE2\5X
+MrptjCBS-M=i1Z+(_n2S3,W,NTArrDA5*1A*-l$!QAnpY]cFAqcl#m3+F4:8
+C5`XXB:iXh-?@7UoRP#?K+5&h::Wn-s-8_Mo:dm>$tQqL%Ot_lD6t67jn:1d
+ghB^T*]IpDqQ%?3lr>lOm(Y"nX?skTf.8)F6>TnF/0QX>U</]OPFEo..8AMo
+#g,-e`jU,_%^15&n<Q%+>dXF5!YVCDT3;7%E>;)tN;^4TK(K at 8JYU.J&/7*h
+pnXR5\-b5]DjC$i&EMRL-&rVA$VHp]HqI4%>_S=`L;)0"T_X86^es)5#R[(o
+Hr<d+>_O.W4J,_#6$p5:`)5N:6&ANs:C0XLX,qtn/9SFk(!!<3l:T$PlMfsE
+*2Q*rgZ?`fo@[Jt2lbX~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000577 00000 n
+0000000766 00000 n
+0000000935 00000 n
+0000001213 00000 n
+0000001348 00000 n
+0000001544 00000 n
+0000001650 00000 n
+0000002437 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2489
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-11.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-11.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-11.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,165 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R
+ /F5 6 0 R
+ /F6 7 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Helvetica-BoldOblique
+<< /BaseFont /Helvetica-BoldOblique
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F5': class PDFType1Font 
+6 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F5
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F6': class PDFType1Font 
+7 0 obj
+% Font Times-Italic
+<< /BaseFont /Times-Italic
+ /Encoding /WinAnsiEncoding
+ /Name /F6
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+8 0 obj
+% Page dictionary
+<< /Contents 12 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 11 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R9': class PDFCatalog 
+9 0 obj
+% Document Root
+<< /Outlines 13 0 R
+ /PageMode /UseNone
+ /Pages 11 0 R
+ /Type /Catalog >>
+endobj
+% 'R10': class PDFInfo 
+10 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R11': class PDFPages 
+11 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 8 0 R ]
+ /Type /Pages >>
+endobj
+% 'R12': class PDFStream 
+12 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 962 >>
+stream
+Gat=*9iKe#&A;^'s'^[]kQF=)=^MCDZm:l23\Ak!. at 1$cJNBKP[.NN_Q>Ke(
+MT6`L9Y>[irLUBZ(4k1(FO-F.I#MLB5X5PD*FM8ZLmKfVa.qhfke]J;-R]ER
+@[?&Ke4!a4a!7&SI83Gmg4Tl2V[456dg8G[[tF3&9]giVgL&&,&E*nXLY_)-
+f"5-g-P,s`m:Q(s%m,#??RM>p6\lg-rW#Fh4V`.f-B'Du"W'p>Fjq6p<MY0j
+-(8jrOG`nfJcep6T,$br;i!hVAIuB66jr92:0*SOnT)@"=,3iue]Dh/mJH1Q
+:g?f3)2U<fo`RE7L5[Nm9FL7'nd`6f-6e=OHpdDbq:XqZMJ%i\hb6RK>*DKH
+Z8Mkl`Zn%`'r"=<.<[b\pa at mtr238P!:(nM/i/\#D7SC2Si+EJ."uE7R?3/%
+(?-bS6.&5>mL<c$1c$M at +DNHooBZ5:l#PYVjjIRCE/VWbI452^YhMDRoie'J
+PRmFjqeX%!F:k(q(?Xj:/_r^q;%p*d*pPe^iABiJC6p/d)<+dHhQLEV<aV[q
+HNY3uE1i7!%B#rH7g74"n_Qc'<hBmWd"'3&b<G#3QeVc:P/TVemah/r4s%`h
+U4b[#&aKBLcVhRUGdOfF\]OG\bFec(!^AFS%>SXT:)is.\Ml%"-paOp"]`K'
+MV1),SVdHja%@&0fuXl$MO6o-U=l+H:d.pSOD!)aU5G=.$(9C?JF]rbj]UhA
+pm:hNTX!ZD'.cKc06NNRS>,pS'kJ2L.4TH9_/u*!?fp4E/rr=;<_/"S$FR".
+ at 7HL+8oli&f8J&>=pN'q$I>mDfg=cOH#Z$"/c7j!jS&lHSmK4_rbNa!d,[65
+](pVLFCO4SB[s'N^K&qH]LTu,lNhhp#ZK-td?V#=/!ZC^An!EXH%$hq*EOV&
+o6Fj#NE>%:k5%t^^%3ug0HU/p^:.AL~>endstream
+
+endobj
+% 'R13': class PDFOutlines 
+13 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 14
+0000000000 65535 f
+0000000113 00000 n
+0000000269 00000 n
+0000000434 00000 n
+0000000601 00000 n
+0000000790 00000 n
+0000000961 00000 n
+0000001130 00000 n
+0000001299 00000 n
+0000001578 00000 n
+0000001715 00000 n
+0000001913 00000 n
+0000002020 00000 n
+0000003128 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 10 0 R
+ /Root 9 0 R
+ /Size 14 >>
+startxref
+3180
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-12.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-12.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-guide-example-12.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,148 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Helvetica-BoldOblique
+<< /BaseFont /Helvetica-BoldOblique
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'FormXob.a9475650de663a97fd49920ba129d955': class PDFImageXObject 
+5 0 obj
+<< /BitsPerComponent 8
+ /ColorSpace /DeviceRGB
+ /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Height 86
+ /Length 3441
+ /Subtype /Image
+ /Type /XObject
+ /Width 130 >>
+stream
+Gb"/kc\l$s&BFP1_2Dt)$d:1-71_WG5t""8d$&bf&I]R7/-[n]Ci0j46p]$_"<iAJ+AkPK+^dQ3d#.o2*fP=T(/u'4+Zm=%BD/CfZ`;oPEV<+N41dqfbeEiJFoCU*lDj9][C$6dYQlI_F*$sEYC8T\iGp73lgK<Pc&r,^]Wlq7SO]%?&*dkB7;8pc#'@%.gKhGaJ_,AMooIO[aU7Kbr(V1>a0tHAPLlrJ9CjJP]Q3:qi]L#Fa-T"Ac's+Mn;AA&B6[X-o?:8=&#D:N"#.Sd_Jd&9nAMZ$Rc?Cq]/Y at kGCugmI;S1MEQ=hE#?fu]AM8aaT1Fe#Q@"WD]Ve6J*7aNZ3-FN9]5r]/8)?iJrSUU\&9qs,l-cZ%, at Ga:aj1tI*.E%7]"0q at K7*%X`Af\njiWkC+51"lqO*V0*PI'PBJf1OT02\,Erh63ZEf)S^]!jfHpmVVo1#\nh"B/Yc3VT5AJc=Ij'4BjV:+2kk<HNQmc.&9l_BFJLuek3.Ad))F6:]Za5,D#N8Y=/5er+re/W@^$.6s9Z2?lR&Yg&ub=e2am1b$EC%]6D*Maj'NO^7!+3n3&S;^A.9dq9H6VhO::=>67ig(ZqPk)\b0r:qcXj)4V):BjW1aG9sr[">($q&@&2IVjUXKB`Q6S_#QPVQ<*!=7!gZ)uuaUP>9uEFQc49!Pn$gdSY2"9^dV)^&'O6ZPLEmUUKj=0GrtOFg]EA_)rZ&;rVG*uIo`F7LH(Ktl%Gc6>hI=B"D!/K;VVAbkh_dMaT?"DMF),S/hm>a3)l<UR%IC1E'f?>7K"=C+Ak"]sJfAU=.%EUKQU+N.i;Q//H.6[FEoi_BsN%kVaghJClIbg7+J<T=!_VUr+X)=m/T+^*S<k:Te:9;Ar'52'u/<95_^d?#Cm(3a^).k<+u>B.Che#fJj1ZLr,IdH\qC])p?cEfgQim'seq:@jhddafm at 3jBfh:gMK;$:u_Tu`Ef5+:,^BULR&2*)B/@nCjXR21K+<SWuHTFlLt'<kA]iR!TA,d'<J@\QP+[-ZLpcb;?E/.b*;EG)_(p'X^[cm)$98at<>c_NWo*aNDp9X1"d!$,2'E=2JJn8C4$[G>uV at nc,FbWK.kk;5bN[lL.ac+H'4?u]gpgIb!9C[Nt'diDUboZDk3Q6bqekZfLKir0p'T.OkEb0"GQhe^7P5tiPEKg9`>*6*8=eoGBkm.`S8P!!VW:p8uuM*7C(XQ669?@q5$Q4JD5R:NNg&#\*=Lcs_Ys-4ti8M=plM2=X[jDgXP`d5!5=A/'/D7IZWLoh%R/5#uJD-R#!Ct4c/.JK\;hPKdHbZ*&omX+;2N/bA=BSmAO_!:.d7kKp`k(#fe%"%)Bc>TQpKJ^XW)gN/-g9n9KpU)/\f1$QU>slYX%2rG"CReW\5cHb`#!.+i12ka"f!N[]nrqE:aVl<oHK4,j"jG%?3Cb=u&;9tiK2F>=hB+OEDSh8`2^pdo%QR65*#mk%-#X[",Ofs=\_!N!>3!HV)troQI\?^9^#=7,?QpZadoGqfh>,"Q3`/l#;<4!6LL(3mqm;>D2;<UEjnYmQi$QH[bRr<&=3GIsCCj=<_V0PcDkU$"9l&JPCY+=oLba697H/1ZR`NfcF5&A.joeb.C8.W:i1(h_i6bd_aHnq6=W6t'pT(*AptT.+A40#_3BB$q2USI,_t)1079S[5 at U[D21aYDqc_RZt6(0)FVb>-DSjMNd2a'#ggd(q3&M5_iUbYsb]ja""]dcA\fuB?iiO&!^PLOi35WqkHR'-KR*aWf^n<f,a/dt28BJ.s-PNP4Q9Hm,H`\H<)h5FLD=?mQ at m@J]hlc9gB.u[)TD,CYOcAYMU/3XRdi)LC-/OnZ`!hnh-%<)cui at I6Ok#?>:jJn&Tb3('.eah]JEM[&j5^)dgEdO)BF`>l**+9SmWp06Tn\hjj8O#guco7C$_cFSN8udG_'JXgj(:e9P*nnOK[6iK?kn>.LPi?]flJeri[+^]1DMBV`UbNOnV<q8>1U'HA3WA`_,Z[[YiY\F\l<kE+8Ck)sKqZmfr]6Z\LlFkKB0G5u2n99UGV8r#ViL])`/I_o3?7-POuCd71kl4tc#&87YZ#7&_njIh5>."XWK>CNV82<:lUW2MZ6]R1"(Qr"9LlJ0]N3]b>>DbL9h[9,de1[W?HDg'Ht=lel/IrgDER(cMeqYC#aZQTG"aM>=r:+og:N9?@rW_D09;hA-aAd$\gEY138bbi'P at 0Q6YOP7nqSA49.ffNT8-`cPF!35;&.X&;Js0qoSkiQG5a9P8WsU9K*A$nP[U&kMU"o>YqIs9[^M%D9[uVM0$DR/kl(\cZXB55OdZGEad#;2dKHA#SogbAU\HC\3:Ss4hN7P.K,`5-`og&N[dDq)aI.f at Q[uXZq(#J"84k7RM9GI6Eu=ob5#K["qZi86D#mOt?F/UJLHEq at EFtnV[YYJGC0N2k#UGs_O)`e)0)d_`U4<:#BZoVfh*cco3&^>XC>$l0:NDf3PVCPLkT+K[Gj[;*Mi.`B:<?a;%!=r>GfhIC(l at kjVkHl1:7`XP[)fE9FEV_$!\TETGUITa(dFf,"t3A+]Y"B=CIq/8;/4FH0h2\_-'@F`\hoa*j-]Y^3`L_r8h1=p=Yqo:=<sJP;IO&iQ+08d-CNG$>/;_DBHiBuE=[u4d*$B&Ie"+Raq&W57a\Ba#YK`!"66+NaMM5$&r>Bgbs;^cVM_sYUWoa3HQEjJX@)NI.r?q0!VETqhE at j3RfpT"pBK,="rZ_6UM,J9AsiZ&.PVuI"=kH,W`(^\H^L/0Pl;f($GEt/HKdKa-Z[#mb4Qck:NdTka at p4=AMKW!n2kO%iX4a+%PsVJqh'Mg+P*jW\U+Mhj#iUt8&bn)#YWO)\+6#NT0,TqCkQIFZS_tQfq9j]iEWVSG/#.HH;1Ks+:^BgHYq798DlD2M\)Jj:bFB^hgC\o;H:%"`HcWs\CTB1n`h!$E at 9Mgk%VV"54r_tmMGA@":V56%)>K12KnD(SlW7A\OSmlGX,:m0V8WqK![YP?b0[4SD:rC-*s.&GJA78Y!'=J*A3?!5Hnp!m]cU73i^-fm[`,^NS554-[-=Z5\`Bk;o;Z;nQGDC::$=t0T\E-1Y=<p'OND5SD5QO=RT)Xadnf/*:3%Q::607\6%\h>kP3K%I"HS5IogSDcLLBO3hleVhS at CWc(mO8<;,DEi0!5GO>7RPopn9ZYXJ#O"H at C(tsj/.PI+-Y"pJ@=gj.uGFR3Z+[*^=BVXt$Cc*W1/+-B5+alZI1hBZo-/BldS`68Ql\;k-:(?g%7u7$pCe%rKe94K)B.N>\f_[4(&VtcnFh/?.eBk5GO<,P\GA;#]]3$>VTQBYBGrpH')5Y:[OJ_i^9Kd5i5KbtHR>X\kU)%s5S\FmonqYG2qrh)*9t?/cqb!YMa/8Ub at .B+9K".)ZAlu_*NdqGMqYu*b<qL`8"8iHr`IR=~>endstream
+
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.a9475650de663a97fd49920ba129d955 5 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 904 >>
+stream
+Gb!;ca_oie&A9%P5KqLa&=PC[,[Q*M"c=:g7#,%/aEF(W<pI1c5JLGk8N%8A
+$W95$+B"7?c>`F<8OVM16 at Za#i at KWG"Tf<I$UDfZA=%8,NCUb'UFUi7g)rs1
+O^r;kb!!=AN^n6rCt>uUV-T/_;n!m3>>?V:,j]2F^uYDh?9YOTcJp at Tb'Z4!
+Jp^M4 at pTkMbn=%rf]BI4r94T"&!3?tC"M-/G1 at BH:RG0Lq=+)JQ+"D+43A1)
+7Nrh\DD)rETi(r[$91JV at 697`M7(0!$C&=/2^r\"BHp at Z)bM'5J%-))qIVZS
+oN!najP/LdLL0]2p at LZOEmGQeYU/EN'9EMT'q+'9A/I/9VVQJR]r8C$D)Gh6
+ObqMD(NZ]IDN[F3N?LL/O\B2JK!1GhUYK`])K(rHfAFRm!RE[V&6T=U_)clL
+J8#ST+C5.455M1H*^4"a6f3J<2=rJ^XV&H\r-KoG?=j99XCg/FoA\+?VSBQ4
+R*=.3h9X:?@eZYKQfloe5"^`@]J^5jcDo^'.dNL^ra94.kD9&/:2H^e7N-[s
+`(WH7pIb_pZh51[Gkh6EK4A>sF*ke9[Tm1)0[B%^4J&eCeagF5A"))qIQV*H
+OQOHWV at s5u399@F!\s0rOScWR:DF.'-;9cp=nR#1G5H1ilfgi`+AVBf#9lXB
+gff!eMkQ^:U,KY6=!,fo<$0 at a!a6,$O5[QVa;*f)+dGFO!P(f`?>1g7^Vm6H
+r#\L$h]iDe??,)KVM^/+`c65#73QngJm)m`jF;jOme.4e_3 at pmE8l.qSi73U
+BVdqf\DA-A!mGGAmmF`L.ua3>]+\G"?*Ah8.4r?<f>-es(1>a0@!C61Yj8^'
+iu6DuJ\!2?D*)_CT9 at X3%3/7Jj3_5$QW>L~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000233 00000 n
+0000000398 00000 n
+0000000565 00000 n
+0000000795 00000 n
+0000004473 00000 n
+0000004816 00000 n
+0000004951 00000 n
+0000005147 00000 n
+0000005253 00000 n
+0000006303 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+6355
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-testsuite-001-hello.pdf
===================================================================

Added: z3c.rml/trunk/src/z3c/rml/tests/output/rml-testsuite-001-simple.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/rml-testsuite-001-simple.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/rml-testsuite-001-simple.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,129 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 8 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 7 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'Page2': class PDFPage 
+4 0 obj
+% Page dictionary
+<< /Contents 9 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 7 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R5': class PDFCatalog 
+5 0 obj
+% Document Root
+<< /Outlines 10 0 R
+ /PageMode /UseNone
+ /Pages 7 0 R
+ /Type /Catalog >>
+endobj
+% 'R6': class PDFInfo 
+6 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312110835)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R7': class PDFPages 
+7 0 obj
+% page tree
+<< /Count 2
+ /Kids [ 3 0 R
+ 4 0 R ]
+ /Type /Pages >>
+endobj
+% 'R8': class PDFStream 
+8 0 obj
+% page stream
+<< /Length 115 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 215.376 417.6 Tm (Hello World. First Page Drawing) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R9': class PDFStream 
+9 0 obj
+% page stream
+<< /Length 116 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 136.716 345.6 Tm (Hello World. Second Page Drawing) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R10': class PDFOutlines 
+10 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 11
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000926 00000 n
+0000001061 00000 n
+0000001257 00000 n
+0000001370 00000 n
+0000001583 00000 n
+0000001800 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\250\030B\313_\372\361i\240R\310\300\\\300\200\014) (\250\030B\313_\372\361i\240R\310\300\\\300\200\014)] 
+
+ /Info 6 0 R
+ /Root 5 0 R
+ /Size 11 >>
+startxref
+1852
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/simple-layout.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/simple-layout.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/simple-layout.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,120 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+5 0 obj
+% Page dictionary
+<< /Contents 9 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 8 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 180
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R6': class PDFCatalog 
+6 0 obj
+% Document Root
+<< /Outlines 10 0 R
+ /PageMode /UseNone
+ /Pages 8 0 R
+ /Type /Catalog >>
+endobj
+% 'R7': class PDFInfo 
+7 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R8': class PDFPages 
+8 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 5 0 R ]
+ /Type /Pages >>
+endobj
+% 'R9': class PDFStream 
+9 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 195 >>
+stream
+Gar'"_$\%5&4Gu<r53c;K!h)F9mRNg&&!c,IXnkYU_`S%#F!LAaprccSUJ,'
+1)Au#)mO&BNWdeg!FuN>mVlP_?EcK4e:a]A#X'e<]VV8=?lc=?N9j"DIEC5u
+MR$tI$Q_+8MaoU/]sts"%M,L:n,9Tt5J`g+X+"OC3X(#ZdslsQ/PG?aEu(SH
+!#U>@C&~>endstream
+
+endobj
+% 'R10': class PDFOutlines 
+10 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 11
+0000000000 65535 f
+0000000113 00000 n
+0000000233 00000 n
+0000000398 00000 n
+0000000567 00000 n
+0000000732 00000 n
+0000001011 00000 n
+0000001146 00000 n
+0000001342 00000 n
+0000001447 00000 n
+0000001787 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 7 0 R
+ /Root 6 0 R
+ /Size 11 >>
+startxref
+1839
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-barcode.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-barcode.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-barcode.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,979 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+4 0 obj
+% Page dictionary
+<< /Contents 8 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 7 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R5': class PDFCatalog 
+5 0 obj
+% Document Root
+<< /Outlines 9 0 R
+ /PageMode /UseNone
+ /Pages 7 0 R
+ /Type /Catalog >>
+endobj
+% 'R6': class PDFInfo 
+6 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R7': class PDFPages 
+7 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 4 0 R ]
+ /Type /Pages >>
+endobj
+% 'R8': class PDFStream 
+8 0 obj
+% page stream
+<< /Length 7241 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+q
+1 0 0 1 141.7323 708.6614 cm
+q
+[] 0 d
+BT /F2 10 Tf 12 TL ET
+1 w
+1 0 0 1 0 0 cm
+0 j
+BT /F2 10 Tf 12 TL ET
+0 0 0 rg
+0 0 0 RG
+0 J
+q
+1 0 0 1 0 0 cm
+q
+1 0 0 1 0 0 cm
+q
+[] 0 d
+.0001 w
+0 j
+0 J
+n 0 0 122.94 18 re n
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 18 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 19.728 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 21.456 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 23.184 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 24.912 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 26.64 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 28.368 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 30.096 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 31.824 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 33.552 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 35.28 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 37.008 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 38.736 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 40.464 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 42.192 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 43.92 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 45.648 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 47.376 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 49.104 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 50.832 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 52.56 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 54.288 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 56.016 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 57.744 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 59.472 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 61.2 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 62.928 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 64.656 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 66.384 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 68.112 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 69.84 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 71.568 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 73.296 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 75.024 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 76.752 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 78.48 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 80.208 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 81.936 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 83.664 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 85.392 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 87.12 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 88.848 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 90.576 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 92.304 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 94.032 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 95.76 0 1.188 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 97.488 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 99.216 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 100.944 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 102.672 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 104.4 0 .54 18 re B*
+Q
+Q
+Q
+Q
+Q
+q
+1 0 0 1 141.7323 595.2756 cm
+q
+[] 0 d
+BT /F2 10 Tf 12 TL ET
+1 w
+1 0 0 1 0 0 cm
+0 j
+BT /F2 10 Tf 12 TL ET
+0 0 0 rg
+0 0 0 RG
+0 J
+q
+1 0 0 1 0 0 cm
+q
+1 0 0 1 0 0 cm
+q
+[] 0 d
+.0001 w
+0 j
+0 J
+n 0 0 99.72 18 re n
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 18 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 19.08 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 20.16 0 2.16 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 22.86 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 23.94 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 26.1 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 27.72 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 28.8 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 30.42 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 32.58 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 33.66 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 34.74 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 37.44 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 39.6 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 41.22 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 42.3 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 43.38 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 45.54 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 47.16 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 49.86 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 50.94 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 52.02 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 54.18 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 55.8 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 56.88 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 59.04 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 60.12 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 61.74 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 63.36 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 64.44 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 66.6 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 69.3 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 70.38 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 71.46 0 1.08 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 73.08 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 75.24 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 76.32 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 77.4 0 .54 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 78.48 0 2.16 18 re B*
+Q
+q
+[] 0 d
+0 w
+0 j
+0 0 0 rg
+0 0 0 RG
+0 J
+n 81.18 0 .54 18 re B*
+Q
+Q
+Q
+Q
+Q
+ 
+endstream
+
+endobj
+% 'R9': class PDFOutlines 
+9 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 10
+0000000000 65535 f
+0000000113 00000 n
+0000000221 00000 n
+0000000386 00000 n
+0000000553 00000 n
+0000000830 00000 n
+0000000964 00000 n
+0000001160 00000 n
+0000001265 00000 n
+0000008607 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 6 0 R
+ /Root 5 0 R
+ /Size 10 >>
+startxref
+8658
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-1.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-1.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-1.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,132 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 273 >>
+stream
+Gas2Db6l*O$q9oErki#B_<E4n0#WHW=)N]h5h5]`UAdA:NNH5IaY:VC:2Y*-
+?sSl^lP`\f=:g93>>T-Fa9$GQ]rUU!Me4uTQlW;3=$\JKLY#pOMMTnq2K_UE
+3)'V=NMb79m1>3]O<]A-q6E1U\N3g<qa?LLLt[F\;XQ6>lAIjI&>Kd#B"4\?
+hM@]+ajUB\[5qsP<Q>Q,(hD/>GP6>8;K1.<#\8FpG<N^.-o(-+>4*c',#P$2
+X7BfXhdH<Q[5/'FHN51q>#5~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002049 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2101
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-2.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-2.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-2.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,156 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R
+ /F5 6 0 R
+ /F6 7 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F5': class PDFType1Font 
+6 0 obj
+% Font Times-Italic
+<< /BaseFont /Times-Italic
+ /Encoding /WinAnsiEncoding
+ /Name /F5
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F6': class PDFType1Font 
+7 0 obj
+% Font Symbol
+<< /BaseFont /Symbol
+ /Encoding /SymbolEncoding
+ /Name /F6
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+8 0 obj
+% Page dictionary
+<< /Contents 12 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 11 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R9': class PDFCatalog 
+9 0 obj
+% Document Root
+<< /Outlines 13 0 R
+ /PageMode /UseNone
+ /Pages 11 0 R
+ /Type /Catalog >>
+endobj
+% 'R10': class PDFInfo 
+10 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R11': class PDFPages 
+11 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 8 0 R ]
+ /Type /Pages >>
+endobj
+% 'R12': class PDFStream 
+12 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 413 >>
+stream
+Gatn!b>*aF'Lh11r50SMM1sFLkY7!<UPt_1oEPBdqLG5?#CaDK5_4i,9JgU2
+[-+^fD@)FG`6YI&V*UI^8Aa/7 at M-N5i7dt_X7+FQRV?<;[*cO$1MEds_co[b
+-P8q47B'QLGIF at Ol+UcJj02$mIKK+oTPV4)fbA!r&-!ID$?J'O">Ie9=*<9f
+L,m6+;<].iQKJ=3F=`5!A==isPhIjolcmdb*ePZ&.5sYl:g1e07G4P7@\lHS
+>\Osd*Zj3HB7X1qLBMI<W5gc^(80sHQ_sb$$>HNXm^u?`bRK5`h:>@`Tld%/
+910<XPU)98#sG3\9FL3Z3N^Jbm-&E>N-luhLUBHi4WG*s9D)M]raaAh60ash
+^)ZX.JO>d<cF/p8T;ACM<oppCGER^lptdAkLuO0~>endstream
+
+endobj
+% 'R13': class PDFOutlines 
+13 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 14
+0000000000 65535 f
+0000000113 00000 n
+0000000269 00000 n
+0000000434 00000 n
+0000000605 00000 n
+0000000772 00000 n
+0000000941 00000 n
+0000001112 00000 n
+0000001268 00000 n
+0000001547 00000 n
+0000001684 00000 n
+0000001882 00000 n
+0000001989 00000 n
+0000002548 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 10 0 R
+ /Root 9 0 R
+ /Size 14 >>
+startxref
+2600
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-3.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-3.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-3.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,156 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R
+ /F5 6 0 R
+ /F6 7 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F5': class PDFType1Font 
+6 0 obj
+% Font Times-Italic
+<< /BaseFont /Times-Italic
+ /Encoding /WinAnsiEncoding
+ /Name /F5
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F6': class PDFType1Font 
+7 0 obj
+% Font Symbol
+<< /BaseFont /Symbol
+ /Encoding /SymbolEncoding
+ /Name /F6
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+8 0 obj
+% Page dictionary
+<< /Contents 12 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 11 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R9': class PDFCatalog 
+9 0 obj
+% Document Root
+<< /Outlines 13 0 R
+ /PageMode /UseNone
+ /Pages 11 0 R
+ /Type /Catalog >>
+endobj
+% 'R10': class PDFInfo 
+10 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R11': class PDFPages 
+11 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 8 0 R ]
+ /Type /Pages >>
+endobj
+% 'R12': class PDFStream 
+12 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 413 >>
+stream
+Gatn!b>*aF'Lh11r50SMM1sFLkY7!<UPt_1oEPBdqLG5?#CaDK5_4i,9JgU2
+[-+^fD@)FG`6YI&V*UI^8Aa/7 at M-N5i7dt_X7+FQRV?<;[*cO$1MEds_co[b
+-P8q47B'QLGIF at Ol+UcJj02$mIKK+oTPV4)fbA!r&-!ID$?J'O">Ie9=*<9f
+L,m6+;<].iQKJ=3F=`5!A==isPhIjolcmdb*ePZ&.5sYl:g1e07G4P7@\lHS
+>\Osd*Zj3HB7X1qLBMI<W5gc^(80sHQ_sb$$>HNXm^u?`bRK5`h:>@`Tld%/
+910<XPU)98#sG3\9FL3Z3N^Jbm-&E>N-luhLUBHi4WG*s9D)M]raaAh60ash
+^)ZX.JO>d<cF/p8T;ACM<oppCGER^lptdAkLuO0~>endstream
+
+endobj
+% 'R13': class PDFOutlines 
+13 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 14
+0000000000 65535 f
+0000000113 00000 n
+0000000269 00000 n
+0000000434 00000 n
+0000000605 00000 n
+0000000772 00000 n
+0000000941 00000 n
+0000001112 00000 n
+0000001268 00000 n
+0000001547 00000 n
+0000001684 00000 n
+0000001882 00000 n
+0000001989 00000 n
+0000002548 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 10 0 R
+ /Root 9 0 R
+ /Size 14 >>
+startxref
+2600
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-4.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-4.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-4.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,134 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 396 >>
+stream
+GasbWcYA(t&B=0jn*h?7+D,7k=,#'iBliR9YV2)&-IBbejS]Tpa,HD6/@)"[
+qjX#B)eKC'/<]b1_lLgm9d#0TJ8B,^5Oe*ijH:j36`V,jjZq",LnHIm^cO7E
+5t%5E`e at .%%lkM,pGn57lOhhA'DrZPmHM:\p7(HK*WBF,ZW\0SJ.-mJ`*:ue
+jhNOR]M%(=qik_;OY,`BS?ns<+>40]Nhg]ar:CUp)pY]>*3Lk'$]XQ"V$RoJ
+U^=+SQoK4:S).mlN2l_AE'5C%7Ei,r_PJ,YIZUbm&LebDN?&Tm7HhLL%[MdE
+L]^(X3D_]p5`pj)7HQSf6<K7-:h5joKd.'AM)\=BNe:6V+uVgk0lMdN2E!l(
+&Y#GE\.aA>)hp3F"VMU$YQ~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002172 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2224
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-5.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-5.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-5.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,136 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 501 >>
+stream
+GasbXd8#<J'Sc'JG_^?s-F041.4d2[(nHNR7dUS"F"Wlu`SL=cSt8ga1N\;(
+QCmW1s'JNZT_LjaY8b!\0O#YBJc,`$\H_p4O#B^]dKEd]WhIkZ[&@5\h&;52
+5ide6.BetEd=1SR"B`8nQ!D?]A at GWJGEAs#L\7!>Y4`h7HmcgJ;7$KEf]<ki
+2U+NofP at u7/FCZpb-,H?2!$##UW'(]Na"5">A-8JnL0(VAM?s+?&21Rn3'8E
+gB3c,%`U]f6V>lP1kJ]V+iO^Bf,^U3?/`=E!ucm45lr#t&E$*2J4("QUq$2t
+EL$T#a[1]c1au(J,?Y'\aV'\,=TWu:,qg"Y%K8$>rfVk"N>QV/jb[)8Gp:g;
+SqqNR-O.S%$U),V/jt/88s>c;pe?rjIOm?5]XMIXLNbBeVA4C)M7e8MaHKZc
+P<ja>&F?XOZkeXVP at fbe4Iidi(6+*5VVKsVUbA`K;a[Mpq:EM^Iu6L[quQ5d
+!Q+~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002277 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2329
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-6.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-6.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-6.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,138 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 650 >>
+stream
+Gatn$c]6I.&B=1$nd]^l.rB#s*%-j[#6[I^>QDOSmaA5E[&iJFfB;a!lng<a
+$)PeST7;%!)?6Z^K?).3ksXtBD0M9s;g9YT)Fr`oI118k]<:LRp&juJ6&UU4
+2U;F%7*KY4[G:Do6OZ15-^,S1S49+AJMqH(:jA\Yj72g,B6\Y`me-H=$/8`I
+%G4L%37*HZkuBd]*SiBGNon'ukJAE)DE@@FM+^K9hsoo>*5-q'o:`=9Ja>D.
+]l-')p[ii7=3YFFkQ0g*R!.P)!8,S&N<&!EDn8foMNi18mNn.HQ?mClNi\?M
+F/n[t)*MC`e8\tl9)4A&+X;.6ktFQk"[V\cBigDDA]1\nSl"$0fRhk2'\k%2
+i&2_^[g?2]bH2=\E1;r at gOp9r-D]QX+mX#-!SYsk:nk<-PULAN,tbd7M1nee
+DkH(U"UCrp%a7rNp*o^_T7#Kj\/D)^V!fe%8Ma$('%64&TfA#]U6.m73Yg&`
++taNDd?m=lco<Di4=/9je.?6:HdNC:D&>Z.8=IXL)bJauc?a%-3I>:;57eWS
+7+;h?mj)p.>]PKWV[1I4,0hGrMhm`g?.A)"(TXi4fq^)3f&X8=-;XTTf37q-
+ZE2Y(\@q"SaZg--rteX9IfW(\@QO~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002426 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2478
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-7.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-7.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-7.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,136 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 533 >>
+stream
+Gas2H;,;fu&BE["p^[%S94Y`a(.aApMpB9-`RuoK9npq:\h*C;HS$h%R1]d,
+rr)NXH<`aDFJ4-N)H^[?0+j:uh?/X7J6p'eNh`4+6AO\,jFS%^<Ease&&K:D
+gakeQC!IELqMflC^r#kWp,^`cgtdKE5dEP]]2-,n*in`-hO=6qEsiW-Ri3?J
+VR7(`#.Gi/-Fjq>%oVJ?V\54,2To'cMG_r==bmIiq"I]-7pj3t*/&js9Ym][
+rQMcCF3.'`lk!/(#TC$u6adX!V#Y&7G2-/::`oos1DNN(qsAV!&##p+=]P??
+J<:7NBd(Iu#]7[.=TBm>O,.`tQOQ[mo#O3AO+[Q`i*BbN$P9u7&I`=<Obmm/
+\&b:,TA*tPHBq`aeF0*7TH'.iV!NnoN#aWFfJ`<,GoTNL1+X/_ig!e6R5t'0
+>I^@OB*UqOm6p(n2O9(o2grB(3a<#id\'rA?/LJqkX at P0NB%keSOPgDj-.]@
+,F:kEEs\V+e];"&U?J>5ojW-V+ccO%LrJon~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002309 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2361
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-8.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-8.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-8.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,148 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R
+ /F5 6 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F5': class PDFType1Font 
+6 0 obj
+% Font Courier
+<< /BaseFont /Courier
+ /Encoding /WinAnsiEncoding
+ /Name /F5
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+7 0 obj
+% Page dictionary
+<< /Contents 11 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 10 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R8': class PDFCatalog 
+8 0 obj
+% Document Root
+<< /Outlines 12 0 R
+ /PageMode /UseNone
+ /Pages 10 0 R
+ /Type /Catalog >>
+endobj
+% 'R9': class PDFInfo 
+9 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R10': class PDFPages 
+10 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 7 0 R ]
+ /Type /Pages >>
+endobj
+% 'R11': class PDFStream 
+11 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 602 >>
+stream
+GasJPh/8uA&;BS8G_`h?/!Y>`@u++W@^V[t<H#J7(Ea/]djD%0fN*Ftg1.`(
+#`+<3o/SVa0sM=D3KVPt#Pb9,YsL\Wr<OfM$2P-\lT"_W8*Hd<$&'Y"k-r?]
+?T!f?!(>Ck88063H)Wa"-39F at VVn6&6?;`$oJ7cYrTh at ZY1EL(4^[elZ-'^&
+!F9R$=+,>T!IY!8^![\aSppi1P,!hD&WmYA.g[X#<;L=\_T$]Xe$8;/WiK?;
+l`St_\'T:?Hh7$@X2&f=^-p&kD>H7ZMZg&_CNf%DVHb%6N5AMZV,Do.3<qf?
+Mk$*]?C+9OB[&GqNZa[fM4r;ApEeqJeF7\p7j/5[k&8B/?"2RWA2Y,MAZ$ab
+ifo7YL0ICkan6un`\Fgc.RqX-c=Z=b1i4<">UhXYltg&>.MV!D9MWYCQs$g(
+*9Q\pQ).CgKD#t4>/Na8J'-bMFTt"MVU6i&"jNeIeNA.Sc(bNo)>#&@7aG5!
+c'*M%4Lc3PF*l:PCp3,$o;]I2Vrt9Js4kO)_7O!("^591^hbENr;@]9g+iWE
+/5Nn4PlBMM3htBc%c9-qcY7[KhhOM,;*Z+L!gLGO;Z~>endstream
+
+endobj
+% 'R12': class PDFOutlines 
+12 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 13
+0000000000 65535 f
+0000000113 00000 n
+0000000257 00000 n
+0000000422 00000 n
+0000000593 00000 n
+0000000760 00000 n
+0000000929 00000 n
+0000001088 00000 n
+0000001367 00000 n
+0000001503 00000 n
+0000001700 00000 n
+0000001807 00000 n
+0000002555 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 9 0 R
+ /Root 8 0 R
+ /Size 13 >>
+startxref
+2607
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-9.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-9.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-blockTable-9.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,137 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 584 >>
+stream
+Gb"/ccVDA3%*%b$q at 5]T8aG at m8NR5u5VOJ%"iq'fA",;U-?eA at ELj!,7K[9[
+FfMc$^URXFfEd'MjS-6=>77b@!_T\$5a<h':N174kVJ7'7e6\%-&H6!<a_,D
+n.MOu(*UgW(PY?T7QDc&;<8MiS9C!!?\.$#Z8ruWmrl6&Cu#%0%^ST)01`l2
+GAt#?O$$hu0^Y^>bWYR$@o4_DC+r,^9<>lG7irFdZ@[\6'QDdAFqR:H;Cuj*
+YX<+^V#"4Lo9V!bHUdf^I+7d'_+-*U6$LW'J=]gIRL%mH4s4C`+?4sdd3*H4
+TbHre2M0.QK;]C#J3kS:i79+R[iPjcoglm#8&jB-N!UA at l]H^%Ns+6a,iI5u
+j)-^V=m.%h,'4>8&\81,#i,PPoSdhL4]\b7*;Lcq`g;Hq%_eAU/@dTNE.D";
+MHU[AW=-9$o;,Eh:8C0#;N3`"#)u0MkX6?=+uQGO-\XIT;QN`/2.Ka`ctZ"c
+)?m=82'_CQ-I\sARHA\b;le=nCOrg at 7F%bE7N7>.hP[qVgb+'!iq>7$`U.Z4
+jjMF,mHi9Hrd-_Z3;NiW^]F6~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002360 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2412
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-circle.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-circle.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-circle.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,119 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 1056 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+n 340.1575 708.6614 m
+340.1575 739.972 314.7752 765.3543 283.4646 765.3543 c
+252.1539 765.3543 226.7717 739.972 226.7717 708.6614 c
+226.7717 677.3508 252.1539 651.9685 283.4646 651.9685 c
+314.7752 651.9685 340.1575 677.3508 340.1575 708.6614 c
+n
+n 340.1575 566.9291 m
+340.1575 598.2398 314.7752 623.622 283.4646 623.622 c
+252.1539 623.622 226.7717 598.2398 226.7717 566.9291 c
+226.7717 535.6185 252.1539 510.2362 283.4646 510.2362 c
+314.7752 510.2362 340.1575 535.6185 340.1575 566.9291 c
+f*
+n 340.1575 425.1969 m
+340.1575 456.5075 314.7752 481.8898 283.4646 481.8898 c
+252.1539 481.8898 226.7717 456.5075 226.7717 425.1969 c
+226.7717 393.8862 252.1539 368.5039 283.4646 368.5039 c
+314.7752 368.5039 340.1575 393.8862 340.1575 425.1969 c
+S
+n 340.1575 283.4646 m
+340.1575 314.7752 314.7752 340.1575 283.4646 340.1575 c
+252.1539 340.1575 226.7717 314.7752 226.7717 283.4646 c
+226.7717 252.1539 252.1539 226.7717 283.4646 226.7717 c
+314.7752 226.7717 340.1575 252.1539 340.1575 283.4646 c
+B*
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000002241 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+2292
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-curves.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-curves.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-curves.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,98 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 159 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+n 72 72 m 144 144 144 216 72 216 c S
+n 72 144 m 144 216 144 288 72 288 c S
+n 72 216 m 144 288 144 360 72 360 c S
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001343 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1394
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawCenteredString.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawCenteredString.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawCenteredString.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,96 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 96 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 263.538 417.6 Tm (Hello World.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001279 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1330
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawRightString.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawRightString.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawRightString.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,96 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 96 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 231.876 417.6 Tm (Hello World.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001279 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1330
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawString.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawString.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-drawString.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,96 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 94 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 295.2 417.6 Tm (Hello World.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001277 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1328
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-ellipse.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-ellipse.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-ellipse.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,119 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 1053 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+n 425.1969 751.1811 m
+425.1969 774.6641 393.469 793.7008 354.3307 793.7008 c
+315.1924 793.7008 283.4646 774.6641 283.4646 751.1811 c
+283.4646 727.6981 315.1924 708.6614 354.3307 708.6614 c
+393.469 708.6614 425.1969 727.6981 425.1969 751.1811 c
+n
+n 425.1969 609.4488 m
+425.1969 632.9318 393.469 651.9685 354.3307 651.9685 c
+315.1924 651.9685 283.4646 632.9318 283.4646 609.4488 c
+283.4646 585.9658 315.1924 566.9291 354.3307 566.9291 c
+393.469 566.9291 425.1969 585.9658 425.1969 609.4488 c
+f*
+n 340.1575 481.8898 m
+340.1575 513.2004 327.4663 538.5827 311.811 538.5827 c
+296.1557 538.5827 283.4646 513.2004 283.4646 481.8898 c
+283.4646 450.5791 296.1557 425.1969 311.811 425.1969 c
+327.4663 425.1969 340.1575 450.5791 340.1575 481.8898 c
+S
+n 340.1575 325.9843 m
+340.1575 349.4672 327.4663 368.5039 311.811 368.5039 c
+296.1557 368.5039 283.4646 349.4672 283.4646 325.9843 c
+283.4646 302.5013 296.1557 283.4646 311.811 283.4646 c
+327.4663 283.4646 340.1575 302.5013 340.1575 325.9843 c
+B*
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000002238 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+2289
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-fixedSize.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-fixedSize.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-fixedSize.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,136 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 527 >>
+stream
+Gau`OD/7l[&H3`lIsA]P)as4!Nh&EaZtt:Z^PqCfGda,UF0)`HeonfWB/L07
+RPn!2c4[R.0@)e*\g,/+.(m_</euBI![UZ#-l"2\'u$X*i-IAUX_BsfSgJ7o
+V!LB/$oVH98NJ5nWLu4\TrJqc!DPZ"338SQU9fnW57uH.:06>t+8p.@&"iAs
+DXA[I at Y)jOAV3<t_WVSPa6d*`HOOW/YRe:bPlfY/49`\IgH[hu9B4qjB$iI/
+f&;tHCX_hd:4(V322dA7NHR!-92"$jVUZF:\gXu%7HlbtHB573(;D_1MmD#L
+gb&sFhh)m"V\?VcH>OZ)G`0^&lrTU4h)lO`6IFYr\D40-lO.WI$f8m]hZ(+f
+A9i?o!(h@<!*@a$E*]2Ehg$b(-b at edSCskU]1T_'X=&m2n@*p1GUGh at 9X9GZ
+p]!#^Z(/oUP?BLb\Wm%mrA.&9-VR,Fe!W>;LcpJVfOEW#l*1FS`IPYSpG#.B
+Lq?0kDYi8(q>ZB4`(ePs_nf^0(r!<~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002303 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2355
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-grid.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-grid.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-grid.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,109 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 309 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+n
+72 504 m 72 576 l
+144 504 m 144 576 l
+216 504 m 216 576 l
+288 504 m 288 576 l
+360 504 m 360 576 l
+432 504 m 432 576 l
+72 504 m 432 504 l
+72 518.4 m 432 518.4 l
+72 532.8 m 432 532.8 l
+72 547.2 m 432 547.2 l
+72 561.6 m 432 561.6 l
+72 576 m 432 576 l
+S
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001493 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1544
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-illustration.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-illustration.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-illustration.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,136 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 527 >>
+stream
+Gat%_h2]r<&;BR'oc;=h6*0CWdj14j(C2K6EJ)=r5\Sq"aKZo]C:.u at j#0ZE
+/OCk8p at 6@p0B7`$_a3h,lg_6sH:oB3C(JHhL?^9Q=3JSOjatdO7>W3%+ZcVH
+K9A_1mifW:7%BY(Gn@#'GR at 8-HLc:h#HZds61knlcBtN)+)9[nHW!&Ga*K8^
+.4\Bj!M=K&i^3;R%p.m<hR at aDJeZl@3E:K].n8=e2 at HbZI3\OPb6?9*[5%(e
+LS=^tG.ZHn)r5;qO73WD1lU2>?8q(aR+F<D2nZAOo5A0M/=FW_ru'.S#lAS+
+)oe_;"jEpA=W]PS=<WC2MRXBS!r5j7aZaIsmo*dC(mQR;h(E`>(B:k;O*9sr
+s("Klbf`*C<hn4$U%P@$KBKE-/_iPTQX9j[6,PaEelarqk+?LUZsf2u\ZJ\c
+#nf6R_)A*0Ks37FKk.%@;Tsc_kXjE\1;j;sI$:pmn97^qCs&BHj:F(Z20l"6
+SW$\Y\Tb-QqDU[+2:E%F\bH70q:[S~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002303 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2355
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-image-1.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-image-1.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-image-1.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,129 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'FormXob.5b6bc7d162ec057a9a7579a9e03fadfe': class PDFImageXObject 
+3 0 obj
+<< /BitsPerComponent 8
+ /ColorSpace /DeviceRGB
+ /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Height 42
+ /Length 2262
+ /Subtype /Image
+ /Type /XObject
+ /Width 145 >>
+stream
+Gb"/iqed-;*63>W5!g?bO5M8T&c)c]KYDu6-H:_;Z"da\"Obd-(^_=WXT^/\gpCd/as at U``"FdQo#L9aIc[&=B6SNBpU%n]^R:U^bKT>>mlTFaA^1d at 4aQbadA+`Z`7$rBDeqWtIHB$-B.k;*k+^V.k:SEh?N5$:mZXQp%XX0url+9:O$4LfH2"B2iooFAeSd+uUd6*+?X-_1i:QU;Vj@,b2PKf_bEn!tjJ.Y1^]&tDhH:]2(K/u"s7k:=^Z'-M[.WpT`G7]-\Eud^%XtfK<c2ijFn.)2c*(s=gj-DYkCI.IM4^DI6X4B=7t^;Rk3>`8\*fnK=G((/rqYRB_nLu&!_a%bnFcMQ3VgQ'^K\MrMQAHa?9Pj3%ZbLTj at b<(_ae?g0Pc&0YVnX-rC1iJTGd`)J;#pX/A`29;t,B)Je[X5*.o"r/(,&Y8][Zr=bAJa-Wn:c`u8E%C?g=CY]&1Ifbk2&]=Y["S.i6H(D9)<34d<r&74RJ at d+e7,F1&b6A'JGQ4B=PS"#h6R at g)n]YaOAHD(j.BYGf?-G&'giIRJ0rS.PqFaSS,2e-?-pmLR*O[[&%l9I+m6Vnb:$%\&nKfnme"eiar at BnX7X@-q[EHh<`j"p]=<eBk[jOtu?e]p*G7tlB(')#GXAdd4f]7;XIA-dCTqaugL"\QVJ;"f/.pWOfQU`r05hf!>Jg=M[/&D)_^()di1Zpo*TR,&D8*_ZB<8\Cm6Fi`$,QD"k1l.CXoAh'r)DN\rn0bQcQbDWhL9PH%ND/'pj/R[=,7?Hm]8HR]$eiec')G-]W7N-!`pitc;(=U-1UW*"g!"Pg3cg:"7JsVQn9H&ggq`M5D6^YpB%UH=g at nu_.h(33QWEN`p<=HE1:pm:NOMkh?R5pk#HB#9RIn52L$]R+ob4(D'VjiF&^q^kF9)a-a4&mHJFJNsjX<F?mIRt).V8f$qSCHVE=+0,rdF>h?HE!,O>'%Q-UH&K+^oEbbh$p\8/".pI9n>(,B!N=LDKnfq^SR%r];Yn at Xdop-QZc,#(=/&IoM(U/:1([kAp'nCM1&P5j<U*5G2NXG6%hjH52uN[N)0_8V.7pAH`*0M<YDu3Dt3t:F[8()0^S*lK-r'gVWqMm;jMqs8\5BVD,MPoA0E%8%+l_J6'LBL)a<gCmh8GRB1iqVUe3pR9n&L2WlbHUhDY7$=aZ&q+J$EABVaop$81&Ll?2rr-<NWN0Vu^?<q(bsPhV;)Uq>;],dM_$RRU`)b4W+Jb.K7kZ:7J).b;n(,A\\\GZCo&OX[S,-V,^`$>I.T6WRs#/E\Q=E='Np8R&'k<to-$=@F)cFH,3ON/BBFZRs5k:oGTW5nu5-WUN'%.6M"69SPF3VLMocq'YmDP_FiajNPM,0:A.B9UW:k8t#F'+d/9L]WlMSnDlAQ(ki3:ii>]a/[&/nDBp1tgP$ILCQr#N)BKON&6bj)]p:E$m1>W at HgN5f4128U%C$s=WOsuhXJ+Qp9c8B=e'WR-WV#f,10Zj"@[/Aof?(7"o3jhKDu)\1RPLcGa"l)@N[gg@$GQnn9Z16$!_/c1F?HlZfMd1^E7j at L@Z at leHJ`1c$-LVZ_c'<a@`fSmK)A_OMZ$*:?(SMbZbj[i:Yadq<VGWgf$G=_eY[^o87[[U#=Jl_(0S&$PEnS6N%LCb>@ON`,PU4UUs,n`Zn;mM<7PR:C&,sGOE?d$_F7;2.h8,U at 8MWcQrYQaCYZuo)C6=+YS3BL0%IjlNr26`+&*lJbTRJj%V3IYP[unPf8qc.YIK^5FF8t at lAW"Am'd<cKZkUNl>I.ofUOJ+L5p8`k8UHMUD86s>H1]r=/0p`MTONeFR"L=Fpfq)Sml(Coo'Qj7[3^2,bHhESM$5?U`Y1DKRIThe$(O,a)lq>HHa/IrDjOP)T4P;Z4)pB&ntG83QA>,6d#%>\5jOZ;'oOj,fP)"&[bYW+nsoCW0_VT5 at RV%Kn^3JZhd.I;[#(Z+/Me6,p6VP66Id9R]"Cb:AS>^W_'QR=UCUE%8rfMOS0<p;"[elE,/9'aITJNh$^tFJ!ar.dL0J$4^r(#,g"D01"(+Y&3jB^Z`rD[R_gFS_S)C`dT$[c7o[qlj^>To=7lg7OTO%j&Bo([UI7hMkMgH>/Y93ZbZB#RHXoIEiRS?"/I-N%q8;XN6'"L.R'Pghs1oE57VAP;q+l>/(a2F:9EBST(.u-TIj.?0NP*B/\Apc6qo_ci8\9$?_LWuiZp$G:0ldhjTECmA<L at M[#fV^^Ub:lYUIU at d4`^$&M3Q<r~>endstream
+
+endobj
+% 'Page1': class PDFPage 
+4 0 obj
+% Page dictionary
+<< /Contents 8 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 7 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.5b6bc7d162ec057a9a7579a9e03fadfe 3 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R5': class PDFCatalog 
+5 0 obj
+% Document Root
+<< /Outlines 9 0 R
+ /PageMode /UseNone
+ /Pages 7 0 R
+ /Type /Catalog >>
+endobj
+% 'R6': class PDFInfo 
+6 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R7': class PDFPages 
+7 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 4 0 R ]
+ /Type /Pages >>
+endobj
+% 'R8': class PDFStream 
+8 0 obj
+% page stream
+<< /Length 383 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+q
+145 0 0 42 144 720 cm
+/FormXob.5b6bc7d162ec057a9a7579a9e03fadfe Do
+Q
+n 144 720 145 42 re S
+q
+360 0 0 104.2759 144 576 cm
+/FormXob.5b6bc7d162ec057a9a7579a9e03fadfe Do
+Q
+q
+745.7143 0 0 216 144 288 cm
+/FormXob.5b6bc7d162ec057a9a7579a9e03fadfe Do
+Q
+q
+36 0 0 10.42759 144 144 cm
+/FormXob.5b6bc7d162ec057a9a7579a9e03fadfe Do
+Q
+ 
+endstream
+
+endobj
+% 'R9': class PDFOutlines 
+9 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 10
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000415 00000 n
+0000002914 00000 n
+0000003256 00000 n
+0000003390 00000 n
+0000003586 00000 n
+0000003691 00000 n
+0000004174 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 6 0 R
+ /Root 5 0 R
+ /Size 10 >>
+startxref
+4225
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-image.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-image.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-image.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,128 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'FormXob.5b6bc7d162ec057a9a7579a9e03fadfe': class PDFImageXObject 
+3 0 obj
+<< /BitsPerComponent 8
+ /ColorSpace /DeviceRGB
+ /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Height 42
+ /Length 2262
+ /Subtype /Image
+ /Type /XObject
+ /Width 145 >>
+stream
+Gb"/iqed-;*63>W5!g?bO5M8T&c)c]KYDu6-H:_;Z"da\"Obd-(^_=WXT^/\gpCd/as at U``"FdQo#L9aIc[&=B6SNBpU%n]^R:U^bKT>>mlTFaA^1d at 4aQbadA+`Z`7$rBDeqWtIHB$-B.k;*k+^V.k:SEh?N5$:mZXQp%XX0url+9:O$4LfH2"B2iooFAeSd+uUd6*+?X-_1i:QU;Vj@,b2PKf_bEn!tjJ.Y1^]&tDhH:]2(K/u"s7k:=^Z'-M[.WpT`G7]-\Eud^%XtfK<c2ijFn.)2c*(s=gj-DYkCI.IM4^DI6X4B=7t^;Rk3>`8\*fnK=G((/rqYRB_nLu&!_a%bnFcMQ3VgQ'^K\MrMQAHa?9Pj3%ZbLTj at b<(_ae?g0Pc&0YVnX-rC1iJTGd`)J;#pX/A`29;t,B)Je[X5*.o"r/(,&Y8][Zr=bAJa-Wn:c`u8E%C?g=CY]&1Ifbk2&]=Y["S.i6H(D9)<34d<r&74RJ at d+e7,F1&b6A'JGQ4B=PS"#h6R at g)n]YaOAHD(j.BYGf?-G&'giIRJ0rS.PqFaSS,2e-?-pmLR*O[[&%l9I+m6Vnb:$%\&nKfnme"eiar at BnX7X@-q[EHh<`j"p]=<eBk[jOtu?e]p*G7tlB(')#GXAdd4f]7;XIA-dCTqaugL"\QVJ;"f/.pWOfQU`r05hf!>Jg=M[/&D)_^()di1Zpo*TR,&D8*_ZB<8\Cm6Fi`$,QD"k1l.CXoAh'r)DN\rn0bQcQbDWhL9PH%ND/'pj/R[=,7?Hm]8HR]$eiec')G-]W7N-!`pitc;(=U-1UW*"g!"Pg3cg:"7JsVQn9H&ggq`M5D6^YpB%UH=g at nu_.h(33QWEN`p<=HE1:pm:NOMkh?R5pk#HB#9RIn52L$]R+ob4(D'VjiF&^q^kF9)a-a4&mHJFJNsjX<F?mIRt).V8f$qSCHVE=+0,rdF>h?HE!,O>'%Q-UH&K+^oEbbh$p\8/".pI9n>(,B!N=LDKnfq^SR%r];Yn at Xdop-QZc,#(=/&IoM(U/:1([kAp'nCM1&P5j<U*5G2NXG6%hjH52uN[N)0_8V.7pAH`*0M<YDu3Dt3t:F[8()0^S*lK-r'gVWqMm;jMqs8\5BVD,MPoA0E%8%+l_J6'LBL)a<gCmh8GRB1iqVUe3pR9n&L2WlbHUhDY7$=aZ&q+J$EABVaop$81&Ll?2rr-<NWN0Vu^?<q(bsPhV;)Uq>;],dM_$RRU`)b4W+Jb.K7kZ:7J).b;n(,A\\\GZCo&OX[S,-V,^`$>I.T6WRs#/E\Q=E='Np8R&'k<to-$=@F)cFH,3ON/BBFZRs5k:oGTW5nu5-WUN'%.6M"69SPF3VLMocq'YmDP_FiajNPM,0:A.B9UW:k8t#F'+d/9L]WlMSnDlAQ(ki3:ii>]a/[&/nDBp1tgP$ILCQr#N)BKON&6bj)]p:E$m1>W at HgN5f4128U%C$s=WOsuhXJ+Qp9c8B=e'WR-WV#f,10Zj"@[/Aof?(7"o3jhKDu)\1RPLcGa"l)@N[gg@$GQnn9Z16$!_/c1F?HlZfMd1^E7j at L@Z at leHJ`1c$-LVZ_c'<a@`fSmK)A_OMZ$*:?(SMbZbj[i:Yadq<VGWgf$G=_eY[^o87[[U#=Jl_(0S&$PEnS6N%LCb>@ON`,PU4UUs,n`Zn;mM<7PR:C&,sGOE?d$_F7;2.h8,U at 8MWcQrYQaCYZuo)C6=+YS3BL0%IjlNr26`+&*lJbTRJj%V3IYP[unPf8qc.YIK^5FF8t at lAW"Am'd<cKZkUNl>I.ofUOJ+L5p8`k8UHMUD86s>H1]r=/0p`MTONeFR"L=Fpfq)Sml(Coo'Qj7[3^2,bHhESM$5?U`Y1DKRIThe$(O,a)lq>HHa/IrDjOP)T4P;Z4)pB&ntG83QA>,6d#%>\5jOZ;'oOj,fP)"&[bYW+nsoCW0_VT5 at RV%Kn^3JZhd.I;[#(Z+/Me6,p6VP66Id9R]"Cb:AS>^W_'QR=UCUE%8rfMOS0<p;"[elE,/9'aITJNh$^tFJ!ar.dL0J$4^r(#,g"D01"(+Y&3jB^Z`rD[R_gFS_S)C`dT$[c7o[qlj^>To=7lg7OTO%j&Bo([UI7hMkMgH>/Y93ZbZB#RHXoIEiRS?"/I-N%q8;XN6'"L.R'Pghs1oE57VAP;q+l>/(a2F:9EBST(.u-TIj.?0NP*B/\Apc6qo_ci8\9$?_LWuiZp$G:0ldhjTECmA<L at M[#fV^^Ub:lYUIU at d4`^$&M3Q<r~>endstream
+
+endobj
+% 'Page1': class PDFPage 
+4 0 obj
+% Page dictionary
+<< /Contents 8 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 7 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.5b6bc7d162ec057a9a7579a9e03fadfe 3 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R5': class PDFCatalog 
+5 0 obj
+% Document Root
+<< /Outlines 9 0 R
+ /PageMode /UseNone
+ /Pages 7 0 R
+ /Type /Catalog >>
+endobj
+% 'R6': class PDFInfo 
+6 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R7': class PDFPages 
+7 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 4 0 R ]
+ /Type /Pages >>
+endobj
+% 'R8': class PDFStream 
+8 0 obj
+% page stream
+<< /Length 344 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+q
+145 0 0 42 144 720 cm
+/FormXob.5b6bc7d162ec057a9a7579a9e03fadfe Do
+Q
+q
+360 0 0 42 144 576 cm
+/FormXob.5b6bc7d162ec057a9a7579a9e03fadfe Do
+Q
+q
+145 0 0 216 144 288 cm
+/FormXob.5b6bc7d162ec057a9a7579a9e03fadfe Do
+Q
+q
+36 0 0 216 144 144 cm
+/FormXob.5b6bc7d162ec057a9a7579a9e03fadfe Do
+Q
+ 
+endstream
+
+endobj
+% 'R9': class PDFOutlines 
+9 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 10
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000415 00000 n
+0000002914 00000 n
+0000003256 00000 n
+0000003390 00000 n
+0000003586 00000 n
+0000003691 00000 n
+0000004135 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 6 0 R
+ /Root 5 0 R
+ /Size 10 >>
+startxref
+4186
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-imageAndFlowables.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-imageAndFlowables.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-imageAndFlowables.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,160 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'FormXob.052bc2ccfaf5e14ef2f2fed47f1ff0f9': class PDFImageXObject 
+6 0 obj
+<< /BitsPerComponent 8
+ /ColorSpace /DeviceRGB
+ /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Height 86
+ /Length 3441
+ /Mask [ 1
+ 1
+ 1
+ 1
+ 1
+ 1 ]
+ /Subtype /Image
+ /Type /XObject
+ /Width 130 >>
+stream
+Gb"/kc\l$s&BFP1_2Dt)$d:1-71_WG5t""8d$&bf&I]R7/-[n]Ci0j46p]$_"<iAJ+AkPK+^dQ3d#.o2*fP=T(/u'4+Zm=%BD/CfZ`;oPEV<+N41dqfbeEiJFoCU*lDj9][C$6dYQlI_F*$sEYC8T\iGp73lgK<Pc&r,^]Wlq7SO]%?&*dkB7;8pc#'@%.gKhGaJ_,AMooIO[aU7Kbr(V1>a0tHAPLlrJ9CjJP]Q3:qi]L#Fa-T"Ac's+Mn;AA&B6[X-o?:8=&#D:N"#.Sd_Jd&9nAMZ$Rc?Cq]/Y at kGCugmI;S1MEQ=hE#?fu]AM8aaT1Fe#Q@"WD]Ve6J*7aNZ3-FN9]5r]/8)?iJrSUU\&9qs,l-cZ%, at Ga:aj1tI*.E%7]"0q at K7*%X`Af\njiWkC+51"lqO*V0*PI'PBJf1OT02\,Erh63ZEf)S^]!jfHpmVVo1#\nh"B/Yc3VT5AJc=Ij'4BjV:+2kk<HNQmc.&9l_BFJLuek3.Ad))F6:]Za5,D#N8Y=/5er+re/W@^$.6s9Z2?lR&Yg&ub=e2am1b$EC%]6D*Maj'NO^7!+3n3&S;^A.9dq9H6VhO::=>67ig(ZqPk)\b0r:qcXj)4V):BjW1aG9sr[">($q&@&2IVjUXKB`Q6S_#QPVQ<*!=7!gZ)uuaUP>9uEFQc49!Pn$gdSY2"9^dV)^&'O6ZPLEmUUKj=0GrtOFg]EA_)rZ&;rVG*uIo`F7LH(Ktl%Gc6>hI=B"D!/K;VVAbkh_dMaT?"DMF),S/hm>a3)l<UR%IC1E'f?>7K"=C+Ak"]sJfAU=.%EUKQU+N.i;Q//H.6[FEoi_BsN%kVaghJClIbg7+J<T=!_VUr+X)=m/T+^*S<k:Te:9;Ar'52'u/<95_^d?#Cm(3a^).k<+u>B.Che#fJj1ZLr,IdH\qC])p?cEfgQim'seq:@jhddafm at 3jBfh:gMK;$:u_Tu`Ef5+:,^BULR&2*)B/@nCjXR21K+<SWuHTFlLt'<kA]iR!TA,d'<J@\QP+[-ZLpcb;?E/.b*;EG)_(p'X^[cm)$98at<>c_NWo*aNDp9X1"d!$,2'E=2JJn8C4$[G>uV at nc,FbWK.kk;5bN[lL.ac+H'4?u]gpgIb!9C[Nt'diDUboZDk3Q6bqekZfLKir0p'T.OkEb0"GQhe^7P5tiPEKg9`>*6*8=eoGBkm.`S8P!!VW:p8uuM*7C(XQ669?@q5$Q4JD5R:NNg&#\*=Lcs_Ys-4ti8M=plM2=X[jDgXP`d5!5=A/'/D7IZWLoh%R/5#uJD-R#!Ct4c/.JK\;hPKdHbZ*&omX+;2N/bA=BSmAO_!:.d7kKp`k(#fe%"%)Bc>TQpKJ^XW)gN/-g9n9KpU)/\f1$QU>slYX%2rG"CReW\5cHb`#!.+i12ka"f!N[]nrqE:aVl<oHK4,j"jG%?3Cb=u&;9tiK2F>=hB+OEDSh8`2^pdo%QR65*#mk%-#X[",Ofs=\_!N!>3!HV)troQI\?^9^#=7,?QpZadoGqfh>,"Q3`/l#;<4!6LL(3mqm;>D2;<UEjnYmQi$QH[bRr<&=3GIsCCj=<_V0PcDkU$"9l&JPCY+=oLba697H/1ZR`NfcF5&A.joeb.C8.W:i1(h_i6bd_aHnq6=W6t'pT(*AptT.+A40#_3BB$q2USI,_t)1079S[5 at U[D21aYDqc_RZt6(0)FVb>-DSjMNd2a'#ggd(q3&M5_iUbYsb]ja""]dcA\fuB?iiO&!^PLOi35WqkHR'-KR*aWf^n<f,a/dt28BJ.s-PNP4Q9Hm,H`\H<)h5FLD=?mQ at m@J]hlc9gB.u[)TD,CYOcAYMU/3XRdi)LC-/OnZ`!hnh-%<)cui at I6Ok#?>:jJn&Tb3('.eah]JEM[&j5^)dgEdO)BF`>l**+9SmWp06Tn\hjj8O#guco7C$_cFSN8udG_'JXgj(:e9P*nnOK[6iK?kn>.LPi?]flJeri[+^]1DMBV`UbNOnV<q8>1U'HA3WA`_,Z[[YiY\F\l<kE+8Ck)sKqZmfr]6Z\LlFkKB0G5u2n99UGV8r#ViL])`/I_o3?7-POuCd71kl4tc#&87YZ#7&_njIh5>."XWK>CNV82<:lUW2MZ6]R1"(Qr"9LlJ0]N3]b>>DbL9h[9,de1[W?HDg'Ht=lel/IrgDER(cMeqYC#aZQTG"aM>=r:+og:N9?@rW_D09;hA-aAd$\gEY138bbi'P at 0Q6YOP7nqSA49.ffNT8-`cPF!35;&.X&;Js0qoSkiQG5a9P8WsU9K*A$nP[U&kMU"o>YqIs9[^M%D9[uVM0$DR/kl(\cZXB55OdZGEad#;2dKHA#SogbAU\HC\3:Ss4hN7P.K,`5-`og&N[dDq)aI.f at Q[uXZq(#J"84k7RM9GI6Eu=ob5#K["qZi86D#mOt?F/UJLHEq at EFtnV[YYJGC0N2k#UGs_O)`e)0)d_`U4<:#BZoVfh*cco3&^>XC>$l0:NDf3PVCPLkT+K[Gj[;*Mi.`B:<?a;%!=r>GfhIC(l at kjVkHl1:7`XP[)fE9FEV_$!\TETGUITa(dFf,"t3A+]Y"B=CIq/8;/4FH0h2\_-'@F`\hoa*j-]Y^3`L_r8h1=p=Yqo:=<sJP;IO&iQ+08d-CNG$>/;_DBHiBuE=[u4d*$B&Ie"+Raq&W57a\Ba#YK`!"66+NaMM5$&r>Bgbs;^cVM_sYUWoa3HQEjJX@)NI.r?q0!VETqhE at j3RfpT"pBK,="rZ_6UM,J9AsiZ&.PVuI"=kH,W`(^\H^L/0Pl;f($GEt/HKdKa-Z[#mb4Qck:NdTka at p4=AMKW!n2kO%iX4a+%PsVJqh'Mg+P*jW\U+Mhj#iUt8&bn)#YWO)\+6#NT0,TqCkQIFZS_tQfq9j]iEWVSG/#.HH;1Ks+:^BgHYq798DlD2M\)Jj:bFB^hgC\o;H:%"`HcWs\CTB1n`h!$E at 9Mgk%VV"54r_tmMGA@":V56%)>K12KnD(SlW7A\OSmlGX,:m0V8WqK![YP?b0[4SD:rC-*s.&GJA78Y!'=J*A3?!5Hnp!m]cU73i^-fm[`,^NS554-[-=Z5\`Bk;o;Z;nQGDC::$=t0T\E-1Y=<p'OND5SD5QO=RT)Xadnf/*:3%Q::607\6%\h>kP3K%I"HS5IogSDcLLBO3hleVhS at CWc(mO8<;,DEi0!5GO>7RPopn9ZYXJ#O"H at C(tsj/.PI+-Y"pJ@=gj.uGFR3Z+[*^=BVXt$Cc*W1/+-B5+alZI1hBZo-/BldS`68Ql\;k-:(?g%7u7$pCe%rKe94K)B.N>\f_[4(&VtcnFh/?.eBk5GO<,P\GA;#]]3$>VTQBYBGrpH')5Y:[OJ_i^9Kd5i5KbtHR>X\kU)%s5S\FmonqYG2qrh)*9t?/cqb!YMa/8Ub at .B+9K".)ZAlu_*NdqGMqYu*b<qL`8"8iHr`IR=~>endstream
+
+endobj
+% 'Page1': class PDFPage 
+7 0 obj
+% Page dictionary
+<< /Contents 11 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 10 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ]
+ /XObject << /FormXob.052bc2ccfaf5e14ef2f2fed47f1ff0f9 6 0 R >> >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R8': class PDFCatalog 
+8 0 obj
+% Document Root
+<< /Outlines 12 0 R
+ /PageMode /UseNone
+ /Pages 10 0 R
+ /Type /Catalog >>
+endobj
+% 'R9': class PDFInfo 
+9 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R10': class PDFPages 
+10 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 7 0 R ]
+ /Type /Pages >>
+endobj
+% 'R11': class PDFStream 
+11 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 590 >>
+stream
+Gb!kp9okbt&A:TVIs=IeW<>;17B.hS[EY\;8k@^;"(Ru*]JX#lrV&/ZcrHA@
+<I:g+!.!GF]_BE$6XU^On%?W[%(d_dj2`KJk_I5Cj&<DBI,Aho#Ye2B+h)-o
+CGXUJ_noVs4sVGJIgBMqQPHqS#>9i8JQo^=p\kW-Dt*$mP]YLla$uW=WM0<s
+rP<o*a8MCg+VQ0iWDtR4]u at VH%0hPogiLGubrhoL=,`QB]K:jUJ^`u,HWaAC
+0XbOgVMF at B326*WEafBLe^G'a4rjQ!BMiO7=<VTRkiO7=;`>.X21Y:'X54Vo
+#h58G';QBq9mXHn?'rdT"/-qhd&WJZ.LS')_n[Z7<diR=/WAMdK^kti7J2EM
+Z*e4Dc\%/T1`e$Xh<^.o[pR\-%jHJFH(IYP, at VffDAO$r,+4[H4Q'NteDK#s
+`.qa>hU1.nN0g<u4]mn;pMO_b4d*2bnf&5^XQqD0e.anBDX)u7#(##kf:RgK
+rV,P#JNG^24I`!*"VkbBYnWYQ_<[3EloB'^_2H[1GQh6X,YI(rb`^NCS"A;k
+.#S#p,5PfUr]N)r?\5p)M!a=@b"JeX~>endstream
+
+endobj
+% 'R12': class PDFOutlines 
+12 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 13
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000958 00000 n
+0000004670 00000 n
+0000005014 00000 n
+0000005150 00000 n
+0000005347 00000 n
+0000005454 00000 n
+0000006190 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 9 0 R
+ /Root 8 0 R
+ /Size 13 >>
+startxref
+6242
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-indent.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-indent.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-indent.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,138 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 655 >>
+stream
+GatU0_2d5''YG[\%s+Ps&n34C at C>B/eY6+0V,ApmoEGQKFlMC?9DSJ=-6O($
+Ld86).%^0Fk.R)mK_?VhSl^0^0UWRcMQ?f7K,E9;I*77sol*/WkVU78VAARV
+g'D`?@GqqLF[7:1K.(:(A[\g'.7i`ELAoUoN1N3Vqi+HU019Z#cX6T.R7A9B
+KT%SS<E.*_A=kUUOOaa8jk#>OEfdcn3tY)td`FTU$,'?BH'GGR#0(\(.Fk<3
+<jaUg4,r/Piih/V<,K?i]/uA at Rg@psmJ=`..J$S\/[mX`#V?rnek6]Lj&N,W
+%I7%4d=Bi,]rR:C6B#1o88`L;-J0E2[7FmTLsdOP9 at Gt]]&fK>Km+<j]@r'b
+Tc^qPSC^m5G6)8U66EQM[PIb\3X6*P6H[JT.:YY)"&!ehq&o9.Q:l1mSq0 at +
+]iTPSEeK:4^c&jCr>3G7GQ>LGAVW"cgbE\pI`PV2?E$(N>P_uMB;!VOJh:ci
+!,bD/5JYfuCK>=XCi='b.kUq:FM6V<;5ikAF[6I9JR#Uo&W`:!`I9UZ7Vrh&
+[;e2[q1fOsaI)T>9#>IYTiY?0S-Iq/SUuRcm4;+AQ=P1+:NDSOp8_;YhDRu3
+`VQmE41\5.;83uAOup6Nc?[6Fn.-CtK#I~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002431 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2483
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-keepInFrame.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-keepInFrame.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-keepInFrame.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,134 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 432 >>
+stream
+Gb!$AgJ5UN&;KXFG_c=EC;R93dR.KV0\XHu)j>]$;RTDu/^c!Bps(LV#\&*)
+8pAb%bj7ROG(0Nf6b%JDia-,b#RCa-6hnl\T&NTX#B.M2fTh1'6=3WuMp_s;
+f:_[I;VFQkLJ75gJpL1\&gFWMgl9P[hX*2m$bTPNek];O8P?B!gptHb;7dPa
+FLo8?.;P9s2]*QK>InH+Nu4_N0m69PBVhOG-U+fHm5f,\08g#d[7jZ&qRqF`
+/1UKa at p7ABEXJ_NQ"a&o'[>nm0.JbJZVE<o3lmqtJgfp%$;PV9lh7?`rEJm@
+ at Sp)(V:c]?F!\DgG^n*+>@QLf2^D1j#ua14@/J]jpK0,P at MN>bLMRSQeK*0V
+Mt]8>8Q(DqH)uKDIaVcfTZ_C?a+uNh0 at drer6)>E^Eh*@H^Yc]4os=fRsk~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002208 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2260
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-lines.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-lines.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-lines.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,100 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 107 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+n
+72 504 m 432 504 l
+72 360 m 432 288 l
+72 216 m 72 72 l
+S
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001291 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1342
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-pageInfo.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-pageInfo.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-pageInfo.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,96 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 288
+ 432 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 90 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 144 216 Tm (Hello World.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000639 00000 n
+0000000773 00000 n
+0000000969 00000 n
+0000001074 00000 n
+0000001263 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1314
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-place.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-place.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-place.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,159 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Length 872 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 28.34646 708.6614 Tm (This is a string drawn using ``drawString``.) Tj T* ET
+3 w
+n 28.34646 481.8898 m 396.8504 481.8898 l 396.8504 651.9685 l 28.34646 651.9685 l h S
+q
+1 0 0 1 28.34646 629.9685 cm
+q
+BT 1 0 0 1 0 4 Tm 22 TL 104.458 0 Td /F2 18 Tf 0 0 0 rg (<) Tj (place) Tj (>) Tj /F3 18 Tf ( Tag Demo) Tj T* -104.458 0 Td ET
+Q
+Q
+q
+1 0 0 1 28.34646 617.9685 cm
+q
+0 0 0 rg
+BT 1 0 0 1 0 2 Tm /F4 10 Tf 12 TL (This is the first paragraph.) Tj T* ET
+Q
+Q
+q
+1 0 0 1 28.34646 609.4646 cm
+Q
+q
+1 0 0 1 28.34646 573.4646 cm
+0 0 0 rg
+BT /F4 10 Tf 12 TL ET
+BT 1 0 0 1 6 23 Tm (This) Tj T* ET
+BT 1 0 0 1 35.78 23 Tm (is) Tj T* ET
+BT 1 0 0 1 6 5 Tm (a) Tj T* ET
+BT 1 0 0 1 35.78 5 Tm (blockTable.) Tj T* ET
+q
+Q
+Q
+BT 1 0 0 1 28.34646 425.1969 Tm (This is a string drawn using ``drawString``.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002604 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2656
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-pluginFlowable.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-pluginFlowable.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-pluginFlowable.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,133 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 315 >>
+stream
+Garo;0i,\@&;BjLq%%C#80gB/g*.\pMIp<`otoo.2[W/dlFJJCHYbX?:]R&7
+QJUH2qb5ok.-5<$V*\;s83lQ-ZB.o/=K+F;k8=`2o*+8SK^PXj$+bA7p'sF-
+TmJ8Fc[r%NJu&H!U*WUoC9WIDW->J,p/j8%e_65D[-"GQVPgM5LEQkuCHS$1
+VLlD!btn(ipQEf);TKGj>W]b:&\"heLo:8"E;"%-f]jNh4]jPS2mq,k5eBbN
+ST\Am%CCn"jS9UCT+QMeB)KNs-WT_6$.g&r-^8g;@^<E/%(uE.Ir%QFI04cR
+A_$~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002091 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2143
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-pre.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-pre.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-pre.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,144 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R
+ /F5 6 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F5': class PDFType1Font 
+6 0 obj
+% Font Times-Italic
+<< /BaseFont /Times-Italic
+ /Encoding /WinAnsiEncoding
+ /Name /F5
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+7 0 obj
+% Page dictionary
+<< /Contents 11 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 10 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R8': class PDFCatalog 
+8 0 obj
+% Document Root
+<< /Outlines 12 0 R
+ /PageMode /UseNone
+ /Pages 10 0 R
+ /Type /Catalog >>
+endobj
+% 'R9': class PDFInfo 
+9 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R10': class PDFPages 
+10 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 7 0 R ]
+ /Type /Pages >>
+endobj
+% 'R11': class PDFStream 
+11 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 327 >>
+stream
+Garo;5u,<O&4Q>UEehE/A<;U1`_!M at Z9XKdM^%ru(/7H%7O`$s3'Oe:5SLqC
+g",rET/Qo3K#7?;iPC&r"HkH#ONJ9]1S.:/]Vc')l+4f:8Z*&$=$b^b:>S9/
+?UVHGE`'?BffDn8._V_c1$laK%Enk>1c1Oh'eWhM7jWemHTX2l+$Rn#mUi&^
+l6Yd#RoFmC8^BkWNRnL_juDM*4i8>%rPoe<,`a.q\EepqNaoE7fR/]V0Y+E(
+6Mq at o.*DUug0 at ctlsS:Q6<N4_T(f/'Kq';;I<)17e2/M'lPXeKrPI-uXg1B\
+jtj2#!7Kp9&uU(X~>endstream
+
+endobj
+% 'R12': class PDFOutlines 
+12 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 13
+0000000000 65535 f
+0000000113 00000 n
+0000000257 00000 n
+0000000422 00000 n
+0000000593 00000 n
+0000000760 00000 n
+0000000929 00000 n
+0000001098 00000 n
+0000001377 00000 n
+0000001513 00000 n
+0000001710 00000 n
+0000001817 00000 n
+0000002290 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 9 0 R
+ /Root 8 0 R
+ /Size 13 >>
+startxref
+2342
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-pto.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-pto.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-pto.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,137 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 569 >>
+stream
+Gb"/d?#/1K'Sc&Yq%)rMZ9f:S>DCO`Z/o`6./4$89B=U?YqoV?g4*I4DJIn%
+8a-Ho(2Rf\oBPO"0Cgh"%2XrK`>W)>9P4cm,KmnKOiW"0HSurD*fnsE1bhNH
+&*c+n<j;H at 6,!Qdh'/^E;,i=mC`.860[o-ZnS2*lI//`f(FC).pOfgIRa/jB
+Ee;N<nBJ*4G]n\f#<=lGMg.Hqj)W>Oh<Y_"mjP(i#tAEmO`rRQ#F,$([OgaZ
+/Zr:P)XYNrMYm\8?$l?>lVY$&>d\[5>N2R(lc-bA9A&%3"u\"\$]d=Z_n<6i
+LHf3n at oofZgG5?'Vt9sKP<6n4D,E_gK(g@)X*FTGL\suk&?_3BRdtAra<>l:
+X>`SDS1()lDTd\k6hG%pD[PZr(b40Ub;eTNoOqBG$;86s60Ta\9W%Us4kPG,
+6cTHUfTa[i%Z at ph7<R]g#HURRWb]FV-U$6UbmlKHc9=mD$>g36`pg[16k>`Q
+e5/4+WPtkIn9\m<GO4$dU/\^b8hiA?55&E4]6!d1qh.]Nj[/FB:Im?Vra5OV
+*o-mk8t;a~>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002345 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2397
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-rectange.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-rectange.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-rectange.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,118 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 768 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+n 226.7717 566.9291 141.7323 85.03937 re S
+n 255.1181 425.1969 m
+340.1575 425.1969 l
+355.8274 425.1969 368.5039 437.8734 368.5039 453.5433 c
+368.5039 481.8898 l
+368.5039 497.5597 355.8274 510.2362 340.1575 510.2362 c
+255.1181 510.2362 l
+239.4482 510.2362 226.7717 497.5597 226.7717 481.8898 c
+226.7717 453.5433 l
+226.7717 437.8734 239.4482 425.1969 255.1181 425.1969 c
+h
+S
+n 255.1181 283.4646 m
+340.1575 283.4646 l
+355.8274 283.4646 368.5039 296.1411 368.5039 311.811 c
+368.5039 340.1575 l
+368.5039 355.8274 355.8274 368.5039 340.1575 368.5039 c
+255.1181 368.5039 l
+239.4482 368.5039 226.7717 355.8274 226.7717 340.1575 c
+226.7717 311.811 l
+226.7717 296.1411 239.4482 283.4646 255.1181 283.4646 c
+h
+B*
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001952 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+2003
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-rotate.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-rotate.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-rotate.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,98 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 181 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 295.2 576 Tm (Hello World.) Tj T* ET
+.965926 .258819 -0.258819 .965926 0 0 cm
+BT 1 0 0 1 288 288 Tm (Hello World.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001365 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1416
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-scale.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-scale.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-scale.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,98 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 159 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 295.2 576 Tm (Hello World.) Tj T* ET
+1 0 0 1.5 0 0 cm
+BT 1 0 0 1 295.2 432 Tm (Hello World.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001343 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1394
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-skew.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-skew.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-skew.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,98 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 167 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 295.2 576 Tm (Hello World.) Tj T* ET
+1 .267949 .087489 1 0 0 cm
+BT 1 0 0 1 288 288 Tm (Hello World.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001351 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1402
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-spacer.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-spacer.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-spacer.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,135 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+6 0 obj
+% Page dictionary
+<< /Contents 10 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 9 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R7': class PDFCatalog 
+7 0 obj
+% Document Root
+<< /Outlines 11 0 R
+ /PageMode /UseNone
+ /Pages 9 0 R
+ /Type /Catalog >>
+endobj
+% 'R8': class PDFInfo 
+8 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R9': class PDFPages 
+9 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 6 0 R ]
+ /Type /Pages >>
+endobj
+% 'R10': class PDFStream 
+10 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 435 >>
+stream
+Gat=e;/=$&'SYEJs20-K#-1J"g;+VBCd.5tOI&+b2RXL3l&pkph_0hgAPNg_
+TagafHgd:7K#B5R^3P]>L=r#G:p:C")Q-sbG\>LIcZDL"kpjS#V+r&*Y(@X?
+3-bs*I1_mFnN9sc+=g\m$Bk4V8Q`PloQ1?3NQAIh(]&*"%_p\ChMWU4?K+]/
+.O<Y0*r`P>@%Ul"i6cY^)s3]A;@bfmV]\R at Bg@\\,n8Y<Q,#k(A'o>A9?l3@
+*XFCC>V6MPr(j-1=g%nD at IOOXg(RSKj2'JNE, at 9i'_DugD"=Te%UC8peR%J*
+bVZrRV_>GFc5Z8T;)#,nje`E_m:B_0>IA^g at +?GoDW5prk^"L!`(5JH$%k]M
+G5uPB>KNb$_-F]Nq5tKmj]3j4`B3h`f"\n"bIZL:T+qMj at F&0ae&a8/K>LU~
+>endstream
+
+endobj
+% 'R11': class PDFOutlines 
+11 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 12
+0000000000 65535 f
+0000000113 00000 n
+0000000245 00000 n
+0000000410 00000 n
+0000000581 00000 n
+0000000748 00000 n
+0000000915 00000 n
+0000001193 00000 n
+0000001328 00000 n
+0000001524 00000 n
+0000001630 00000 n
+0000002211 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 8 0 R
+ /Root 7 0 R
+ /Size 12 >>
+startxref
+2263
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-transform.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-transform.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-transform.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,98 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 165 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 295.2 576 Tm (Hello World.) Tj T* ET
+1 .3 -0.2 1.1 10.1 15 cm
+BT 1 0 0 1 288 288 Tm (Hello World.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001349 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1400
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-translate.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-translate.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-translate.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,98 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+3 0 obj
+% Page dictionary
+<< /Contents 7 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 6 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R4': class PDFCatalog 
+4 0 obj
+% Document Root
+<< /Outlines 8 0 R
+ /PageMode /UseNone
+ /Pages 6 0 R
+ /Type /Catalog >>
+endobj
+% 'R5': class PDFInfo 
+5 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R6': class PDFPages 
+6 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 3 0 R ]
+ /Type /Pages >>
+endobj
+% 'R7': class PDFStream 
+7 0 obj
+% page stream
+<< /Length 158 >>
+stream
+1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
+BT 1 0 0 1 295.2 576 Tm (Hello World.) Tj T* ET
+1 0 0 1 72 0 cm
+BT 1 0 0 1 295.2 432 Tm (Hello World.) Tj T* ET
+ 
+endstream
+
+endobj
+% 'R8': class PDFOutlines 
+8 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000113 00000 n
+0000000209 00000 n
+0000000372 00000 n
+0000000649 00000 n
+0000000783 00000 n
+0000000979 00000 n
+0000001084 00000 n
+0000001342 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 5 0 R
+ /Root 4 0 R
+ /Size 9 >>
+startxref
+1393
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/output/tag-xpre.pdf
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/output/tag-xpre.pdf	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/output/tag-xpre.pdf	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,156 @@
+%PDF-1.3
+%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
+% 'BasicFonts': class PDFDictionary 
+1 0 obj
+% The standard fonts dictionary
+<< /F1 2 0 R
+ /F2 3 0 R
+ /F3 4 0 R
+ /F4 5 0 R
+ /F5 6 0 R
+ /F6 7 0 R >>
+endobj
+% 'F1': class PDFType1Font 
+2 0 obj
+% Font Helvetica
+<< /BaseFont /Helvetica
+ /Encoding /WinAnsiEncoding
+ /Name /F1
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F2': class PDFType1Font 
+3 0 obj
+% Font Courier-Bold
+<< /BaseFont /Courier-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F2
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F3': class PDFType1Font 
+4 0 obj
+% Font Times-Bold
+<< /BaseFont /Times-Bold
+ /Encoding /WinAnsiEncoding
+ /Name /F3
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F4': class PDFType1Font 
+5 0 obj
+% Font Times-Roman
+<< /BaseFont /Times-Roman
+ /Encoding /WinAnsiEncoding
+ /Name /F4
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F5': class PDFType1Font 
+6 0 obj
+% Font Times-Italic
+<< /BaseFont /Times-Italic
+ /Encoding /WinAnsiEncoding
+ /Name /F5
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'F6': class PDFType1Font 
+7 0 obj
+% Font Courier
+<< /BaseFont /Courier
+ /Encoding /WinAnsiEncoding
+ /Name /F6
+ /Subtype /Type1
+ /Type /Font >>
+endobj
+% 'Page1': class PDFPage 
+8 0 obj
+% Page dictionary
+<< /Contents 12 0 R
+ /MediaBox [ 0
+ 0
+ 595.2756
+ 841.8898 ]
+ /Parent 11 0 R
+ /Resources << /Font 1 0 R
+ /ProcSet [ /PDF
+ /Text
+ /ImageB
+ /ImageC
+ /ImageI ] >>
+ /Rotate 0
+ /Trans <<  >>
+ /Type /Page >>
+endobj
+% 'R9': class PDFCatalog 
+9 0 obj
+% Document Root
+<< /Outlines 13 0 R
+ /PageMode /UseNone
+ /Pages 11 0 R
+ /Type /Catalog >>
+endobj
+% 'R10': class PDFInfo 
+10 0 obj
+<< /Author (anonymous)
+ /CreationDate (20070312113016)
+ /Producer (ReportLab http://www.reportlab.com)
+ /Subject (unspecified)
+ /Title (untitled) >>
+endobj
+% 'R11': class PDFPages 
+11 0 obj
+% page tree
+<< /Count 1
+ /Kids [ 8 0 R ]
+ /Type /Pages >>
+endobj
+% 'R12': class PDFStream 
+12 0 obj
+% page stream
+<< /Filter [ /ASCII85Decode
+ /FlateDecode ]
+ /Length 407 >>
+stream
+GarnRbAMqd&A07X%s+O;&F>M!TrO>@,":dnXUi*KN<?OaW$+l!^U>kj$,gEV
+c-5U9f*%5i`4S;AgbVXT"GDBo5iOI%Hc?_?SKHH,<k;CB&Q>MaW6-6\)G4=d
+;Op58=\,9t!ngW)U``<91GW/]n8<0[52dM4.GDNuo9l\X<pG8+"HT9*%DdDp
+B1951(\:n!UN'qLlZQ^#C7CE0$ketL)T*Uh"l9>mB336-2bj":T\`aM. at V4j
+QTUDC8qUCHMB';Vm+bn<1L!>D_]i#8Y-r]GVOnFD at VJkqkBV?O at 4*n<;Qi#0
+[V3UaZ%B-ELI9XgkQfk:"d`Tnl;DsiL^r0ep%GWC at .hZ331E.Aq>V;FI,EQ'
+jn4Si`K2kM3--rG1ZS61*aTOck7<^rVF^~>endstream
+
+endobj
+% 'R13': class PDFOutlines 
+13 0 obj
+<< /Count 0
+ /Type /Outlines >>
+endobj
+xref
+0 14
+0000000000 65535 f
+0000000113 00000 n
+0000000269 00000 n
+0000000434 00000 n
+0000000605 00000 n
+0000000772 00000 n
+0000000941 00000 n
+0000001112 00000 n
+0000001271 00000 n
+0000001550 00000 n
+0000001687 00000 n
+0000001885 00000 n
+0000001992 00000 n
+0000002545 00000 n
+trailer
+<< /ID 
+ % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
+ [(\323k\351\027q\347\032m\244\273\307\306\356\317\305^) (\323k\351\027q\347\032m\244\273\307\306\356\317\305^)] 
+
+ /Info 10 0 R
+ /Root 9 0 R
+ /Size 14 >>
+startxref
+2597
+%%EOF

Added: z3c.rml/trunk/src/z3c/rml/tests/test_rml.py
===================================================================
--- z3c.rml/trunk/src/z3c/rml/tests/test_rml.py	2007-03-12 15:29:55 UTC (rev 73147)
+++ z3c.rml/trunk/src/z3c/rml/tests/test_rml.py	2007-03-12 15:31:54 UTC (rev 73148)
@@ -0,0 +1,61 @@
+##############################################################################
+#
+# Copyright (c) 2002 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTLAR PURPOSE.
+#
+##############################################################################
+"""Testing all XML Locale functionality.
+
+$Id$
+"""
+import os
+import unittest
+import z3c.rml.tests
+from z3c.rml import rml2pdf, attr
+
+class RMLRenderingTestCase(unittest.TestCase):
+
+    def __init__(self, inPath, outPath):
+        self._inPath = inPath
+        self._outPath = outPath
+        unittest.TestCase.__init__(self)
+
+    def setUp(self):
+        # Switch file opener for Image attibute
+        self._imageOpen = attr.Image.open
+        def testOpen(img, filename):
+            path = os.path.join(os.path.dirname(self._inPath), filename)
+            return open(path)
+        attr.Image.open = testOpen
+
+    def tearDown(self):
+        attr.Image.open = self._imageOpen
+
+    def runTest(self):
+        rml2pdf.go(self._inPath, self._outPath)
+
+
+def test_suite():
+   suite = unittest.TestSuite()
+   inputDir = os.path.join(os.path.dirname(z3c.rml.tests.__file__), 'input')
+   outputDir = os.path.join(os.path.dirname(z3c.rml.tests.__file__), 'output')
+   for filename in os.listdir(inputDir):
+       if not filename.endswith(".rml"):
+           continue
+       inPath = os.path.join(inputDir, filename)
+       outPath = os.path.join(outputDir, filename[:-4] + '.pdf')
+       # Create new type, so that we can get test matching
+       TestCase = type(filename[:-4].title(), (RMLRenderingTestCase,), {})
+       case = TestCase(inPath, outPath)
+       suite.addTest(case)
+   return suite
+
+if __name__ == '__main__':
+    unittest.main(defaultTest='test_suite')


Property changes on: z3c.rml/trunk/src/z3c/rml/tests/test_rml.py
___________________________________________________________________
Name: svn:keywords
   + Id



More information about the Checkins mailing list