コード例 #1
0
 def createElementNS(self, namespaceURI, qualifiedName):
     from Element import Element
     if not g_namePattern.match(qualifiedName):
         raise InvalidCharacterErr()
     (prefix, localName) = SplitQName(qualifiedName)
     if prefix == 'xml' and namespaceURI != XML_NAMESPACE:
         raise NamespaceErr()
     if prefix and not namespaceURI:
         raise NamespaceErr()
     return Element(self, qualifiedName, namespaceURI, prefix, localName)
コード例 #2
0
 def createElementNS(self, namespaceURI, qualifiedName):
     from Element import Element
     if not get_name_pattern().match(qualifiedName):
         raise InvalidCharacterErr()
     (prefix, localName) = SplitQName(qualifiedName)
     if prefix == 'xml' and namespaceURI != XML_NAMESPACE:
         raise NamespaceErr()
     if prefix and not namespaceURI:
         raise NamespaceErr()
     elif namespaceURI == '':
         raise NamespaceErr("Use None instead of '' for empty namespace")
     return Element(self, qualifiedName, namespaceURI, prefix, localName)
コード例 #3
0
 def createAttributeNS(self, namespaceURI, qualifiedName):
     if not g_namePattern.match(qualifiedName):
         raise InvalidCharacterErr()
     from Attr import Attr
     (prefix, localName) = SplitQName(qualifiedName)
     if prefix == 'xml' and namespaceURI != XML_NAMESPACE:
         raise NamespaceErr()
     if localName == 'xmlns':
         if namespaceURI != XMLNS_NAMESPACE:
             raise NamespaceErr()
         return Attr(self, qualifiedName, XMLNS_NAMESPACE, 'xmlns', prefix)
     else:
         if (not namespaceURI and prefix) or (not prefix and namespaceURI):
             raise NamespaceErr()
         return Attr(self, qualifiedName, namespaceURI, prefix, localName)
コード例 #4
0
ファイル: Element.py プロジェクト: AhmedSeyam2020/HBL
    def setAttributeNS(self, namespaceURI, qualifiedName, value):
        if not IsDOMString(value):
            raise SyntaxErr()
        if not g_namePattern.match(qualifiedName):
            raise InvalidCharacterErr()

        prefix, localName = SplitQName(qualifiedName)
        attr = self.attributes.getNamedItemNS(namespaceURI, localName)
        if attr:
            attr.value = value
        else:
            attr = self.ownerDocument.createAttributeNS(namespaceURI, qualifiedName)
            attr.value = value
            self.setAttributeNodeNS(attr)
        return