コード例 #1
0
ファイル: FunctionFn.py プロジェクト: gplehmann/Arelle
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 ()
コード例 #2
0
ファイル: FunctionXfi.py プロジェクト: marado/Arelle
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)
コード例 #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 ''
コード例 #4
0
ファイル: FunctionFn.py プロジェクト: 8maki/Arelle
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 ''
コード例 #5
0
ファイル: FunctionFn.py プロジェクト: zoujiong-github/Arelle
def node_name(xc, p, contextItem, args):
    node = nodeArg(xc,
                   args,
                   0,
                   "node()?",
                   missingArgFallback=contextItem,
                   emptyFallback=())
    if node != ():
        return qname(node)
    return ()
コード例 #6
0
ファイル: FunctionFn.py プロジェクト: gplehmann/Arelle
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 ()
コード例 #7
0
ファイル: FunctionXfi.py プロジェクト: gplehmann/Arelle
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)
コード例 #8
0
ファイル: FunctionFn.py プロジェクト: zoujiong-github/Arelle
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 ()
コード例 #9
0
ファイル: FunctionFn.py プロジェクト: gplehmann/Arelle
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 ''
コード例 #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 ()
コード例 #11
0
ファイル: FunctionFn.py プロジェクト: DaveInga/Arelle
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 ()
コード例 #12
0
ファイル: FunctionFn.py プロジェクト: DaveInga/Arelle
def node_name(xc, p, contextItem, args):
    node = nodeArg(xc, args, 0, "node()?", missingArgFallback=contextItem, emptyFallback=())
    if node != (): 
        return qname(node)
    return () 
コード例 #13
0
ファイル: FunctionFn.py プロジェクト: 8maki/Arelle
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 ()
コード例 #14
0
ファイル: FunctionFn.py プロジェクト: 8maki/Arelle
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 ()