[Zope3-checkins] CVS: zopeproducts/xmldom/interfaces - __init__.py:1.1 core.py:1.1 xmlextended.py:1.1

Philipp von Weitershausen philikon@philikon.de
Thu, 19 Jun 2003 14:56:21 -0400


Update of /cvs-repository/zopeproducts/xmldom/interfaces
In directory cvs.zope.org:/tmp/cvs-serv24140/interfaces

Added Files:
	__init__.py core.py xmlextended.py 
Log Message:
Defined interfaces for DOM Core and XML Extended. The interfaces are based
upon the current working draft for DOM Level 3, which is available at
http://www.w3.org/TR/DOM-Level-3-Core/core.html. This doesn't mean, though,
that we are implementing DOM Level 3 yet.


=== Added File zopeproducts/xmldom/interfaces/__init__.py ===
# this is a package 


=== Added File zopeproducts/xmldom/interfaces/core.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 core interfaces

See the W3C DOM Level 3 specification for detailled documentation:
http://www.w3.org/TR/DOM-Level-3-Core/core.html

$Id: core.py,v 1.1 2003/06/19 18:56:21 philikon Exp $
"""

from zope.interface import Interface, Attribute

class IDOMStringList(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """
    # introduced in DOM Level 3

    length = Attribute(
        "length",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    def item(index):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class INameList(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """
    # introduced in DOM Level 3

    length = Attribute(
        "length",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    def getName(index):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getNamespaceURI(index):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class IDOMImplementationList(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """
    # introduced in DOM Level 3

    length = Attribute(
        "length",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    def item(index):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class IDOMImplementationSource(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """
    # introduced in DOM Level 3

    def getDOMImplementation(features):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getDOMImplementations(features):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class IDOMImplementation(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    def createDocument(namespaceURI, qualifiedName, doctype):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def createDocumentType(qualifiedName, publicId, systemId):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getFeature(feature, version):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def hasFeature(feature, version):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class INode(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    #
    # Definition group NodeType
    #

    ELEMENT_NODE                = Attribute("ELEMENT_NODE")
    ATTRIBUTE_NODE              = Attribute("ATTRIBUTE_NODE")
    TEXT_NODE                   = Attribute("TEXT_NODE")
    CDATA_SECTION_NODE          = Attribute("CDATA_SECTION_NODE")
    ENTITY_REFERENCE_NODE       = Attribute("ENTITY_REFERENCE_NODE")
    ENTITY_NODE                 = Attribute("ENTITY_NODE")
    PROCESSING_INSTRUCTION_NODE = Attribute("PROCESSING_INSTRUCTION_NODE")
    COMMENT_NODE                = Attribute("COMMENT_NODE")
    DOCUMENT_NODE               = Attribute("DOCUMENT_NODE")
    DOCUMENT_TYPE_NODE          = Attribute("DOCUMENT_TYPE_NODE")
    DOCUMENT_FRAGMENT_NODE      = Attribute("DOCUMENT_FRAGMENT_NODE")
    NOTATION_NODE               = Attribute("NOTATION_NODE")

    #
    # Definition group DocumentPosition
    #

    DOCUMENT_POSITION_DISCONNECTED = Attribute("DOCUMENT_POSITION_DISCONNECTED")
    DOCUMENT_POSITION_PRECEDING    = Attribute("DOCUMENT_POSITION_PRECEDING")
    DOCUMENT_POSITION_FOLLOWING    = Attribute("DOCUMENT_POSITION_FOLLOWING")
    DOCUMENT_POSITION_CONTAINS     = Attribute("DOCUMENT_POSITION_CONTAINS")
    DOCUMENT_POSITION_CONTAINED_BY = Attribute("DOCUMENT_POSITION_CONTAINED_BY")
    DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = Attribute(
        "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC")

    #
    # Attributes
    #

    attributes = Attribute(
        "attributes",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    baseURI = Attribute(
        "baseURI",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    childNodes = Attribute(
        "childNodes",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    firstChild = Attribute(
        "firstChild",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    lastChild = Attribute(
        "lastChild",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    localName = Attribute(
        "localName",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    namespaceURI = Attribute(
        "namespaceURI",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    nextSibling = Attribute(
        "nextSibling",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    nodeName = Attribute(
        "nodeName",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    nodeType = Attribute(
        "nodeType",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    nodeValue = Attribute(
        "nodeValue",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    ownerDocument = Attribute(
        "ownerDocument",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    parentNode = Attribute(
        "parentNode",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    prefix = Attribute(
        "prefix",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    previousSibling = Attribute(
        "previousSibling",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    textContent = Attribute(
        "textContent",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    #
    # Methods
    #

    def appendChild(newChild):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def cloneNode(deep):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def compareDocumentPosition(other):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def getFeature(feature, version):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def getUserData(key):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def hasAttributes():
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def hasChildNodes():
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def insertBefore(newChild, refChild):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def isDefaultNamespace(namespaceURI):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def isEqualNode(arg):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def isSameNode(other):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def isSupported(feature, version):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def lookupNamespaceURI(prefix):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def lookupPrefix(namespaceURI):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def normalize():
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def removeChild(oldChild):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def replaceChild(newChild, oldChild):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def setUserData(key, data, handler):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

class IDocument(INode):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    #
    # Attributes
    #

    actualEncoding = Attribute(
        "actualEncoding",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    config = Attribute(
        "config",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    doctype = Attribute(
        "doctype",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    documentElement = Attribute(
        "documentElement",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    documentURI = Attribute(
        "documentURI",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    implementation = Attribute(
        "implementation",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    strictErrorChecking = Attribute(
        "strictErrorChecking",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    xmlEncoding = Attribute(
        "xmlEncoding",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    xmlStandalone = Attribute(
        "xmlStandalone",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    xmlVersion = Attribute(
        "xmlVersion",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    #
    # Methods
    #

    def adoptNode(source):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def createAttribute(name):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def createAttributeNS(namespaceURI, qualifiedName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def createCDATASection(data):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def createComment(data):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def createDocumentFragment():
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def createElement(tagElement):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def createElementNS(namespaceURI, qualifiedName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def createEntityReference(name):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def createProcessingInstruction(target, data):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def createTextNode(data):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getElementById(elementId):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getElementsByTagName(tagname):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getElementsByTagNameNS(namespaceURI, localName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def importNode(importedNode, deep):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def normalizeDocument():
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def renameNode(n, namespaceURI, qualifiedName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

class IDocumentFragment(INode):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

class INodeList(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    length = Attribute(
        "length",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    def item(index):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class INamedNodeMap(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    length = Attribute(
        "length",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    def getNamedItem(name):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getNamedItemNS(namespaceURI, qualifiedName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def item(index):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def removeNamedItem(name):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def removeNamedItemNS(namespaceURI, qualifiedName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def setNamedItem(arg):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def setNamedItemNS(arg):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class ICharacterData(INode):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    #
    # Attributes
    #

    data = Attribute(
        "data",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    length = Attribute(
        "length",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    #
    # Methods
    #

    def appendData(arg):
        """
        Return True if this attribute is of type ID, False otherwise.
        """

    def deleteData(offset, count):
        """
        Return True if this attribute is of type ID, False otherwise.
        """

    def insertData(offset, arg):
        """
        Return True if this attribute is of type ID, False otherwise.
        """

    def replaceData(offset, count, arg):
        """
        Return True if this attribute is of type ID, False otherwise.
        """

    def substringData(offset, count):
        """
        Return True if this attribute is of type ID, False otherwise.
        """

class IAttr(INode):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    name = Attribute(
        "name",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    ownerElement = Attribute(
        "ownerElement",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    schemaTypeInfo = Attribute(
        "schemaTypeInfo",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    specified = Attribute(
        "specified",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    value = Attribute(
        "value",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    def isId():
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

class IElement(INode):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    #
    # Attributes
    #

    schemaTypeInfo = Attribute(
        "schemaTypeInfo",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    tagName = Attribute(
        "tagName",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    #
    # Methods
    #

    def getAttribute(name):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getAttributeNS(namespaceURI, localName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getAttributeNode(name):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getAttributeNodeNS(namespaceURI, localName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getElementsByTagName(name):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getElementsByTagNameNS(namespaceURI, localName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def hasAttribute(name):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def hasAttributeNS(namespaceURI, localName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def removeAttribute(name):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def removeAttributeNS(namespaceURI, localName):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def removeAttributeNode(oldAttr):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def setAttribute(name, value):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def setAttributeNS(namespaceURI, qualifiedName, value):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def setAttributeNode(newAttr):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def setAttributeNodeNS(newAttr):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def setIdAttribute(name, isId):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def setIdAttributeNS(namespaceURI, localName, isId):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def setIdAttributeNode(idAttr, isId):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class IText(ICharacterData):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    wholeText = Attribute(
        "wholeText",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        # introduced in DOM Level 3
        )

    def isWhitespaceInElementContent():
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def replaceWholeText(content):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """
        # introduced in DOM Level 3

    def splitText(offset):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class IComment(ICharacterData):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

class ITypeInfo(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """
    # introduced in DOM Level 3

    typeName = Attribute(
        "typeName",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    typeNameSpace = Attribute(
        "typeNameSpace",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

class IUserDataHandler(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """
    # introduced in DOM Level 3

    #
    # Definition group OperationType
    #

    NODE_CLONED   = Attribute("NODE_CLONED")
    NODE_DELETED  = Attribute("NODE_DELETED")
    NODE_IMPORTED = Attribute("NODE_IMPORTED")
    NODE_RENAMED  = Attribute("NODE_RENAMED")

    #
    # Methods
    #

    def handle(operations, key, data, src, dst):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class IDOMErrorHandler(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """
    # introduced in DOM Level 3

    def handleError(error):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

class IDOMLocator(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """
    # introduced in DOM Level 3

    columnNumber = Attribute(
        "columnNumber",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    lineNumber = Attribute(
        "lineNumber",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    offset = Attribute(
        "offset",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    relatedNode = Attribute(
        "relatedNode",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    uri = Attribute(
        "uri",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

class IDOMConfiguration(Interface):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """
    # introduced in DOM Level 3

    def canSetParameter(name, value):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def getParemeter(name):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """

    def setParameter(name, value):
        """
        See http://www.w3.org/TR/DOM-Level-3-Core/core.html
        """


=== Added File zopeproducts/xmldom/interfaces/xmlextended.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 XML extended interfaces

See the W3C DOM Level 3 specification for detailled documentation:
http://www.w3.org/TR/DOM-Level-3-Core/core.html

$Id: xmlextended.py,v 1.1 2003/06/19 18:56:21 philikon Exp $
"""

from zope.interface import Attribute
from core import INode, IText

class ICDATASection(IText):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

class IDocumentType(INode):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    entities = Attribute(
        "entities",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    internalSubset = Attribute(
        "internalSubset",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    name = Attribute(
        "name",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    notations = Attribute(
        "notations",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    publicId = Attribute(
        "publicId",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    systemId = Attribute(
        "systemId",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

class INotation(INode):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    publicId = Attribute(
        "publicId",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    systemId = Attribute(
        "systemId",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

class IEntity(INode):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    actualEncoding = Attribute(
        "actualEncoding",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    notationName = Attribute(
        "notationName",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    publicId = Attribute(
        "publicId",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    systemId = Attribute(
        "systemId",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    xmlEncoding = Attribute(
        "xmlEncoding",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    xmlVersion = Attribute(
        "xmlVersion",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

class IEntityReference(INode):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

class IProcessingInstruction(INode):
    """
    See http://www.w3.org/TR/DOM-Level-3-Core/core.html
    """

    data = Attribute(
        "data",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )

    target = Attribute(
        "target",
        "See http://www.w3.org/TR/DOM-Level-3-Core/core.html"
        )