2009-06-29 07:06:01 -05:00
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# Appy is a framework for building applications in the Python language.
|
|
|
|
# Copyright (C) 2007 Gaetan Delannay
|
|
|
|
|
|
|
|
# This program is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU General Public License
|
|
|
|
# as published by the Free Software Foundation; either version 2
|
|
|
|
# of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program; if not, write to the Free Software
|
|
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,USA.
|
|
|
|
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
from appy.shared.xml_parser import XmlEnvironment, XmlParser
|
|
|
|
|
|
|
|
class OdfEnvironment(XmlEnvironment):
|
|
|
|
'''This environment is specific for parsing ODF files.'''
|
|
|
|
# URIs of namespaces found in ODF files
|
|
|
|
NS_OFFICE = 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'
|
|
|
|
NS_STYLE = 'urn:oasis:names:tc:opendocument:xmlns:style:1.0'
|
|
|
|
NS_TEXT = 'urn:oasis:names:tc:opendocument:xmlns:text:1.0'
|
|
|
|
NS_TABLE = 'urn:oasis:names:tc:opendocument:xmlns:table:1.0'
|
|
|
|
NS_DRAW = 'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0'
|
|
|
|
NS_FO = 'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0'
|
|
|
|
NS_XLINK = 'http://www.w3.org/1999/xlink'
|
|
|
|
NS_DC = 'http://purl.org/dc/elements/1.1/'
|
|
|
|
NS_META = 'urn:oasis:names:tc:opendocument:xmlns:meta:1.0'
|
|
|
|
NS_NUMBER = 'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0'
|
|
|
|
NS_SVG = 'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0'
|
|
|
|
NS_CHART = 'urn:oasis:names:tc:opendocument:xmlns:chart:1.0'
|
|
|
|
NS_DR3D = 'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0'
|
|
|
|
NS_MATH = 'http://www.w3.org/1998/Math/MathML'
|
|
|
|
NS_FORM = 'urn:oasis:names:tc:opendocument:xmlns:form:1.0'
|
|
|
|
NS_SCRIPT = 'urn:oasis:names:tc:opendocument:xmlns:script:1.0'
|
|
|
|
NS_OOO = 'http://openoffice.org/2004/office'
|
|
|
|
NS_OOOW = 'http://openoffice.org/2004/writer'
|
|
|
|
NS_OOOC = 'http://openoffice.org/2004/calc'
|
|
|
|
NS_DOM = 'http://www.w3.org/2001/xml-events'
|
|
|
|
NS_XFORMS = 'http://www.w3.org/2002/xforms'
|
|
|
|
NS_XSD = 'http://www.w3.org/2001/XMLSchema'
|
|
|
|
NS_XSI = 'http://www.w3.org/2001/XMLSchema-instance'
|
|
|
|
|
|
|
|
class OdfParser(XmlParser):
|
|
|
|
'''XML parser that is specific for parsing ODF files.'''
|
2009-07-10 08:01:50 -05:00
|
|
|
def __init__(self, env=None, caller=None):
|
|
|
|
if not env: env = OdfEnvironment()
|
|
|
|
XmlParser.__init__(self, env, caller)
|
2009-06-29 07:06:01 -05:00
|
|
|
# ------------------------------------------------------------------------------
|