[Zope3-checkins] CVS: zopeproducts/xmldom/interfaces - loadsave.py:1.1
   
    Philipp von Weitershausen
     
    philikon@philikon.de
       
    Thu, 19 Jun 2003 18:56:52 -0400
    
    
  
Update of /cvs-repository/zopeproducts/xmldom/interfaces
In directory cvs.zope.org:/tmp/cvs-serv27237
Added Files:
	loadsave.py 
Log Message:
Added interface for DOM Level 3 Load and Save. See
http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
for more information.
=== Added File zopeproducts/xmldom/interfaces/loadsave.py ===
##############################################################################
#
# Copyright (c) 2003 Zope Corporation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""
DOM interfaces for the DOM Level 3 'Load and Save' feature
See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html for more
detailled information
$Id: loadsave.py,v 1.1 2003/06/19 22:56:51 philikon Exp $
"""
from zope.interface import Interface, Attribute
class IDOMImplementationLS(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    #
    # Definition Group DOMImplementationLSMode
    #
    MODE_ASYNCHRONOUS = Attribute("MODE_ASYNCHRONOUS")
    MODE_SYNCHRONOUS  = Attribute("MODE_ASYNCHRONOUS")
    #
    # Methods
    #
    def createDOMInput():
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def createDOMParser(mode, schemaType):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def createDOMSerializer():
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
class IDOMParser(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    #
    # Definition Group ACTION_TYPES
    #
    ACTION_APPEND_AS_CHILDREN = Attribute("ACTION_APPEND_AS_CHILDREN")
    ACTION_INSERT_AFTER       = Attribute("ACTION_INSERT_AFTER")
    ACTION_INSERT_BEFORE      = Attribute("ACTION_INSERT_BEFORE")
    ACTION_REPLACE            = Attribute("ACTION_REPLACE")
    ACTION_REPLACE_CHILDREN   = Attribute("ACTION_REPLACE_CHILDREN")
    #
    # Attributes
    #
    async = Attribute(
        "async",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    busy = Attribute(
        "busy",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    config = Attribute(
        "config",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    filter = Attribute(
        "filter",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    #
    # Methods
    #
    def abort():
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def parse(inputsource):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def parseURI(uri):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def parseWithContext(input, context, action):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
class IDOMInput(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    baseURI = Attribute(
        "baseURI",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    byteStream = Attribute(
        "byteStream",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    certified = Attribute(
        "certified",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    #XXX the spec says "Depending on the language binding in use, this
    #attribute may not be available." about this attribute.    
    characterStream = Attribute(
        "characterStream",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    encoding = Attribute(
        "encoding",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    publicId = Attribute(
        "publicId",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    stringData = Attribute(
        "stringData",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    systemId = Attribute(
        "systemId",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
class IDOMResourceResolver(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    def resolveResource(publicId, systemId, baseURI):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
class IDOMParserFilter(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    #
    # Definition group Constants returned by startElement and acceptNode
    #
    FILTER_ACCEPT    = Attribute("FILTER_ACCEPT")
    FILTER_INTERRUPT = Attribute("FILTER_INTERRUPT")
    FILTER_REJECT    = Attribute("FILTER_REJECT")
    FILTER_SKIP      = Attribute("FILTER_SKIP")
    #
    # Attributes
    #
    whatToShow = Attribute(
        "whatToShow",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    #
    # Methods
    #
    def acceptNode(node):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def startElement(element):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
class ILSProgressEvent(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    input = Attribute(
        "input",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    position = Attribute(
        "position",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    totalSize = Attribute(
        "totalSize",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
class ILSLoadEvent(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    input = Attribute(
        "input",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    newDocument = Attribute(
        "newDocument",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
class IDOMSerializer(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    #
    # Attributes
    #
    config = Attribute(
        "config",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    filter = Attribute(
        "filter",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    newLine = Attribute(
        "newLine",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    #
    # Methods
    #
    def write(node, destination):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def writeToSTring(node):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def writeURI(node, URI):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
class IDOMOutput(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    byteStream = Attribute(
        "byteStream",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    #XXX the spec says "Depending on the language binding in use, this
    #attribute may not be available." about this attribute.    
    characterStream = Attribute(
        "characterStream",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    encoding = Attribute(
        "encoding",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    systemId = Attribute(
        "systemId",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
class IDOMSerializerFilter(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    whatToShow = Attribute(
        "whatToShow",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
#
# Convenience Interfaces
#
# The spec (http://www.w3.org/TR/DOM-Level-3-LS/load-save.html) says:
#
# "The interfaces defined in this section provide no direct
# functionality that cannot be achieved with the load and save
# interfaces defined in the earlier sections of this
# specification. These interfaces are defined for developer
# convenience only, and supporting them is optional."
#
class IDocumentLS(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    async = Attribute(
        "async",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )
    def abort():
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def load(uri):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def loadXML(source):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
    def saveXML(node):
        """
        See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
        """
class IElementLS(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html
    """
    markupContent = Attribute(
        "markupContent",
        "See http://www.w3.org/TR/DOM-Level-3-LS/load-save.html"
        )