=""
O
=== Added File Products/ParsedXML/dtml/documentAdd.dtml ===
A Parsed XML document can contain any well-formed XML text. You can use a Parsed XML document to hold and manipulate structured data in XML format.
You may create a new Parsed XML document using the form below.
You may also choose to upload an existing html file from your
local computer by clicking the Browse button.
=== Added File Products/ParsedXML/dtml/persEdit.dtml ===
This form is for a persistent proxy node. It would be cleaner to just
include a section specific to the persistent/transient node, but DTML
can be tricky.
You may edit the source for this document using the form below. You
may also upload the source for this document from a local file. Click
the browse button to select a local file to upload.
=== Added File Products/ParsedXML/dtml/transEdit.dtml ===
This form is for a transient proxy node, so some actions aren't
present. It would be cleaner to just include a section specific to
the persistent/transient node, but DTML can be tricky.
You may edit the source for this document using the form below. You
may also upload the source for this document from a local file. Click
the browse button to select a local file to upload.
this is the document
This is a transient proxy of the DOM Document node; unlike subnodes,
the transient Document can't be edited. The persistent Document proxy
can be edited.
The persistent Document can be traversed to at
/manage_editForm
.
From sidnei at x3ng.com.br Fri May 30 11:17:30 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/ParsedXML/NodePath - ElementIdPath.py:1.1 NodePath.py:1.1 README.txt:1.1 RobustPath.py:1.1 __init__.py:1.1
Message-ID: <200305301517.h4UFHUk19357@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/ParsedXML/NodePath
In directory cvs.zope.org:/tmp/cvs-serv19195/ParsedXML/NodePath
Added Files:
ElementIdPath.py NodePath.py README.txt RobustPath.py
__init__.py
Log Message:
Adding products needed for migration of NZO
=== Added File Products/ParsedXML/NodePath/ElementIdPath.py ===
from NodePath import BaseNodePathScheme, registry
class ElementIdPathScheme(BaseNodePathScheme):
def __init__(self, scheme_name=None):
scheme_name = scheme_name or 'element_id'
BaseNodePathScheme.__init__(self, scheme_name)
def resolve_steps(self, top_node, steps):
node = top_node
for step in steps:
if step[0] == 'e':
element_id = int(step[1:])
for child in node.childNodes:
if self.get_element_id(child) == element_id:
node = child
break
else:
# couldn't find node with such element_id
return None
else:
node = node.childNodes.item(int(step))
if node is None:
return None
return node # return node
def create_steps(self, top_node, node):
steps = []
while node is not top_node:
parent = node.parentNode
if parent is None:
break
element_id = self.get_element_id(node)
if element_id != -1:
steps.append("e%s" % element_id)
else:
steps.append(str(parent.childNodes.index(node)))
node = parent
steps.reverse()
return steps
def get_element_id(self, node):
return getattr(node, 'elementId', -1)
=== Added File Products/ParsedXML/NodePath/NodePath.py ===
import string
class NodePathError(Exception):
pass
class NodePathSchemeRegistry:
def __init__(self):
self._schemes = {}
def register_scheme(self, scheme):
self._schemes[scheme._scheme_name] = scheme
def resolve_steps(self, top_node, steps, scheme_name):
"""Resolve steps from top_node.
"""
# if we don't know scheme, return None as node could not be found
if not self._schemes.has_key(scheme_name):
raise NodePathError, "Unknown scheme: %s" % scheme_name
# we do know the scheme, so look it up
scheme = self._schemes[scheme_name]
# now resolve steps using this scheme
return scheme.resolve_steps(top_node, steps)
def resolve_path(self, top_node, path):
"""Resolve path.
"""
if not path:
return top_node
steps = string.split(path, ',')
# get scheme as first element of path
scheme_name, steps = steps[0], steps[1:]
# resolve steps using scheme
return self.resolve_steps(top_node, steps, scheme_name)
def create_steps(self, top_node, node, scheme_name):
"""Construct steps tuple to node.
"""
return self._schemes[scheme_name].create_steps(top_node, node)
def create_path(self, top_node, node, scheme_name):
"""Construct path to node according to scheme_name.
"""
steps = self.create_steps(top_node, node, scheme_name)
if not steps:
return ''
return '%s,%s' % (scheme_name, string.join(steps, ','))
class BaseNodePathScheme:
def __init__(self, scheme_name):
self._scheme_name = scheme_name
def resolve_steps(self, top_node, steps):
"""Resolve path from top_node, return node found or None.
Steps are in order top_node to node.
"""
pass
def create_steps(self, top_node, node):
"""Return list of steps from top_node to node.
Steps returned are in reverse order.
"""
pass
class ChildNodePathScheme(BaseNodePathScheme):
def __init__(self):
BaseNodePathScheme.__init__(self, 'child')
def resolve_steps(self, top_node, steps):
node = top_node
for step in steps:
node = node.childNodes.item(int(step))
if node is None:
return None
return node # return node
def create_steps(self, top_node, node):
steps = []
# FIXME: is it safe to compare nodes like this?
while node is not top_node:
parent = node.parentNode
if parent is None:
break
# FIXME: can index() be used in all python DOMs?
steps.append(str(parent.childNodes.index(node)))
node = parent
steps.reverse()
return steps
# create the registry
registry = NodePathSchemeRegistry()
=== Added File Products/ParsedXML/NodePath/README.txt ===
Everything in this directory, including the tests subdirectory, should work
independently of ParsedXML and with another Python DOM as well. The only
change necessary should be to the DOM loading in the unit tests subdir.
=== Added File Products/ParsedXML/NodePath/RobustPath.py ===
from NodePath import BaseNodePathScheme, NodePathError
import random, string, urllib
import xml.dom
words_amount = 5
class RobustPathScheme(BaseNodePathScheme):
def __init__(self):
BaseNodePathScheme.__init__(self, 'robust')
def resolve_steps(self, top_node, steps):
steps, type_step, context_step = steps[:-2], steps[-2], steps[-1]
rsteps = []
# create element steps
for step in steps:
nodeName, nodeIndex = string.split(step, "*")
rsteps.append(GenericStep(xml.dom.Node.ELEMENT_NODE,
nodeName, int(nodeIndex)))
# now create type and context end steps
context_parts = string.split(context_step, "*")
node_type, nodeIndex = string.split(type_step, "*")
nodeIndex = int(nodeIndex)
if node_type == 'element':
type_rstep = GenericStep(xml.dom.Node.ELEMENT_NODE,
context_parts[0], nodeIndex)
context_rstep = ElementEndStep(int(context_parts[1]),
int(context_parts[2]))
elif node_type == 'text':
type_rstep = GenericStep(xml.dom.Node.TEXT_NODE,
"#text", nodeIndex)
words = []
for i in range(0, len(context_parts), 2):
words.append((urllib.unquote(context_parts[i]),
int(context_parts[i + 1])))
context_rstep = TextEndStep(words)
elif node_type == 'empty':
type_rstep = GenericStep(xml.dom.Node.TEXT_NODE,
"#text", nodeIndex)
context_rstep = EmptyTextEndStep()
elif node_type == 'other':
raise NodePathError, "Cannot handle other path elements yet."
else:
raise NodePathError, "Unknown step type in path: %s" % node_type
rsteps.append(type_rstep)
rsteps.append(context_rstep)
# resolve the steps, starting with step 0
context = Context(0, rsteps)
node, level = rsteps[0].resolve(context, top_node, 0)
return node
def create_steps(self, top_node, node):
# first create last two steps
parent = node.parentNode
steps = self.create_end_steps(parent, node)
node = parent
# now create element steps
while node is not top_node:
parent = node.parentNode
if parent is None:
break
steps.append(self.create_element_step(parent, node))
node = parent
steps.reverse()
return steps
def create_end_steps(self, parent, node):
nodeType = node.nodeType
if nodeType == node.ELEMENT_NODE:
return ['%s*%s*%s' % (node.nodeName,
len(node.attributes),
len(node.childNodes)),
'element*%s' % parent.childNodes.index(node) ]
elif nodeType == node.TEXT_NODE:
if string.strip(node.data) == '':
return ['empty',
'empty*%s' % parent.childNodes.index(node)]
else:
return [string.join(get_words_sample(node.data), "*"),
'text*%s' % parent.childNodes.index(node)]
else:
# FIXME: simplistic way to deal with other nodes
return ['%s' % node.nodeType,
'other*%s' % parent.childNodes.index(node)]
def create_element_step(self, parent, node):
return "%s*%s" % (node.nodeName, parent.childNodes.index(node))
class Context:
threshold = 30
success_threshold = 10
offset_unreliability = 3
tree_skip_unreliability = 3
step_skip_unreliability = 3
word_max_distance = 7
word_offset_unreliability = 2
def __init__(self, i, steps):
self._i = i
self._steps = steps
def resolve_next(self, node, level):
steps = self._steps
i = self._i + 1
if i < len(steps):
# prepare new context for next step
context = Context(i, steps)
# resolve the next step
return steps[i].resolve(context, node, level)
else:
return node, level
class GenericStep:
def __init__(self, nodeType, nodeName, index):
self._nodeType = nodeType
self._nodeName = nodeName
self._index = index
def resolve(self, context, node, level):
nodeType = self._nodeType
nodeName = self._nodeName
i = self._index
childNodes = node.childNodes
l = len(childNodes)
results = []
# try if the indicate node is the one, if so, return it
if i < l:
current = childNodes[i]
if (current.nodeType == nodeType and
current.nodeName == nodeName):
current_node, current_unreliability = context.resolve_next(
current, level)
if current_unreliability < context.success_threshold:
return current_node, current_unreliability
results.append((current_node, current_unreliability))
# we need to go forward and backward from position i
forward_i = i + 1
backward_i = i - 1
can_go_forward = can_go_backward = 1
else:
# i is beyond length, so we need to go backward from end
backward_i = l - 1
forward_i = l
can_go_forward = 0
can_go_backward = 1
# try nodes forward and backward of this one
unreliability = level + context.offset_unreliability
while ((can_go_forward or can_go_backward) and
unreliability < context.threshold):
if forward_i < l:
current = childNodes[forward_i]
if (current.nodeType == nodeType and
current.nodeName == nodeName):
current_node, current_unreliability = context.resolve_next(
current, unreliability)
if current_unreliability < context.success_threshold:
return current_node, current_unreliability
results.append((current_node, current_unreliability))
forward_i = forward_i + 1
else:
can_go_forward = 0
if backward_i >= 0:
current = childNodes[backward_i]
if (current.nodeType == nodeType and
current.nodeName == nodeName):
current_node, current_unreliability = context.resolve_next(
current, unreliability)
if current_unreliability < context.success_threshold:
return current_node, current_unreliability
results.append((current_node, current_unreliability))
backward_i = backward_i - 1
else:
can_go_backward = 0
unreliability = unreliability + context.offset_unreliability
# try skipping level in the tree
unreliability = level + context.tree_skip_unreliability
if unreliability < context.threshold:
for current in childNodes:
# use same step but with next nodes
current_node, current_unreliability = self.resolve(
context, current, unreliability)
if current_unreliability < context.success_threshold:
return current_node, current_unreliability
results.append((current_node, current_unreliability))
# try skipping this step
# use same node but with next step
unreliability = level + context.step_skip_unreliability
if unreliability < context.threshold:
current_node, current_unreliability = context.resolve_next(
node, unreliability)
if current_unreliability < context.success_threshold:
return current_node, current_unreliability
results.append((current_node, current_unreliability))
# no immediate success, so try the best branch
best_unreliability = context.threshold
best_node = None
for found_node, found_unreliability in results:
if found_unreliability < best_unreliability:
best_unreliability = found_unreliability
best_node = found_node
return best_node, best_unreliability
class ElementEndStep:
"""Not very robust, but representable in a url pretty easily.
"""
def __init__(self, attributeAmount, childAmount):
self._attributeAmount = attributeAmount
self._childAmount = childAmount
def resolve(self, context, node, level):
if node.nodeType != node.ELEMENT_NODE:
return None, context.threshold
if (len(node.attributes) != self._attributeAmount or
len(node.childNodes) != self._childAmount):
return None, context.threshold
return node, level
class EmptyTextEndStep:
def resolve(self, context, node, level):
if node.nodeType != node.TEXT_NODE:
return None, context.threshold
if string.strip(node.data) == "":
return node, level
return None, context.threshold
class TextEndStep:
def __init__(self, words):
self._words = words
def resolve(self, context, node, level):
if node.nodeType != node.TEXT_NODE:
return None, context.threshold
words = string.split(node.data)
if len(words) == 0:
return None, context.threshold
unreliability = level
for word, nr in self._words:
unreliability = unreliability + (
find_word_distance(words, word, nr,
context.word_max_distance) *
context.word_offset_unreliability )
if unreliability >= context.threshold:
return None, context.threshold
return node, unreliability
def find_word_distance(words, word, i, max_distance):
"""Find distance of word in words from expected location i.
If word could not be found or is further than max_distance, return -1.
"""
try:
if words[i] == word:
return 0
except IndexError:
l = len(words)
distance = i - l + 1
forward_i = l
backward_i = l - 1
can_go_forward = 0
can_go_backward = 1
else:
l = len(words)
distance = 1
forward_i = i + 1
backward_i = i - 1
can_go_forward = can_go_backward = 1
while (can_go_forward or can_go_backward) and (distance < max_distance):
if forward_i < l:
if words[forward_i] == word:
return distance
forward_i = forward_i + 1
else:
can_go_forward = 0
if backward_i >= 0:
if words[backward_i] == word:
return distance
backward_i = backward_i - 1
else:
can_go_backward = 0
distance = distance + 1
return max_distance
def get_words_sample(text,
words_amount=words_amount,
quote=urllib.quote):
words = string.split(text)
result = []
if len(words) <= words_amount:
# get all words if there are only a few
for i in range(len(words)):
# don't add any words with separator in it, so as not to confuse
if "*" not in words[i] and "," not in words[i]:
qword = quote(words[i])
result.append(qword + "*" + str(i))
else:
# otherwise, take a random sample of words from the text
nrs = []
l = len(words) - 1
for i in range(words_amount):
while 1:
r = random.randint(0, l)
# if we selected new word from sample, done
# NOTE: would introduce subtle bug if we checked for
# * or , here
if r not in nrs:
break
nrs.append(r)
nrs.sort()
for nr in nrs:
# don't want any word with separator in it
if "*" not in words[nr] and "," not in words[nr]:
qword = quote(words[nr])
result.append(qword + "*" + str(nr))
return result
=== Added File Products/ParsedXML/NodePath/__init__.py ===
import NodePath, RobustPath, ElementIdPath
from NodePath import registry, BaseNodePathScheme
registry.register_scheme(NodePath.ChildNodePathScheme())
registry.register_scheme(RobustPath.RobustPathScheme())
registry.register_scheme(ElementIdPath.ElementIdPathScheme())
From sidnei at x3ng.com.br Fri May 30 11:17:34 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/ParsedXML/tests/xml/conf - README.ParsedXML:1.1
Message-ID: <200305301517.h4UFHYw19535@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/ParsedXML/tests/xml/conf
In directory cvs.zope.org:/tmp/cvs-serv19195/ParsedXML/tests/xml/conf
Added Files:
README.ParsedXML
Log Message:
Adding products needed for migration of NZO
=== Added File Products/ParsedXML/tests/xml/conf/README.ParsedXML ===
These tests are from the Oasis Open conformance suite,
found at .
From sidnei at x3ng.com.br Fri May 30 11:17:34 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/ParsedXML/tests/xml - 4ohn4ktj.xml:1.1
Message-ID: <200305301517.h4UFHYs19528@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/ParsedXML/tests/xml
In directory cvs.zope.org:/tmp/cvs-serv19195/ParsedXML/tests/xml
Added Files:
4ohn4ktj.xml
Log Message:
Adding products needed for migration of NZO
=== Added File Products/ParsedXML/tests/xml/4ohn4ktj.xml ===
01786
2000-03-17
55377
2000-03-15
GJ03405
DAVE 1
2000-03-17
K5211(34)
23
23
SHIPWRIGHT RESTAURANTS LIMITED
125 NORTH SERVICE ROAD W
WESTLAKE ACCESS
NORTH BAY
L8B1O5
ONTARIO
CANADA
ATTN: PAULINE DEGRASSI
1
CS
DM 5309
#1013 12 OZ.MUNICH STEIN
37.72
37.72
6
DZ
ON 6420
PROVINCIAL DINNER FORK
17.98
107.88
72
EA
JR20643
PLASTIC HANDLED STEAK KNIFE
.81
58.32
6
DZ
ON 6410
PROVINCIAL TEASPOONS
12.16
72.96
0
DZ
ON 6411
PROVINCIAL RD BOWL SPOON
6
17.98
0.00
1
EA
DO 3218
34 OZ DUAL DIAL SCALE AM3218
70.00
5.0
66.50
1
CS
DM 195
20 OZ.BEER PUB GLASS
55.90
55.90
399.28
3.50
23.75
29.61
33.84
33.84
486.48
From sidnei at x3ng.com.br Fri May 30 11:17:31 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/ParsedXML/help - Core.py:1.1 ExpatBuilder.py:1.1 ExtraDOM.py:1.1 ManageableDOM.py:1.1 ParsedXML:1.1 ParsedXML.stx:1.1 ParsedXML_DOM.stx:1.1 ParsedXML_Edit.stx:1.1 ParsedXML_Raw.stx:1.1 ParsedXML_Security.stx:1.1 ParsedXML_URLTraversal.stx:1.1 ParsedXML_Upload.stx:1.1 Printer.py:1.1 Traversal.py:1.1 XMLExtended.py:1.1
Message-ID: <200305301517.h4UFHVH19439@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/ParsedXML/help
In directory cvs.zope.org:/tmp/cvs-serv19195/ParsedXML/help
Added Files:
Core.py ExpatBuilder.py ExtraDOM.py ManageableDOM.py ParsedXML
ParsedXML.stx ParsedXML_DOM.stx ParsedXML_Edit.stx
ParsedXML_Raw.stx ParsedXML_Security.stx
ParsedXML_URLTraversal.stx ParsedXML_Upload.stx Printer.py
Traversal.py XMLExtended.py
Log Message:
Adding products needed for migration of NZO
=== Added File Products/ParsedXML/help/Core.py ===
##############################################################################
#
# Zope Public License (ZPL) Version 1.0
# -------------------------------------
#
# Copyright (c) Digital Creations. All rights reserved.
#
# This license has been certified as Open Source(tm).
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions in source code must retain the above copyright
# notice, this list of conditions, and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions, and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# 3. Digital Creations requests that attribution be given to Zope
# in any manner possible. Zope includes a "Powered by Zope"
# button that is installed by default. While it is not a license
# violation to remove this button, it is requested that the
# attribution remain. A significant investment has been put
# into Zope, and this effort will continue if the Zope community
# continues to grow. This is one way to assure that growth.
#
# 4. All advertising materials and documentation mentioning
# features derived from or use of this software must display
# the following acknowledgement:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# In the event that the product being advertised includes an
# intact Zope distribution (with copyright and license included)
# then this clause is waived.
#
# 5. Names associated with Zope or Digital Creations must not be used to
# endorse or promote products derived from this software without
# prior written permission from Digital Creations.
#
# 6. Modified redistributions of any form whatsoever must retain
# the following acknowledgment:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# Intact (re-)distributions of any official Zope release do not
# require an external acknowledgement.
#
# 7. Modifications are encouraged but must be packaged separately as
# patches to official Zope releases. Distributions that do not
# clearly separate the patches from the original work must be clearly
# labeled as unofficial distributions. Modifications which do not
# carry the name Zope may be packaged in any form, as long as they
# conform to all of the clauses above.
#
#
# Disclaimer
#
# THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#
# This software consists of contributions made by Digital Creations and
# many individuals on behalf of Digital Creations. Specific
# attributions are listed in the accompanying credits file.
#
##############################################################################
"""
DOM Level 2 Core classes.
Classes and interfaces are made available according to the Python
language mapping for the IDL interfaces described by the DOM
recommendation; see for
the mapping specification and for the IDL
interfaces.
"""
=== Added File Products/ParsedXML/help/ExpatBuilder.py ===
##############################################################################
#
# Zope Public License (ZPL) Version 1.0
# -------------------------------------
#
# Copyright (c) Digital Creations. All rights reserved.
#
# This license has been certified as Open Source(tm).
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions in source code must retain the above copyright
# notice, this list of conditions, and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions, and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# 3. Digital Creations requests that attribution be given to Zope
# in any manner possible. Zope includes a "Powered by Zope"
# button that is installed by default. While it is not a license
# violation to remove this button, it is requested that the
# attribution remain. A significant investment has been put
# into Zope, and this effort will continue if the Zope community
# continues to grow. This is one way to assure that growth.
#
# 4. All advertising materials and documentation mentioning
# features derived from or use of this software must display
# the following acknowledgement:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# In the event that the product being advertised includes an
# intact Zope distribution (with copyright and license included)
# then this clause is waived.
#
# 5. Names associated with Zope or Digital Creations must not be used to
# endorse or promote products derived from this software without
# prior written permission from Digital Creations.
#
# 6. Modified redistributions of any form whatsoever must retain
# the following acknowledgment:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# Intact (re-)distributions of any official Zope release do not
# require an external acknowledgement.
#
# 7. Modifications are encouraged but must be packaged separately as
# patches to official Zope releases. Distributions that do not
# clearly separate the patches from the original work must be clearly
# labeled as unofficial distributions. Modifications which do not
# carry the name Zope may be packaged in any form, as long as they
# conform to all of the clauses above.
#
#
# Disclaimer
#
# THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#
# This software consists of contributions made by Digital Creations and
# many individuals on behalf of Digital Creations. Specific
# attributions are listed in the accompanying credits file.
#
##############################################################################
"""
XML to DOM building methods using Expat.
"""
def parse(file, namespaces=1):
"""Parse a document, returning the resulting Document node.
'file' may be either a file name or an open file object.
"""
def parseFragment(file, context, namespaces=1):
"""Parse a fragment of a document, given the context from which it was
originally extracted. context should be the parent of the node(s) which
are in the fragment.
'file' may be either a file name or an open file object.
"""
=== Added File Products/ParsedXML/help/ExtraDOM.py ===
##############################################################################
#
# Zope Public License (ZPL) Version 1.0
# -------------------------------------
#
# Copyright (c) Digital Creations. All rights reserved.
#
# This license has been certified as Open Source(tm).
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions in source code must retain the above copyright
# notice, this list of conditions, and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions, and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# 3. Digital Creations requests that attribution be given to Zope
# in any manner possible. Zope includes a "Powered by Zope"
# button that is installed by default. While it is not a license
# violation to remove this button, it is requested that the
# attribution remain. A significant investment has been put
# into Zope, and this effort will continue if the Zope community
# continues to grow. This is one way to assure that growth.
#
# 4. All advertising materials and documentation mentioning
# features derived from or use of this software must display
# the following acknowledgement:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# In the event that the product being advertised includes an
# intact Zope distribution (with copyright and license included)
# then this clause is waived.
#
# 5. Names associated with Zope or Digital Creations must not be used to
# endorse or promote products derived from this software without
# prior written permission from Digital Creations.
#
# 6. Modified redistributions of any form whatsoever must retain
# the following acknowledgment:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# Intact (re-)distributions of any official Zope release do not
# require an external acknowledgement.
#
# 7. Modifications are encouraged but must be packaged separately as
# patches to official Zope releases. Distributions that do not
# clearly separate the patches from the original work must be clearly
# labeled as unofficial distributions. Modifications which do not
# carry the name Zope may be packaged in any form, as long as they
# conform to all of the clauses above.
#
#
# Disclaimer
#
# THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#
# This software consists of contributions made by Digital Creations and
# many individuals on behalf of Digital Creations. Specific
# attributions are listed in the accompanying credits file.
#
##############################################################################
"""
Non-DOM helper functions.
Useful when working with either of our DOM
implementations, but not specific to any instantiation.
"""
def parseFile(node, file, namespaces = 1):
"""
Parse XML file, replace node with the resulting tree,
return replacement.
Node must be in an existing DOM tree if not a Document.
"""
def writeStream(node, stream = None, encoding = None):
"Write the XML representation of node to stream."
=== Added File Products/ParsedXML/help/ManageableDOM.py ===
##############################################################################
#
# Zope Public License (ZPL) Version 1.0
# -------------------------------------
#
# Copyright (c) Digital Creations. All rights reserved.
#
# This license has been certified as Open Source(tm).
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions in source code must retain the above copyright
# notice, this list of conditions, and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions, and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# 3. Digital Creations requests that attribution be given to Zope
# in any manner possible. Zope includes a "Powered by Zope"
# button that is installed by default. While it is not a license
# violation to remove this button, it is requested that the
# attribution remain. A significant investment has been put
# into Zope, and this effort will continue if the Zope community
# continues to grow. This is one way to assure that growth.
#
# 4. All advertising materials and documentation mentioning
# features derived from or use of this software must display
# the following acknowledgement:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# In the event that the product being advertised includes an
# intact Zope distribution (with copyright and license included)
# then this clause is waived.
#
# 5. Names associated with Zope or Digital Creations must not be used to
# endorse or promote products derived from this software without
# prior written permission from Digital Creations.
#
# 6. Modified redistributions of any form whatsoever must retain
# the following acknowledgment:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# Intact (re-)distributions of any official Zope release do not
# require an external acknowledgement.
#
# 7. Modifications are encouraged but must be packaged separately as
# patches to official Zope releases. Distributions that do not
# clearly separate the patches from the original work must be clearly
# labeled as unofficial distributions. Modifications which do not
# carry the name Zope may be packaged in any form, as long as they
# conform to all of the clauses above.
#
#
# Disclaimer
#
# THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#
# This software consists of contributions made by Digital Creations and
# many individuals on behalf of Digital Creations. Specific
# attributions are listed in the accompanying credits file.
#
##############################################################################
"""
DOM proxying classes which provide Zope support.
"""
class DOMPublishable:
"Mixin class for DOM classes to provide Zope publishability."
def tpURL(self):
"""
Return a string used for an URL relative to parent. Used by
the dtml-tree tag.
"""
def tpValues(self):
"Return a list of immediate subobjects. Used by the dtml-tree tag."
def tpId(self):
"Return a value to be used as an id in tree state."
def __getitem__(self, key):
""
def manage_FTPget(self):
"""Returns the source content of an object. For example, the
source text of a Document, or the data of a file."""
class DOMIO:
"Mixin class for DOM classes to provide parsing, writing."
def writeStream(self, stream = None, encoding = None):
"Write the XML representation of this object to stream."
def __str__(self):
"Return the XML representation of this object."
def get_size(self):
"Size of this tree or subtree in bytes."
def index_html(self, REQUEST, RESPONSE):
"Returns publishable raw XML source"
def parseXML(self, file):
"Parse file as XML, replace myself with the resulting tree."
class DOMManageable:
"Mixin class for DOM classes to provide Zope management interfaces."
def manage_edit(self, data, title = '', SUBMIT = 'Change',
dtpref_cols = '50', dtpref_rows = '20', REQUEST = None):
"""
If SUBMIT is a size pref variable, handle a textarea size change.
Otherwise parse the given text and handle the result.
"""
def manage_upload(self, file, REQUEST=None):
"Parse the given file and handle the result."
class ManageableWrapper:
"""
Mixin class to go alongside ManageableNode classes.
Provides the wrapDOMObj function to create ManageableNode classes.
"""
def wrapDOMObj(self, node):
"Return the appropriate manageable class wrapped around the Node."
class ManageableDOMImplementation:
"""
A proxy of a DOMImplementation node that defines createDocument
to return a ManageableDocument.
"""
class ManageableNode:
"A wrapper around a DOM Node."
class ManageableNodeList:
"A wrapper around a DOM NodeList."
class ManageableNamedNodeMap:
"A wrapper around a DOM NamedNodeMap."
class ManageableDocumentFragment:
"A wrapper around a DOM DocumentFragment."
class ManageableElement:
"A wrapper around a DOM Element."
class ManageableCharacterData:
"A wrapper around a DOM CharacterData."
class ManageableCDATASection:
"A wrapper around a DOM CDATASection."
class ManageableText:
"A wrapper around a DOM Text."
class ManageableComment:
"A wrapper around a DOM Comment."
class ManageableProcessingInstruction:
"A wrapper around a DOM ProcessingInstruction."
class ManageableAttr:
"A wrapper around a DOM Attr."
class ManageableDocument:
"A wrapper around a DOM Document."
class ManageableEntityReference:
"A wrapper around a DOM EntityReference."
class ManageableEntity:
"A wrapper around a DOM Entity."
class ManageableNotation:
"A wrapper around a DOM Notation."
class ManageableDocumentType:
"A wrapper around a DOM DocumentType."
=== Added File Products/ParsedXML/help/ParsedXML ===
ParsedXML: Store XML as DOM objects
Description
ParsedXML products are DOM storage objects that support input
and output in XML format, as well as DOM editing and discovery
methods.
=== Added File Products/ParsedXML/help/ParsedXML.stx ===
ParsedXML: Store XML as DOM objects
Description
Parsed XML products are DOM storage objects that support input
and output in XML format, as well as DOM editing and discovery
methods.
Parsed XML nodes are URL addressable, as are the argumentless
DOM methods, and editable as XML.
For more information, see the README file included with the
distribution, or visit the Parsed XML
"wiki":http://www.zope.org/Wikis/DevSite/Projects/ParsedXML.
=== Added File Products/ParsedXML/help/ParsedXML_DOM.stx ===
ParsdXML - DOM: View DOM tree
Description
This view shows the tree of DOM nodes that is rooted at this
node. Clicking on a node will bring you to its management
screen.
At the top of the screen is a clickable "breadcrumbs" style path
with links to ancestors of this node.
=== Added File Products/ParsedXML/help/ParsedXML_Edit.stx ===
ParsedXML - Edit: Edit and Upload XML
Description
This view allows you to alter the tree at a particular node by
either editing the XML source or replacing the XML source with
an uploaded file.
An XML representation of the DOM tree is presented in a
textarea. When the "Change" button is pressed, the XML in the
textarea is parsed.
Alternately, you can select a file from your local computer.
When it is uploaded, it will be parsed.
If the parse succeeds, the node that is being edited will be
replaced with the parsed tree. If the parse fails, you will
be presented with an error message.
Note that because the storage uses DOM objects, rather than
XML strings, the XML output after parsing may not be exactly
the XML input, although it will be functionally the same and
will follow the XML Infoset specification.
The title, content type, and namespace usage are displayed.
These values can be changed if the view is being displayed by
the persistent version of the document, and not a transient
version - currently, navigating to the top node using
ownerDocument DOM calls reaches the persistent document.
The title is the Zope title and does not affect the source.
The content type will be returned by the HTTP server with the
default publishing view index_html; receiving agents can act
on this. A content type ending in "/html" will also cause
index_html to use the HTML format. This doesn't affect the
document content, just the rendering. Differences in HTML and
XML formats are described at the
"HTML Compatibility Guidelines":"http://www.w3.org/TR/xhtml1/#guidelines"
Namespace usage affects which DOM calls are useful and which
names are legal.
=== Added File Products/ParsedXML/help/ParsedXML_Raw.stx ===
ParsedXML - Raw: Download unformatted XML
Description
Clicking on the Raw tab will send the XML source for that node
to your browser, unformatted, with a content-type of
'text/xml'.
This is also the index_html method, so navigating to a node
without a different view will also download the source.
=== Added File Products/ParsedXML/help/ParsedXML_Security.stx ===
ParsedXML - Security: About security settings for Parsed XML
Description
All Parsed XML security is handled by the document. Security
settings for subnodes will be acquired from the document.
The "Access contents information" setting will determine who
can access DOM methods, including the ability to traverse to
subnodes.
=== Added File Products/ParsedXML/help/ParsedXML_URLTraversal.stx ===
ParsedXML - URLTraversal: About URL accessibility of Parsed XML objects
Description
Currently, traversal uses an element's index within its
parent as an URL key. For example,
'http://server/myDoc/0/2/mymethod'
This URL traverses from an XML Document object with id 'myDoc'
to it's first sub-element, to that element's second
sub-element, and then to an acquired method with id 'myMethod'
DOM methods can also be used in URLs, for example,
'http://server/myDoc/firstChild/nextSibling/mymethod'
=== Added File Products/ParsedXML/help/ParsedXML_Upload.stx ===
ParsedXML - Upload: Upload XML
Description
This view allows you to upload XML source at a particular
node. A file can be chosen from your local computer. When it
is uploaded, it will be parsed.
If the parse succeeds, the node that the upload is calle on
will be replaced with the parsed tree. If the parse fails,
you will be presented with an error message.
=== Added File Products/ParsedXML/help/Printer.py ===
##############################################################################
#
# Zope Public License (ZPL) Version 1.0
# -------------------------------------
#
# Copyright (c) Digital Creations. All rights reserved.
#
# This license has been certified as Open Source(tm).
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions in source code must retain the above copyright
# notice, this list of conditions, and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions, and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# 3. Digital Creations requests that attribution be given to Zope
# in any manner possible. Zope includes a "Powered by Zope"
# button that is installed by default. While it is not a license
# violation to remove this button, it is requested that the
# attribution remain. A significant investment has been put
# into Zope, and this effort will continue if the Zope community
# continues to grow. This is one way to assure that growth.
#
# 4. All advertising materials and documentation mentioning
# features derived from or use of this software must display
# the following acknowledgement:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# In the event that the product being advertised includes an
# intact Zope distribution (with copyright and license included)
# then this clause is waived.
#
# 5. Names associated with Zope or Digital Creations must not be used to
# endorse or promote products derived from this software without
# prior written permission from Digital Creations.
#
# 6. Modified redistributions of any form whatsoever must retain
# the following acknowledgment:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# Intact (re-)distributions of any official Zope release do not
# require an external acknowledgement.
#
# 7. Modifications are encouraged but must be packaged separately as
# patches to official Zope releases. Distributions that do not
# clearly separate the patches from the original work must be clearly
# labeled as unofficial distributions. Modifications which do not
# carry the name Zope may be packaged in any form, as long as they
# conform to all of the clauses above.
#
#
# Disclaimer
#
# THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#
# This software consists of contributions made by Digital Creations and
# many individuals on behalf of Digital Creations. Specific
# attributions are listed in the accompanying credits file.
#
##############################################################################
#
# Specifically, most of this code is from PyXML's xml.dom.ext.Printer.
# See LICENSE.Fourthought.
#
"""
Printing and XML generating support for DOM classes.
"""
class Visitor:
"""A class to visit an entire tree according to a TreeWalker."""
def __init__(self, root, stream, encoding,
whatToShow,
filter, entityReferenceExpansion):
"Init the walker."
def visitWhole(self):
"Visit the entire tree rooted at our current node."
class PrintVisitor(Visitor):
"""A class to generate XML for a tree according to a TreeWalker"""
=== Added File Products/ParsedXML/help/Traversal.py ===
##############################################################################
#
# Zope Public License (ZPL) Version 1.0
# -------------------------------------
#
# Copyright (c) Digital Creations. All rights reserved.
#
# This license has been certified as Open Source(tm).
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions in source code must retain the above copyright
# notice, this list of conditions, and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions, and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# 3. Digital Creations requests that attribution be given to Zope
# in any manner possible. Zope includes a "Powered by Zope"
# button that is installed by default. While it is not a license
# violation to remove this button, it is requested that the
# attribution remain. A significant investment has been put
# into Zope, and this effort will continue if the Zope community
# continues to grow. This is one way to assure that growth.
#
# 4. All advertising materials and documentation mentioning
# features derived from or use of this software must display
# the following acknowledgement:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# In the event that the product being advertised includes an
# intact Zope distribution (with copyright and license included)
# then this clause is waived.
#
# 5. Names associated with Zope or Digital Creations must not be used to
# endorse or promote products derived from this software without
# prior written permission from Digital Creations.
#
# 6. Modified redistributions of any form whatsoever must retain
# the following acknowledgment:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# Intact (re-)distributions of any official Zope release do not
# require an external acknowledgement.
#
# 7. Modifications are encouraged but must be packaged separately as
# patches to official Zope releases. Distributions that do not
# clearly separate the patches from the original work must be clearly
# labeled as unofficial distributions. Modifications which do not
# carry the name Zope may be packaged in any form, as long as they
# conform to all of the clauses above.
#
#
# Disclaimer
#
# THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#
# This software consists of contributions made by Digital Creations and
# many individuals on behalf of Digital Creations. Specific
# attributions are listed in the accompanying credits file.
#
##############################################################################
"""
DOM Level 2 Traversal classes.
Classes and interfaces are made available according to the Python
language mapping for the IDL interfaces described by the DOM
recommendation; see for
the mapping specification and for the IDL
interfaces.
"""
=== Added File Products/ParsedXML/help/XMLExtended.py ===
##############################################################################
#
# Zope Public License (ZPL) Version 1.0
# -------------------------------------
#
# Copyright (c) Digital Creations. All rights reserved.
#
# This license has been certified as Open Source(tm).
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions in source code must retain the above copyright
# notice, this list of conditions, and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions, and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# 3. Digital Creations requests that attribution be given to Zope
# in any manner possible. Zope includes a "Powered by Zope"
# button that is installed by default. While it is not a license
# violation to remove this button, it is requested that the
# attribution remain. A significant investment has been put
# into Zope, and this effort will continue if the Zope community
# continues to grow. This is one way to assure that growth.
#
# 4. All advertising materials and documentation mentioning
# features derived from or use of this software must display
# the following acknowledgement:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# In the event that the product being advertised includes an
# intact Zope distribution (with copyright and license included)
# then this clause is waived.
#
# 5. Names associated with Zope or Digital Creations must not be used to
# endorse or promote products derived from this software without
# prior written permission from Digital Creations.
#
# 6. Modified redistributions of any form whatsoever must retain
# the following acknowledgment:
#
# "This product includes software developed by Digital Creations
# for use in the Z Object Publishing Environment
# (http://www.zope.org/)."
#
# Intact (re-)distributions of any official Zope release do not
# require an external acknowledgement.
#
# 7. Modifications are encouraged but must be packaged separately as
# patches to official Zope releases. Distributions that do not
# clearly separate the patches from the original work must be clearly
# labeled as unofficial distributions. Modifications which do not
# carry the name Zope may be packaged in any form, as long as they
# conform to all of the clauses above.
#
#
# Disclaimer
#
# THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
# EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#
# This software consists of contributions made by Digital Creations and
# many individuals on behalf of Digital Creations. Specific
# attributions are listed in the accompanying credits file.
#
##############################################################################
"""
DOM Level 2 Core extended classes.
Classes and interfaces are made available according to the Python
language mapping for the IDL interfaces described by the DOM
recommendation; see for
the mapping specification and for the IDL
interfaces.
"""
From sidnei at x3ng.com.br Fri May 30 11:17:44 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/ParsedXML/www - pxml.gif:1.1
Message-ID: <200305301517.h4UFHih20189@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/ParsedXML/www
In directory cvs.zope.org:/tmp/cvs-serv19195/ParsedXML/www
Added Files:
pxml.gif
Log Message:
Adding products needed for migration of NZO
=== Added File Products/ParsedXML/www/pxml.gif ===
From sidnei at x3ng.com.br Fri May 30 11:17:39 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/ParsedXML/tests/xml/conf/xmltest/sa - 001.xml:1.1 002.xml:1.1 003.xml:1.1 004.xml:1.1 005.xml:1.1 006.xml:1.1 007.xml:1.1 008.xml:1.1 009.xml:1.1 010.xml:1.1 011.xml:1.1 012.xml:1.1 013.xml:1.1 014.xml:1.1 015.xml:1.1 016.xml:1.1 017.xml:1.1 018.xml:1.1 019.xml:1.1 020.xml:1.1 021.xml:1.1 022.xml:1.1 023.xml:1.1 024.xml:1.1 025.xml:1.1 026.xml:1.1 027.xml:1.1 028.xml:1.1 029.xml:1.1 030.xml:1.1 031.xml:1.1 032.xml:1.1 033.xml:1.1 034.xml:1.1 035.xml:1.1 036.xml:1.1 037.xml:1.1 038.xml:1.1 039.xml:1.1 040.xml:1.1 041.xml:1.1 042.xml:1.1 043.xml:1.1 044.xml:1.1 045.xml:1.1 046.xml:1.1 047.xml:1.1 048.xml:1.1 049.xml:1.1 050.xml:1.1 051.xml:1.1 052.xml:1.1 053.xml:1.1 054.xml:1.1 055.xml:1.1 056.xml:1.1 057.xml:1.1 058.xml:1.1 059.xml:1.1 060.xml:1.1 061.xml:1.1 062.xml:1.1 063.xml:1.1 064.xml:1.1 065.xml:1.1 066.xml:1.1 067.xml:1.1 068.xml:1.1 069.xml:1.1 070.xml:1.1 071.xml:1.1 072.xml:1.1 073.xml:1.1 074.xml:1.1 075.xml:1.1 076.xml:1.1 077.xml:1.1 078.!
xml:1.1 079.xml:1.1 080.xml:1.1 081.xml:1.1 082.xml:1.1 083.xml:1.1 084.xml:1.1 085.xml:1.1 086.xml:1.1 087.xml:1.1 088.xml:1.1 089.xml:1.1 090.xml:1.1 091.xml:1.1 092.xml:1.1 093.xml:1.1 094.xml:1.1 095.xml:1.1 096.xml:1.1 097.xml:1.1 098.xml:1.1 099.xml:1.1 100.xml:1.1 101.xml:1.1 102.xml:1.1 103.xml:1.1 104.xml:1.1 105.xml:1.1 106.xml:1.1 107.xml:1.1 108.xml:1.1 109.xml:1.1 110.xml:1.1 111.xml:1.1 112.xml:1.1 113.xml:1.1 114.xml:1.1 115.xml:1.1 116.xml:1.1 117.xml:1.1 118.xml:1.1 119.xml:1.1
Message-ID: <200305301517.h4UFHdv19890@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/ParsedXML/tests/xml/conf/xmltest/sa
In directory cvs.zope.org:/tmp/cvs-serv19195/ParsedXML/tests/xml/conf/xmltest/sa
Added Files:
001.xml 002.xml 003.xml 004.xml 005.xml 006.xml 007.xml
008.xml 009.xml 010.xml 011.xml 012.xml 013.xml 014.xml
015.xml 016.xml 017.xml 018.xml 019.xml 020.xml 021.xml
022.xml 023.xml 024.xml 025.xml 026.xml 027.xml 028.xml
029.xml 030.xml 031.xml 032.xml 033.xml 034.xml 035.xml
036.xml 037.xml 038.xml 039.xml 040.xml 041.xml 042.xml
043.xml 044.xml 045.xml 046.xml 047.xml 048.xml 049.xml
050.xml 051.xml 052.xml 053.xml 054.xml 055.xml 056.xml
057.xml 058.xml 059.xml 060.xml 061.xml 062.xml 063.xml
064.xml 065.xml 066.xml 067.xml 068.xml 069.xml 070.xml
071.xml 072.xml 073.xml 074.xml 075.xml 076.xml 077.xml
078.xml 079.xml 080.xml 081.xml 082.xml 083.xml 084.xml
085.xml 086.xml 087.xml 088.xml 089.xml 090.xml 091.xml
092.xml 093.xml 094.xml 095.xml 096.xml 097.xml 098.xml
099.xml 100.xml 101.xml 102.xml 103.xml 104.xml 105.xml
106.xml 107.xml 108.xml 109.xml 110.xml 111.xml 112.xml
113.xml 114.xml 115.xml 116.xml 117.xml 118.xml 119.xml
Log Message:
Adding products needed for migration of NZO
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/001.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/002.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/003.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/004.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/005.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/006.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/007.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/008.xml ===
]>
&<>"'
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/009.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/010.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/011.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/012.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/013.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/014.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/015.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/016.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/017.xml ===
]>
?>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/018.xml ===
]>
]]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/019.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/020.xml ===
]>
]]]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/021.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/022.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/023.xml ===
]>
&e;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/024.xml ===
">
]>
&e;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/025.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/026.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/027.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/028.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/029.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/030.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/031.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/032.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/033.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/034.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/035.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/036.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/037.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/038.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/039.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/040.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/041.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/042.xml ===
]>
A
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/043.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/044.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/045.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/046.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/047.xml ===
]>
X
Y
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/048.xml ===
]>
]
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/049.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/050.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/051.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/052.xml ===
]>
ð€€ô¿½
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/053.xml ===
">
]>
&e;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/054.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/055.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/056.xml ===
]>
A
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/057.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/058.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/059.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/060.xml ===
]>
X
Y
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/061.xml ===
]>
£
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/062.xml ===
]>
เจมส์
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/063.xml ===
]>
<เจมส์>เจมส์>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/064.xml ===
]>
𐀀
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/065.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/066.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/067.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/068.xml ===
]>
&e;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/069.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/070.xml ===
">
%e;
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/071.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/072.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/073.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/074.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/075.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/076.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/077.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/078.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/079.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/080.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/081.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/082.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/083.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/084.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/085.xml ===
">
]>
&e;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/086.xml ===
">
]>
&e;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/087.xml ===
]>
&e;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/088.xml ===
">
]>
&e;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/089.xml ===
]>
&e;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/090.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/091.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/092.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/093.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/094.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/095.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/096.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/097.xml ===
%e;
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/098.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/099.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/100.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/101.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/102.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/103.xml ===
]>
<doc>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/104.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/105.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/106.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/107.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/108.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/109.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/110.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/111.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/112.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/113.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/114.xml ===
">
]>
&e;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/115.xml ===
]>
&e1;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/116.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/117.xml ===
]>
]
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/118.xml ===
]>
]
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/119.xml ===
]>
From sidnei at x3ng.com.br Fri May 30 11:17:42 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut - 001.xml:1.1 002.xml:1.1 003.xml:1.1 004.xml:1.1 005.xml:1.1 006.xml:1.1 007.xml:1.1 008.xml:1.1 009.xml:1.1 010.xml:1.1 011.xml:1.1 012.xml:1.1 013.xml:1.1 014.xml:1.1 015.xml:1.1 016.xml:1.1 017.xml:1.1 018.xml:1.1 019.xml:1.1 020.xml:1.1 021.xml:1.1 022.xml:1.1 023.xml:1.1 024.xml:1.1 025.xml:1.1 026.xml:1.1 027.xml:1.1 028.xml:1.1 029.xml:1.1 030.xml:1.1 031.xml:1.1 032.xml:1.1 033.xml:1.1 034.xml:1.1 035.xml:1.1 036.xml:1.1 037.xml:1.1 038.xml:1.1 039.xml:1.1 040.xml:1.1 041.xml:1.1 042.xml:1.1 043.xml:1.1 044.xml:1.1 045.xml:1.1 046.xml:1.1 047.xml:1.1 048.xml:1.1 049.xml:1.1 050.xml:1.1 051.xml:1.1 052.xml:1.1 053.xml:1.1 054.xml:1.1 055.xml:1.1 056.xml:1.1 057.xml:1.1 058.xml:1.1 059.xml:1.1 060.xml:1.1 061.xml:1.1 062.xml:1.1 063.xml:1.1 064.xml:1.1 065.xml:1.1 066.xml:1.1 067.xml:1.1 068.xml:1.1 069.xml:1.1 070.xml:1.1 071.xml:1.1 072.xml:1.1 073.xml:1.1 074.xml:1.1 075.xml:1.1 076.xml:1.1!
077.xml:1.1 078.xml:1.1 079.xml:1.1 080.xml:1.1 081.xml:1.1 082.xml:1.1 083.xml:1.1 084.xml:1.1 085.xml:1.1 086.xml:1.1 087.xml:1.1 088.xml:1.1 089.xml:1.1 090.xml:1.1 091.xml:1.1 092.xml:1.1 093.xml:1.1 094.xml:1.1 095.xml:1.1 096.xml:1.1 097.xml:1.1 098.xml:1.1 099.xml:1.1 100.xml:1.1 101.xml:1.1 102.xml:1.1 103.xml:1.1 104.xml:1.1 105.xml:1.1 106.xml:1.1 107.xml:1.1 108.xml:1.1 109.xml:1.1 110.xml:1.1 111.xml:1.1 112.xml:1.1 113.xml:1.1 114.xml:1.1 115.xml:1.1 116.xml:1.1 117.xml:1.1 118.xml:1.1 119.xml:1.1
Message-ID: <200305301517.h4UFHgd20144@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut
In directory cvs.zope.org:/tmp/cvs-serv19195/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut
Added Files:
001.xml 002.xml 003.xml 004.xml 005.xml 006.xml 007.xml
008.xml 009.xml 010.xml 011.xml 012.xml 013.xml 014.xml
015.xml 016.xml 017.xml 018.xml 019.xml 020.xml 021.xml
022.xml 023.xml 024.xml 025.xml 026.xml 027.xml 028.xml
029.xml 030.xml 031.xml 032.xml 033.xml 034.xml 035.xml
036.xml 037.xml 038.xml 039.xml 040.xml 041.xml 042.xml
043.xml 044.xml 045.xml 046.xml 047.xml 048.xml 049.xml
050.xml 051.xml 052.xml 053.xml 054.xml 055.xml 056.xml
057.xml 058.xml 059.xml 060.xml 061.xml 062.xml 063.xml
064.xml 065.xml 066.xml 067.xml 068.xml 069.xml 070.xml
071.xml 072.xml 073.xml 074.xml 075.xml 076.xml 077.xml
078.xml 079.xml 080.xml 081.xml 082.xml 083.xml 084.xml
085.xml 086.xml 087.xml 088.xml 089.xml 090.xml 091.xml
092.xml 093.xml 094.xml 095.xml 096.xml 097.xml 098.xml
099.xml 100.xml 101.xml 102.xml 103.xml 104.xml 105.xml
106.xml 107.xml 108.xml 109.xml 110.xml 111.xml 112.xml
113.xml 114.xml 115.xml 116.xml 117.xml 118.xml 119.xml
Log Message:
Adding products needed for migration of NZO
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/001.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/002.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/003.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/004.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/005.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/006.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/007.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/008.xml ===
&<>"'
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/009.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/010.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/011.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/012.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/013.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/014.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/015.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/016.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/017.xml ===
?>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/018.xml ===
]]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/019.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/020.xml ===
]]]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/021.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/022.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/023.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/024.xml ===
">
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/025.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/026.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/027.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/028.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/029.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/030.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/031.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/032.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/033.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/034.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/035.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/036.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/037.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/038.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/039.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/040.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/041.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/042.xml ===
A
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/043.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/044.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/045.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/046.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/047.xml ===
X
Y
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/048.xml ===
]
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/049.xml ===
£
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/050.xml ===
เจมส์
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/051.xml ===
<เจมส์/>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/052.xml ===
ð€€ô¿½
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/053.xml ===
">
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/054.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/055.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/056.xml ===
A
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/057.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/058.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/059.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/060.xml ===
X
Y
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/061.xml ===
£
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/062.xml ===
เจมส์
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/063.xml ===
<เจมส์/>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/064.xml ===
ð€€ô¿½
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/065.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/066.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/067.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/068.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/069.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/070.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/071.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/072.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/073.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/074.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/075.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/076.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/077.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/078.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/079.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/080.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/081.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/082.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/083.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/084.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/085.xml ===
">
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/086.xml ===
">
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/087.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/088.xml ===
">
]>
<foo>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/089.xml ===
]>
ð€€ô¿½ô¿¿
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/090.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/091.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/092.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/093.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/094.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/095.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/096.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/097.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/098.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/099.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/100.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/101.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/102.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/103.xml ===
<doc>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/104.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/105.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/106.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/107.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/108.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/109.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/110.xml ===
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/111.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/112.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/113.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/114.xml ===
">
]>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/115.xml ===
]>
v
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/116.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/117.xml ===
]>
]
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/118.xml ===
]>
]]
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/ParsedXMLTestOut/119.xml ===
From sidnei at x3ng.com.br Fri May 30 11:17:46 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/PortalBase/oCVS - Entries:1.1 Repository:1.1 Root:1.1
Message-ID: <200305301517.h4UFHkA20265@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/PortalBase/oCVS
In directory cvs.zope.org:/tmp/cvs-serv19195/PortalBase/oCVS
Added Files:
Entries Repository Root
Log Message:
Adding products needed for migration of NZO
=== Added File Products/PortalBase/oCVS/Entries ===
/CHANGES.txt/1.1/Wed Apr 28 16:00:14 1999//
/Documents.py/1.1/Tue May 11 16:22:11 1999//
/MemberFolder.gif/1.1/Wed Apr 28 16:00:15 1999//
/User.gif/1.1/Wed Apr 28 16:00:15 1999//
/ZopeSite.py/1.2/Thu Apr 29 18:05:12 1999//
/__init__.py/1.2/Tue May 11 16:22:11 1999//
/MemberFolder.py/1.5/Mon Jun 28 21:07:56 1999//
D
=== Added File Products/PortalBase/oCVS/Repository ===
/cvs-repository/Packages/Products/PortalBase
=== Added File Products/PortalBase/oCVS/Root ===
:ext:amos@216.164.72.7:/cvs-repository
From sidnei at x3ng.com.br Fri May 30 11:17:47 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/PythonMethod/www - XXXmethodAdd.dtml:1.1 methodAdd.dtml:1.1 methodEdit.dtml:1.1 methodProxy.dtml:1.1 pymethod.gif:1.1 xpymethod.gif:1.1
Message-ID: <200305301517.h4UFHlH20361@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/PythonMethod/www
In directory cvs.zope.org:/tmp/cvs-serv19195/PythonMethod/www
Added Files:
XXXmethodAdd.dtml methodAdd.dtml methodEdit.dtml
methodProxy.dtml pymethod.gif xpymethod.gif
Log Message:
Adding products needed for migration of NZO
=== Added File Products/PythonMethod/www/XXXmethodAdd.dtml ===
Add XXX Python Method
Add XXX Python Method
XXX Python Methods allow you to add functionality to Zope by writing Python
functions which are exposed as callable Zope objects.
Use the form below to add a Python Method. The Parameter list
should be a standard Python parameter list (without the parens), and can
include default values, as well as *tuple and **keyword arguments.
=== Added File Products/PythonMethod/www/methodAdd.dtml ===
Add Python Method
Add Python Method
Python Methods allow you to add functionality to Zope by writing Python
functions which are exposed as callable Zope objects.
Use the form below to add a Python Method. The Parameter list
should be a standard Python parameter list, and can include default
values, as well as *tuple and **keyword arguments.
=== Added File Products/PythonMethod/www/methodEdit.dtml ===
Edit
Edit
=== Added File Products/PythonMethod/www/methodProxy.dtml ===
Edit
Proxy Roles allow a Method to access
restricted Zope resources. Normally a Method
can only access resources for which the user is authorized.
By adding Proxy Roles, you allow the Method
to act with additional roles, beyond what the user may have.
Use the form below to select which roles this Method will have.
=== Added File Products/PythonMethod/www/pymethod.gif ===
=== Added File Products/PythonMethod/www/xpymethod.gif ===
From sidnei at x3ng.com.br Fri May 30 11:17:49 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/PythonMethod/zbytecodehacks/code_gen - Makefile:1.1 __init__.py:1.1 op_execute_methods:1.1 opexfuncread.py:1.1 regen:1.1 write_ops.py:1.1
Message-ID: <200305301517.h4UFHns20473@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/PythonMethod/zbytecodehacks/code_gen
In directory cvs.zope.org:/tmp/cvs-serv19195/PythonMethod/zbytecodehacks/code_gen
Added Files:
Makefile __init__.py op_execute_methods opexfuncread.py regen
write_ops.py
Log Message:
Adding products needed for migration of NZO
=== Added File Products/PythonMethod/zbytecodehacks/code_gen/Makefile ===
clean:
$(RM) *~ *.pyc *.pyo
=== Added File Products/PythonMethod/zbytecodehacks/code_gen/__init__.py ===
__all__=[
'write_ops',
'opexecfuncread']
=== Added File Products/PythonMethod/zbytecodehacks/code_gen/op_execute_methods ===
# -*- python -*-
STOP_CODE:
pass
POP_TOP:
stack.pop()
ROT_TWO:
stack[-2:]=[stack[-1],stack[-2]]
ROT_THREE:
stack[-3:]=[
stack[-1],
stack[-3],
stack[-2]]
DUP_TOP:
stack.append(stack[-1])
UNARY_POSITIVE:
UNARY_NEGATIVE:
UNARY_NOT:
UNARY_CONVERT:
UNARY_INVERT:
stack[-1:]=[self]
BINARY_POWER:
BINARY_MULTIPLY:
BINARY_DIVIDE:
BINARY_MODULO:
BINARY_ADD:
BINARY_SUBTRACT:
BINARY_SUBSCR:
BINARY_LSHIFT:
BINARY_RSHIFT:
BINARY_AND:
BINARY_XOR:
BINARY_OR:
stack[-2:]=[self]
SLICE_0:
stack[-1:]=[self]
SLICE_1:
SLICE_2:
stack[-2:]=[self]
SLICE_3:
stack[-3:]=[self]
STORE_SLICE_0:
del stack[-2:]
STORE_SLICE_1:
STORE_SLICE_2:
del stack[-3:]
STORE_SLICE_3:
del stack[-4:]
DELETE_SLICE_0:
del stack[-1:]
DELETE_SLICE_1:
DELETE_SLICE_2:
del stack[-2:]
DELETE_SLICE_3:
del stack[-3:]
STORE_SUBSCR:
del stack[-3:]
DELETE_SUBSCR:
del stack[-2:]
PRINT_EXPR:
PRINT_ITEM:
stack.pop()
PRINT_NEWLINE:
pass
BREAK_LOOP:
raise "No jumps here!"
LOAD_LOCALS:
stack.append(self)
RETURN_VALUE:
stack[:] = []
EXEC_STMT:
pass
POP_BLOCK:
pass
END_FINALLY:
pass
BUILD_CLASS:
stack[-3:] = [self]
STORE_NAME:
DELETE_NAME:
stack.pop()
UNPACK_TUPLE:
UNPACK_LIST:
stack.append([self] * self.arg)
STORE_ATTR:
DELETE_ATTR:
STORE_GLOBAL:
DELETE_GLOBAL:
stack.pop()
LOAD_CONST:
LOAD_NAME:
stack.append(self)
BUILD_TUPLE:
BUILD_LIST:
if self.arg>0:
stack[-self.arg:]=[self]
else:
stack.append(self)
BUILD_MAP:
stack.append(self)
LOAD_ATTR:
stack[-1] = self
COMPARE_OP:
stack[-2:]=[self] # ????
IMPORT_NAME:
stack.append(self)
IMPORT_FROM:
pass
JUMP_FORWARD:
JUMP_IF_TRUE:
JUMP_IF_FALSE:
JUMP_ABSOLUTE:
raise "jumps not handled here!"
FOR_LOOP:
raise "loop alert"
LOAD_GLOBAL:
stack.append(self)
SETUP_LOOP:
raise "loop alert!"
SETUP_EXCEPT:
SETUP_FINALLY:
pass # ??
LOAD_FAST:
stack.append(self)
STORE_FAST:
DELETE_FAST:
stack.pop()
SET_LINENO:
pass
RAISE_VARARGS:
raise "Exception!"
CALL_FUNCTION:
num_keyword_args=self.arg>>8
num_regular_args=self.arg&0xFF
stack[-2*num_keyword_args-num_regular_args-1:]=[self]
MAKE_FUNCTION:
stack[-self.arg-1:]=[self]
BUILD_SLICE:
stack[-self.arg:]=[self]
=== Added File Products/PythonMethod/zbytecodehacks/code_gen/opexfuncread.py ===
import os,string
file=open(os.path.join(os.path.dirname(__file__ ),'op_execute_methods'),'r')
lines=string.split(file.read(),'\n')[1:]
exec_funcs={}
n=len(lines)
for i in range(n):
if (not lines[i]) or lines[i][0]==' ':
continue
j=i
body=[]
while j$')
def main(file=sys.stdout):
file.write(temphead)
trans=string.maketrans('+','_')
for index in range(len(dis.opname)):
name=string.translate(dis.opname[index],trans)
if notopprog.match(name):
continue
if not idprog.match(name):
name="Opcode_%d"%index
s = "generating %s ..."%name
pad = " " * (30-len(s))
print s,pad,
base="GenericOneByteCode"
if index < dis.HAVE_ARGUMENT:
template = noargtemplate
base="GenericOneByteCode"
elif index in dis.hasjrel:
template = jumptemplate
base="JRel"
elif index in dis.hasjabs:
template = jumptemplate
base="JAbs"
elif index in dis.hasname:
template = argtemplate
base="NameOpcode"
elif index in dis.haslocal:
template = argtemplate
base="LocalOpcode"
else:
template = argtemplate
base="GenericThreeByteCode"
exec_body=opexfuncread.exec_funcs[name]
file.write(template%locals())
print "done"
def Main():
from bytecodehacks import __init__
main(open(os.path.join(os.path.dirname(__init__.__file__),'ops.py'),'w'))
From sidnei at x3ng.com.br Fri May 30 11:17:47 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:11 2008
Subject: [zopeorg-checkins] CVS: Products/PythonMethod - CHANGES.txt:1.1 COPYRIGHT.txt:1.1 Guarded.py:1.1 PythonMethod.py:1.1 README.txt:1.1 __init__.py:1.1 version.txt:1.1
Message-ID: <200305301517.h4UFHl220318@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/PythonMethod
In directory cvs.zope.org:/tmp/cvs-serv19195/PythonMethod
Added Files:
CHANGES.txt COPYRIGHT.txt Guarded.py PythonMethod.py
README.txt __init__.py version.txt
Log Message:
Adding products needed for migration of NZO
=== Added File Products/PythonMethod/CHANGES.txt ===
1999-12-13 Evan Simpson
* Version 0.1.7
* Nested functions and lambdas are now supported, with full safety.
* You can access all of the dtml-var format functions through a builtin
dictionary called special_formats (eg: special_formats['html-quote']).
* Handing off to Digital Creations for inclusion in CVS.
* Packaged with packProduct script, which excludes parent directories
and .pyc files. Makes for a smaller package, and doesn't step on
ownership/permissions of lib/python/Products path elements.
1999-12-01 Evan Simpson
* Added COPYRIGHT.txt, making Wide Open Source licence (BSD-style)
explicit. (Mike Goldman provided the text, I provided the silly name).
* Jeff Rush donated a PrincipiaSearchSource method, so that
PythonMethod objects can be zcataloged to the same degree
as DTML Methods.
* Also from Jeff Rush, a document_src method, so that the source of
PythonMethods can be viewed via a "View Source" link if desired.
* If a PM has a 'traverse_subpath' parameter, you can now directly
traverse it. The elements of the subpath will then be put into a list
in 'traverse_subpath'. (thanks to Anthony Baxter)
1999-11-11 Evan Simpson
* Version 0.1.6
* Fix to builtins messed up DTML Methods, so I re-fixed it.
1999-11-05 Evan Simpson
* Version 0.1.5
* Killed *%#&$@ weird bug in which having 'add' documents in 'www'
subdirectory prevented rename, paste, or import of existing
PythonMethods! See use of '_www'.
* Range, test, and several other Zope 'builtins' had an unbound 'self'
argument unless called on _, but that's fixed.
* Safe multiplication was utterly broken (thanks to the guard); now
it works. Is anyone using the safe version??
1999-10-18 Evan Simpson
* Eliminated bug which delayed stringification of printed values.
1999-10-08 Evan Simpson
* Version 0.1.4
* Fixed mis-design noticed by Michel Pelletier, and refactored
MakeFunction. Now both kinds of Python Method have the bugfix
from 0.1.3, and shouldn't provoke a transaction when called.
1999-10-07 Evan Simpson
* Version 0.1.3
* Fixed parameter bug with 'self' and no defaults
1999-09-24 Evan Simpson
* Version 0.1.2
* Added WebDAV/FTP access code donated by Michel Pelletier
* Made parameters part of WebDAV/FTP text
* Eliminated initialization of globals to None
* Added 'global_exists' global function instead
* Killed bug with unused parameters
* Put switch in Guarded.py to allow both regular and
dangerous (XXX) PythonMethods to live side-by-side.
This means that people who patched version 0.1.1
will have to re-create any unsafe PMs they use (Sorry).
1999-09-10 Evan Simpson
* Version 0.1.1
* Incorporated DT_Util builtins and guards
* Fixed direct access via URL
* Fixed methodAdd.dtml
* rstrip function body
* Major changes to zbytecodehacks
=== Added File Products/PythonMethod/COPYRIGHT.txt ===
This software is released under the following Wide-Open Source licence:
Copyright (c) 1999 Evan Simpson
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the Author nor the names of other contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
=== Added File Products/PythonMethod/Guarded.py ===
from zbytecodehacks.VSExec import SafeBlock, GuardedOps, UntupleFunction
from DocumentTemplate.VSEval import careful_mul
from DocumentTemplate.DT_Util import TemplateDict, test
from DocumentTemplate.DT_Var import special_formats
safefuncs = TemplateDict()
safebin = safefuncs.__class__.__dict__.copy()
for k, v in safebin.items():
if type(v)==type(test):
safebin[k] = getattr(safefuncs, k)
safebin['special_formats'] = special_formats
class Guard:
mul = careful_mul
theGuard = Guard()
class GuardedBlock(SafeBlock):
Mungers = SafeBlock.Mungers + [GuardedOps(theGuard)]
# BEWARE OF THE LEOPARD!
# Set 'do_XXX' true to allow creation of XXXPythonMethods
# and ADD A MASSIVE GAPING SECURITY HOLE to Zope.
# DON'T DO THIS unless you use secure connections for ALL OF
# YOUR ADMINISTRATION or are RECKLESS and/or FEARLESS.
# Even if you DON'T create ANY XXXPythonMethods, just turning this
# on will PUT YOU AT RISK BIGTIME!
do_XXX = 0
if do_XXX:
from zbytecodehacks.VSExec import CodeBlock, Printing
class UnGuardedBlock(CodeBlock):
Mungers = [Printing]
=== Added File Products/PythonMethod/PythonMethod.py ===
"""Python Method Product
This product provides support for internal methods, which allow
safe implementation in a large Python subset.
"""
__version__='$Revision: 1.1 $'[11:-2]
from Globals import MessageDialog, HTMLFile, package_home
import sys, os, traceback, re
from OFS.SimpleItem import pretty_tb, SimpleItem
from DateTime.DateTime import DateTime
from string import join, rstrip, split
import Guarded
class AnObject:
def __init__(self, **kw):
self.__dict__.update(kw)
_www = os.path.join(package_home(globals()), 'www')
manage_addPythonMethodForm=HTMLFile('methodAdd', _www)
def manage_addPythonMethod(self, id, title, params, body, REQUEST=None):
"""Add an internal method to a folder
In addition to the standard Zope object-creation arguments,
'id' and title, the following arguments are defined:
params -- A standard Python parameter list.
body -- The text of the Python function definition.
"""
it = PythonMethod(id, title, params, body)
self._setObject(id, it)
return self.manage_main(self, REQUEST)
class PythonMethod(SimpleItem):
"""Web-callable functions written in a safe subset of Python.
The function may include standard python code, so long as it does
not assign to qualified names ([], .foo, ()), reference names
beginning with an underscore, or attempt to use the "del", "exec",
or "import" statements.
"""
meta_type='Python Method'
_proxy_roles = ()
index_html = None
_params = _body = None
manage_options = (
{'label':'Edit', 'action':'manage_main'},
{'label':'Try It', 'action':''},
{'label':'Proxy', 'action':'manage_proxyForm'},
{'label':'Security', 'action':'manage_access'},
)
__ac_permissions__ = (
('View management screens', ('manage_main',)),
('Change Python Methods', ('manage_edit',)),
('Change proxy roles', ('manage_proxyForm', 'manage_proxy')),
('View', ('__call__','')),
)
def __init__(self, id, title, params, body):
self.id = id
self.manage_edit(title, params, body)
manage = manage_main = HTMLFile('methodEdit', _www)
manage_proxyForm = HTMLFile('methodProxy', _www)
def manage_edit(self, title, params, body, height=None, width=None,
dtpref_cols='50', dtpref_rows='20', REQUEST=None):
"""Change the method
See the description of manage_addPythonMethod for a
description of the arguments 'params' and 'body'.
"""
self._validateProxy(REQUEST)
if height is not None or width is not None:
return self._er(title, params, body, height, width, dtpref_cols,
dtpref_rows, REQUEST)
self.title = title
if type(body) is not type(''):
body = body.read()
if self._params <> params or self._body <> body:
self._params = params
self._body = rstrip(body)
self.makeFunction(1)
if REQUEST:
message = "Content changed."
if self.warnings:
message = ("Warning: %s"
% join(self.warnings, ' '))
return self.manage_main(self, REQUEST, manage_tabs_message=message)
def _er(self, title, params, body, height, width, dtpref_cols,
dtpref_rows, REQUEST):
szch = {'+': 5, '-': -5, None: 0}
try: rows = int(height)
except: rows = max(1, int(dtpref_rows) + szch.get(height, 0))
try: cols = int(width)
except: cols = max(40, int(dtpref_cols) + szch.get(width, 0))
e = (DateTime('GMT') + 365).rfc822()
resp = REQUEST['RESPONSE']
resp.setCookie('dtpref_rows',str(rows),path='/',expires=e)
resp.setCookie('dtpref_cols',str(cols),path='/',expires=e)
return self.manage_main(self, REQUEST, title=title, params=params,
body=body, dtpref_cols=cols, dtpref_rows=rows)
def _checkCBlock(self, MakeBlock):
blk = MakeBlock(self.id, self._params, self._body)
self.errors, self.warnings = blk.errors, blk.warnings
if blk.errors:
if hasattr(self, '_v_f'): del self._v_f
self.func_defaults = ()
self.func_code = AnObject(co_varnames = (), co_argcount=0)
else:
self._t = blk.t
def _newfun(self, compiled, g, **kws):
from Guarded import UntupleFunction
self._v_f = f = apply(UntupleFunction, (self._t, g), kws)
fc = f.func_code
if compiled:
self.func_defaults=f.func_defaults
self.func_code=AnObject(co_varnames=fc.co_varnames,
co_argcount=fc.co_argcount)
fdefs = (f.func_defaults and len(f.func_defaults)) or 0
self._v_selfish = (fc.co_varnames and fc.co_varnames[0]=='self' and
(fc.co_argcount - fdefs - 1))
return f
def makeFunction(self, compile=0):
from Guarded import GuardedBlock, safefuncs, theGuard, safebin
if compile:
self._checkCBlock(GuardedBlock)
if self.errors:
raise "Python Method Error", join(self.errors, '\n')
return self._newfun(compile, {'$guard': theGuard},
__builtins__=safebin, _=safefuncs)
def __call__(self, *args, **kw):
"""Call a Python Method
Calling a Python Method is an actual function invocation.
If:
- The supplied number of arguments is one less than the
required number of arguments, and
- The name of the function's first argument is 'self'.
then the URL parent of the object is supplied as the
first argument.
"""
if hasattr(self, '_v_f'):
f = self._v_f
else: f = self.makeFunction()
__traceback_info__=args, kw, self.func_defaults
try:
return apply(f, args, kw)
except TypeError, v:
tb=sys.exc_traceback
try:
if self._v_selfish == len(args):
return apply(f,(self.aq_parent.this(),)+args,kw)
raise TypeError, v, tb
finally: tb=None
def manage_haveProxy(self,r): return r in self._proxy_roles
def _validateProxy(self, request, roles=None):
if roles is None: roles=self._proxy_roles
if not roles: return
user=u=request.get('AUTHENTICATED_USER',None)
if user is not None:
user=user.hasRole
for r in roles:
if r and not user(None, (r,)):
user=None
break
if user is not None: return
raise 'Forbidden', ('You are not authorized to change %s '
'because you do not have proxy roles.\n'
% (self.id, u, roles))
def manage_proxy(self, roles=(), REQUEST=None):
"Change Proxy Roles"
self._validateProxy(REQUEST, roles)
self._validateProxy(REQUEST)
self._proxy_roles=tuple(roles)
if REQUEST: return MessageDialog(
title ='Success!',
message='Your changes have been saved',
action ='manage_main')
def PUT(self, REQUEST, RESPONSE):
""" Handle HTTP PUT requests """
self.dav__init(REQUEST, RESPONSE)
body=REQUEST.get('BODY', '')
self._validateProxy(REQUEST)
m = re.match('\s*(.*)\s*\n', body, re.I)
if m:
self._params = m.group(1)
body = body[m.end():]
self._body = rstrip(body)
self.makeFunction(1)
RESPONSE.setStatus(204)
return RESPONSE
def manage_FTPget(self):
"Get source for FTP download"
return '%s\n%s' % (self._params, self._body)
def params(self): return self._params
def body(self): return self._body
def get_size(self): return len(self._body)
getSize = get_size
def PrincipiaSearchSource(self):
"Support for searching - the document's contents are searched."
return "%s\n%s" % (self._params, self._body)
def document_src(self, REQUEST, RESPONSE):
"""Return unprocessed document source."""
m = re.search('^[ ]+', self._body, re.M)
if m: prefix = ' ' * len(m.group(0))
else: prefix = ' ' * 4
body = join(split(self._body, '\n'), '\n%s' % prefix)
RESPONSE.setHeader('Content-Type', 'text/plain')
return "def %s(%s):\n%s%s" % (self.id, self._params, prefix, body)
def __bobo_traverse__(self, REQUEST, sub):
"""Collect direct traversal subpath if we have a parameter for it."""
vname = 'traverse_subpath'
noaq = self.aq_explicit
if hasattr(noaq, sub):
return getattr(self, sub)
varnames = noaq.func_code.co_varnames
if not (varnames and vname in varnames):
REQUEST.RESPONSE.notFoundError("%s\n%s" % (REQUEST.URL, sub))
subpath = REQUEST.other.get(vname, [])
subpath.append(sub)
REQUEST.set(vname, subpath)
return self
if Guarded.do_XXX:
class XXXPythonMethod(PythonMethod):
"""Unsafe version of PythonMethod
No restrictions, all normal builtins, unlimited import. The only thing
funky is the same print-command interception as normal PMs.
"""
meta_type='XXX Python Method'
def makeFunction(self, compile=0):
from Guarded import UnGuardedBlock, safefuncs
if compile:
self._checkCBlock(UnGuardedBlock)
if self.errors:
raise "XXX Python Method Error", join(self.errors, '\n')
return self._newfun(compile, {}, __builtins__=__builtins__,
_=safefuncs)
manage_addXXXPythonMethodForm=HTMLFile('XXXmethodAdd', _www)
def manage_addXXXPythonMethod(self, id, title, params, body, REQUEST=None):
"""Add an internal method to a folder
In addition to the standard Zope object-creation arguments,
'id' and title, the following arguments are defined:
params -- A standard Python parameter list.
body -- The text of the Python function definition.
"""
it = XXXPythonMethod(id, title, params, body)
self._setObject(id, it)
return self.manage_main(self, REQUEST)
=== Added File Products/PythonMethod/README.txt ===
Python Methods
The Python Method product provides support for internal Python
methods, exposing them as callable objects within the Zope
environment.
=== Added File Products/PythonMethod/__init__.py ===
__doc__='''PythonMethod Product'''
__version__='$Revision: 1.1 $'[11:-2]
import PythonMethod
def initialize(context):
context.registerClass(instance_class=PythonMethod.PythonMethod,
constructors=(PythonMethod.manage_addPythonMethodForm,
PythonMethod.manage_addPythonMethod),
icon='www/pymethod.gif')
import Guarded
if Guarded.do_XXX:
context.registerClass(instance_class=PythonMethod.XXXPythonMethod,
constructors=(PythonMethod.manage_addXXXPythonMethodForm,
PythonMethod.manage_addXXXPythonMethod),
icon='www/xpymethod.gif')
=== Added File Products/PythonMethod/version.txt ===
PythonMethod-0-1-7
From sidnei at x3ng.com.br Fri May 30 11:17:50 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:12 2008
Subject: [zopeorg-checkins] CVS: Products/PythonMethod/zbytecodehacks/doc - Makefile:1.1 bch.tex:1.1
Message-ID: <200305301517.h4UFHoX20491@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/PythonMethod/zbytecodehacks/doc
In directory cvs.zope.org:/tmp/cvs-serv19195/PythonMethod/zbytecodehacks/doc
Added Files:
Makefile bch.tex
Log Message:
Adding products needed for migration of NZO
=== Added File Products/PythonMethod/zbytecodehacks/doc/Makefile ===
PAPER=--a4
all: bch.ps bch.pdf bch bch.txt
MKHOWTO=TEXINPUTS=/usr/lib/texmf/texmf/tex/latex/latex2html: mkhowto
ADDRESS='Send comments to mwh21@cam.ac.uk'
bch html: bch.tex
$(MKHOWTO) --html $(PAPER) -a $(ADDRESS) bch.tex
mkdir bch/diagrams
cp diagrams/*.jpg bch/diagrams
bch.pdf pdf: bch.tex
$(MKHOWTO) --pdf $(PAPER) bch.tex
bch.ps ps: bch.tex
$(MKHOWTO) --ps $(PAPER) bch.tex
bch.txt text: bch.tex
$(MKHOWTO) --text $(PAPER) bch.tex
tarball: html
tar chozf bytecodehacks-doc.tar.gz bch
clean:
$(RM) -r bch bch.ps bch.pdf bch.txt *~ *.tar.gz core *.how *.l2h *.idx *.aux *.log *.syn *.toc *.ind
release: tarball
scp bytecodehacks-doc.tar.gz mwh@starship.python.net:~mwh/ftp/bytecodehacks-doc-$$(cat ../version).tar.gz
=== Added File Products/PythonMethod/zbytecodehacks/doc/bch.tex === (1411/1511 lines abridged)
\documentclass{howto}
\usepackage{graphicx}
\usepackage{html}
\makeindex
\title{Bytecodehacks}
\release{\input{../version}}
\author{Michael Hudson}
\authoraddress{mwh21@cam.ac.uk}
\begin{document}
\maketitle
\ifhtml
\chapter*{Front Matter\label{front}}
\fi
%\begin{copyright}
These routines are placed in the public domain; downloaded them?
They're yours. I'd be offended if you passed them off as your own work,
but I'm not going to sue.
%\end{copyright}
\begin{abstract}
\noindent
This package contains a library of routines for editing the bytecodes
executed by the Python virtual machine, and a set of routines that use
the library to do unlikely things to Python functions and methods,
such as locally binding references and inlining functions.
\end{abstract}
\tableofcontents
This document describes how to use the bytecodehacks package to do
unlikely things in Python.
\section{Back end}
The bits you need to know how to use to write your own bytecodehacks,
or understand how the ones supplied actually do their stuff.
I presuppose quite a detailed knowledge of the Python interpreter. If
you don't know what the \module{new} or \module{dis} modules do,
you're not likely to understand what goes on here.
When I talk of ``user'' code in this section I mean code that uses the
[-=- -=- -=- 1411 lines omitted -=- -=- -=-]
come from the overhead of the former allocating lots and lots of stack
frames, rather than the legendarily large Python function-call
overhead. This could be because \function{make_tail_recursive}
generates rather terrible code to save off some parameters while the
others are being calculated. It wouldn't take much to improve this,
but I don't have the stamina right now.
On my machine, for smallish values of \var{n} (which means less than a
thousand) \function{factr} runs in about 90\% of the time of
\function{facr}. This gets (much) better as \var{n} increases,
although this is very memory bound - and so not very predictable or
consistent. Depends how much swapping has to be done.
For what it's worth an explicitly iterative version
\begin{verbatim}
def faci(n):
p = 1l; c = 1;
while c <= n:
p = c*p
c = c+1
return p
\end{verbatim}
runs a few percent faster than \function{factr}.
\section{The code generating stuff}
The \refmodule{ops} module is an autogenerated file. The code in
\module{bytecodehacks.code_gen} is responsible for generating this
file.
There is a tiny script in \file{bytecodehacks/code_gen/regen} that
regenerates \file{ops.py}. I have a symlink to it on my \code{\$PATH};
you may want to do the same if you're hacking on bytecodehacks.
\module{write_ops} does most of the legwork. The \method{execute}
methods of all the bytecodes are listed in the file
\file{op_execute_methods} and extracted from said file by
\module{opexfuncread}.
The code isn't pretty or very general, but it works well enough. I
hope it's also fairly easy to understand, because I don't feel like
writing detailed documentation right now...
\input{bch.ind}
\end{document}
From sidnei at x3ng.com.br Fri May 30 11:17:49 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:12 2008
Subject: [zopeorg-checkins] CVS: Products/ParsedXML/tests/xml/conf/xmltest/sa/out - 001.xml:1.1 002.xml:1.1 003.xml:1.1 004.xml:1.1 005.xml:1.1 006.xml:1.1 007.xml:1.1 008.xml:1.1 009.xml:1.1 010.xml:1.1 011.xml:1.1 012.xml:1.1 013.xml:1.1 014.xml:1.1 015.xml:1.1 016.xml:1.1 017.xml:1.1 018.xml:1.1 019.xml:1.1 020.xml:1.1 021.xml:1.1 022.xml:1.1 023.xml:1.1 024.xml:1.1 025.xml:1.1 026.xml:1.1 027.xml:1.1 028.xml:1.1 029.xml:1.1 030.xml:1.1 031.xml:1.1 032.xml:1.1 033.xml:1.1 034.xml:1.1 035.xml:1.1 036.xml:1.1 037.xml:1.1 038.xml:1.1 039.xml:1.1 040.xml:1.1 041.xml:1.1 042.xml:1.1 043.xml:1.1 044.xml:1.1 045.xml:1.1 046.xml:1.1 047.xml:1.1 048.xml:1.1 049.xml:1.1 050.xml:1.1 051.xml:1.1 052.xml:1.1 053.xml:1.1 054.xml:1.1 055.xml:1.1 056.xml:1.1 057.xml:1.1 058.xml:1.1 059.xml:1.1 060.xml:1.1 061.xml:1.1 062.xml:1.1 063.xml:1.1 064.xml:1.1 065.xml:1.1 066.xml:1.1 067.xml:1.1 068.xml:1.1 069.xml:1.1 070.xml:1.1 071.xml:1.1 072.xml:1.1 073.xml:1.1 074.xml:1.1 075.xml:1.1 076.xml:1.1 077.xml:1.1 !
078.xml:1.1 079.xml:1.1 080.xml:1.1 081.xml:1.1 082.xml:1.1 083.xml:1.1 084.xml:1.1 085.xml:1.1 086.xml:1.1 087.xml:1.1 088.xml:1.1 089.xml:1.1 090.xml:1.1 091.xml:1.1 092.xml:1.1 093.xml:1.1 094.xml:1.1 095.xml:1.1 096.xml:1.1 097.xml:1.1 098.xml:1.1 099.xml:1.1 100.xml:1.1 101.xml:1.1 102.xml:1.1 103.xml:1.1 104.xml:1.1 105.xml:1.1 106.xml:1.1 107.xml:1.1 108.xml:1.1 109.xml:1.1 110.xml:1.1 111.xml:1.1 112.xml:1.1 113.xml:1.1 114.xml:1.1 115.xml:1.1 116.xml:1.1 117.xml:1.1 118.xml:1.1 119.xml:1.1
Message-ID: <200305301517.h4UFHnd20458@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/ParsedXML/tests/xml/conf/xmltest/sa/out
In directory cvs.zope.org:/tmp/cvs-serv19195/ParsedXML/tests/xml/conf/xmltest/sa/out
Added Files:
001.xml 002.xml 003.xml 004.xml 005.xml 006.xml 007.xml
008.xml 009.xml 010.xml 011.xml 012.xml 013.xml 014.xml
015.xml 016.xml 017.xml 018.xml 019.xml 020.xml 021.xml
022.xml 023.xml 024.xml 025.xml 026.xml 027.xml 028.xml
029.xml 030.xml 031.xml 032.xml 033.xml 034.xml 035.xml
036.xml 037.xml 038.xml 039.xml 040.xml 041.xml 042.xml
043.xml 044.xml 045.xml 046.xml 047.xml 048.xml 049.xml
050.xml 051.xml 052.xml 053.xml 054.xml 055.xml 056.xml
057.xml 058.xml 059.xml 060.xml 061.xml 062.xml 063.xml
064.xml 065.xml 066.xml 067.xml 068.xml 069.xml 070.xml
071.xml 072.xml 073.xml 074.xml 075.xml 076.xml 077.xml
078.xml 079.xml 080.xml 081.xml 082.xml 083.xml 084.xml
085.xml 086.xml 087.xml 088.xml 089.xml 090.xml 091.xml
092.xml 093.xml 094.xml 095.xml 096.xml 097.xml 098.xml
099.xml 100.xml 101.xml 102.xml 103.xml 104.xml 105.xml
106.xml 107.xml 108.xml 109.xml 110.xml 111.xml 112.xml
113.xml 114.xml 115.xml 116.xml 117.xml 118.xml 119.xml
Log Message:
Adding products needed for migration of NZO
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/001.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/002.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/003.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/004.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/005.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/006.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/007.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/008.xml ===
&<>"'
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/009.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/010.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/011.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/012.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/013.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/014.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/015.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/016.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/017.xml ===
?>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/018.xml ===
<foo>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/019.xml ===
<&
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/020.xml ===
<&]>]
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/021.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/022.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/023.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/024.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/025.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/026.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/027.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/028.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/029.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/030.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/031.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/032.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/033.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/034.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/035.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/036.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/037.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/038.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/039.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/040.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/041.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/042.xml ===
A
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/043.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/044.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/045.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/046.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/047.xml ===
X
Y
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/048.xml ===
]
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/049.xml ===
£
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/050.xml ===
เจมส์
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/051.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/052.xml ===
ð€€ô¿½
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/053.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/054.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/055.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/056.xml ===
A
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/057.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/058.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/059.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/060.xml ===
X
Y
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/061.xml ===
£
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/062.xml ===
เจมส์
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/063.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/064.xml ===
ð€€ô¿½
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/065.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/066.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/067.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/068.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/069.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/070.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/071.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/072.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/073.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/074.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/075.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/076.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/077.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/078.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/079.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/080.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/081.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/082.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/083.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/084.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/085.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/086.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/087.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/088.xml ===
<foo>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/089.xml ===
ð€€ô¿½ô¿¿
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/090.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/091.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/092.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/093.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/094.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/095.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/096.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/097.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/098.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/099.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/100.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/101.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/102.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/103.xml ===
<doc>
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/104.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/105.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/106.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/107.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/108.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/109.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/110.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/111.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/112.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/113.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/114.xml ===
&foo;
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/115.xml ===
v
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/116.xml ===
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/117.xml ===
]
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/118.xml ===
]]
=== Added File Products/ParsedXML/tests/xml/conf/xmltest/sa/out/119.xml ===
From sidnei at x3ng.com.br Fri May 30 11:17:51 2003
From: sidnei at x3ng.com.br (Sidnei da Silva)
Date: Sun Aug 10 17:02:12 2008
Subject: [zopeorg-checkins] CVS: Products/PythonMethod/zbytecodehacks/doc/icons - blank.png:1.1 contents.png:1.1 index.png:1.1 modules.png:1.1 next.png:1.1 previous.png:1.1 up.png:1.1
Message-ID: <200305301517.h4UFHpZ20556@cvs.baymountain.com>
Update of /cvs-zopeorg/Products/PythonMethod/zbytecodehacks/doc/icons
In directory cvs.zope.org:/tmp/cvs-serv19195/PythonMethod/zbytecodehacks/doc/icons
Added Files:
blank.png contents.png index.png modules.png next.png
previous.png up.png
Log Message:
Adding products needed for migration of NZO
=== Added File Products/PythonMethod/zbytecodehacks/doc/icons/blank.png ===
‰PNG
IHDR D¤ŠÆ PLTE 3 f ™ Ì ÿ 3 33 f3 ™3 Ì3 ÿ3 f 3f ff ™f Ìf ÿf ™ 3™ f™ ™™ Ì™ ÿ™ Ì 3Ì fÌ ™Ì ÌÌ ÿÌ ÿ 3ÿ fÿ ™ÿ Ìÿ ÿÿ 33 3f 3™ 3Ì 3ÿ 3 33333f33™33Ì33ÿ33 f33f3ff3™f3Ìf3ÿf3 ™33™3f™3™™3Ì™3ÿ™3 Ì33Ì3fÌ3™Ì3ÌÌ3ÿÌ3 ÿ33ÿ3fÿ3™ÿ3Ìÿ3ÿÿ3 f3 ff f™ fÌ fÿ f 3f33ff3f™3fÌ3fÿ3f ff3fffff™ffÌffÿff ™f3™ff™f™™fÌ™fÿ™f Ìf3ÌffÌf™ÌfÌÌfÿÌf ÿf3ÿffÿf™ÿfÌÿfÿÿf ™3 ™f ™™ ™Ì ™ÿ ™ 3™33™f3™™3™Ì3™ÿ3™ f™3f™ff™™f™Ìf™ÿf™ ™™3™™f™™™™™Ì™™ÿ™™ Ì™3Ì™fÌ™™Ì™ÌÌ™ÿÌ™ ÿ™3ÿ™fÿ™™ÿ™Ìÿ™ÿÿ™ Ì3 Ìf Ì™ ÌÌ Ìÿ Ì 3Ì33Ìf3Ì™3ÌÌ3Ìÿ3Ì fÌ3fÌffÌ™fÌÌfÌÿfÌ ™Ì3™Ìf™Ì™™ÌÌ™Ìÿ™Ì ÌÌ3ÌÌfÌÌ™ÌÌÌÌÌÿÌÌ ÿÌ3ÿÌfÿÌ™ÿÌÌÿÌÿÿÌ ÿ3 ÿf ÿ™ ÿÌ ÿÿ ÿ 3ÿ33ÿf3ÿ™3ÿÌ3ÿÿ3ÿ fÿ3fÿffÿ™fÿÌfÿÿfÿ ™ÿ3™ÿf™ÿ™™ÿÌ™ÿÿ™ÿ Ìÿ3ÌÿfÌÿ™ÌÿÌÌÿÿÌÿ ÿÿ3ÿÿfÿÿ™ÿÿÌÿÿÿÿÿâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿCA× bKGD ˆH IDATxÚc¸I 0Œ*U0ª`¤* d.¡ç® LzTXtSoftware xÚsÐPÖôÌMLOõMLÏLÎV0Ñ3Ò3R°´Ô70Õ70TH.Ê,.©tÈ,.ÉLÖK-ÖK)-ÈÏ+ÑKÎÏ ôK€ôÝÄ^ 3zTXtSignature xÚ3HL633H51³LK2N²°L455533MI322!
I4IJ Æ€†üÞ zTXtPage xÚ36ª06Ò6Ð6
šùGwà IEND®B`‚
=== Added File Products/PythonMethod/zbytecodehacks/doc/icons/contents.png ===
‰PNG
IHDR D¤ŠÆ `PLTEÿÿÿ™ÌÿÂõ†¹ì|¯âs¦ÙiœÏ_’ÅV‰¼L²Cv©:m 0c–&YŒPƒFy
=p 3f ?0 bKGD{¼l IDATxÚÍ’Ý’Ã …‹‚
ÆÞÿe1I»7íMgg3™xF>`|À‡çñ ü dydÍï lª•O'>hGBa®a¤ƒV8+šVœ†½ï¨Õ—é‹v/ºŒæÜ {R˜38 wJŒhº"U‹o. i|ÂM-àI3è¯S$e¯Ú|§ÚÈEåoˆ3£vëèR°,߬3.7wè€å`ZËj |