Beispiel #1
0
def namespace_uri_for_prefix(xc, p, contextItem, args):
    prefix = nodeArg(xc, args, 0, 'string?', emptyFallback='')
    node = nodeArg(xc, args, 1, 'element()', emptyFallback=())
    if node and isinstance(
            node, xml.dom.Node) and node.nodeType == xml.dom.Node.ELEMENT_NODE:
        return XmlUtil.xmlns(node, prefix)
    return ()
Beispiel #2
0
def nodes_correspond(xc, p, args):
    if len(args) != 2: raise XPathContext.FunctionNumArgs()
    node1 = nodeArg(xc, args, 0, "node()?", missingArgFallback=(), emptyFallback=())
    node2 = nodeArg(xc, args, 1, "node()?", missingArgFallback=(), emptyFallback=())
    if node1 == ():
        if node2 == (): return True
        return False
    if node2 == (): return False
    return XbrlUtil.nodesCorrespond(xc.modelXbrl, node1, node2, xc.modelXbrl)
Beispiel #3
0
def Node_functions(xc, contextItem, args, name=None, localName=None, namespaceURI=None):
    node = nodeArg(xc, args, 0, 'node()?', missingArgFallback=contextItem, emptyFallback=())
    if node != () and isinstance(node, ModelObject):
        if name: return node.prefixedName
        if localName: return node.localName
        if namespaceURI: return node.namespaceURI
    return ''
Beispiel #4
0
def Node_functions(xc, contextItem, args, name=None, localName=None, namespaceURI=None):
    node = nodeArg(xc, args, 0, 'node()?', missingArgFallback=contextItem, emptyFallback=())
    if node != () and node.nodeType in (xml.dom.Node.ELEMENT_NODE, xml.dom.Node.ATTRIBUTE_NODE):
        if name: return node.tagName
        if localName: return node.localName
        if namespaceURI: return node.namespaceURI
    return ''
Beispiel #5
0
def node_name(xc, p, contextItem, args):
    node = nodeArg(xc,
                   args,
                   0,
                   "node()?",
                   missingArgFallback=contextItem,
                   emptyFallback=())
    if node != ():
        return qname(node)
    return ()
Beispiel #6
0
def nilled(xc, p, contextItem, args):
    node = nodeArg(xc,
                   args,
                   0,
                   "node()?",
                   missingArgFallback=contextItem,
                   emptyFallback=())
    if node != () and node.nodeType == xml.dom.Node.ELEMENT_NODE:
        return node.getAttribute("xsi:nil") == "true"
    return ()
Beispiel #7
0
def nodes_correspond(xc, p, args):
    if len(args) != 2: raise XPathContext.FunctionNumArgs()
    node1 = nodeArg(xc,
                    args,
                    0,
                    "node()?",
                    missingArgFallback=(),
                    emptyFallback=())
    node2 = nodeArg(xc,
                    args,
                    1,
                    "node()?",
                    missingArgFallback=(),
                    emptyFallback=())
    if node1 == ():
        if node2 == (): return True
        return False
    if node2 == (): return False
    return XbrlUtil.nodesCorrespond(xc.modelXbrl, node1, node2, xc.modelXbrl)
Beispiel #8
0
def nilled(xc, p, contextItem, args):
    node = nodeArg(xc,
                   args,
                   0,
                   "node()?",
                   missingArgFallback=contextItem,
                   emptyFallback=())
    if node != () and isinstance(node, ModelObject):
        return node.get(
            "{http://www.w3.org/2001/XMLSchema-instance}nil") == "true"
    return ()
Beispiel #9
0
def Node_functions(xc,
                   contextItem,
                   args,
                   name=None,
                   localName=None,
                   namespaceURI=None):
    node = nodeArg(xc,
                   args,
                   0,
                   'node()?',
                   missingArgFallback=contextItem,
                   emptyFallback=())
    if node != () and node.nodeType in (xml.dom.Node.ELEMENT_NODE,
                                        xml.dom.Node.ATTRIBUTE_NODE):
        if name: return node.tagName
        if localName: return node.localName
        if namespaceURI: return node.namespaceURI
    return ''
Beispiel #10
0
def namespace_uri_for_prefix(xc, p, contextItem, args):
    prefix = nodeArg(xc, args, 0, 'string?', emptyFallback='')
    node = nodeArg(xc, args, 1, 'element()', emptyFallback=())
    if node is not None and isinstance(node,ModelObject):
        return XmlUtil.xmlns(node, prefix)
    return ()
Beispiel #11
0
def nilled(xc, p, contextItem, args):
    node = nodeArg(xc, args, 0, "node()?", missingArgFallback=contextItem, emptyFallback=())
    if node != () and isinstance(node,ModelObject):
        return node.get("{http://www.w3.org/2001/XMLSchema-instance}nil") == "true"
    return ()
Beispiel #12
0
def node_name(xc, p, contextItem, args):
    node = nodeArg(xc, args, 0, "node()?", missingArgFallback=contextItem, emptyFallback=())
    if node != (): 
        return qname(node)
    return () 
Beispiel #13
0
def namespace_uri_for_prefix(xc, p, contextItem, args):
    prefix = nodeArg(xc, args, 0, 'string?', emptyFallback='')
    node = nodeArg(xc, args, 1, 'element()', emptyFallback=())
    if node and isinstance(node,xml.dom.Node) and node.nodeType == xml.dom.Node.ELEMENT_NODE:
        return XmlUtil.xmlns(node, prefix)
    return ()
Beispiel #14
0
def nilled(xc, p, contextItem, args):
    node = nodeArg(xc, args, 0, "node()?", missingArgFallback=contextItem, emptyFallback=())
    if node != () and node.nodeType == xml.dom.Node.ELEMENT_NODE:
        return node.getAttribute("xsi:nil") == "true"
    return ()