当前位置: 首页>>代码示例>>C++>>正文


C++ txXPathNode::Content方法代码示例

本文整理汇总了C++中txXPathNode::Content方法的典型用法代码示例。如果您正苦于以下问题:C++ txXPathNode::Content方法的具体用法?C++ txXPathNode::Content怎么用?C++ txXPathNode::Content使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在txXPathNode的用法示例。


在下文中一共展示了txXPathNode::Content方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

/* static */
void
txXPathNodeUtils::appendNodeValue(const txXPathNode& aNode, nsAString& aResult)
{
    if (aNode.isAttribute()) {
        const nsAttrName* name = aNode.Content()->GetAttrNameAt(aNode.mIndex);

        if (aResult.IsEmpty()) {
            aNode.Content()->GetAttr(name->NamespaceID(), name->LocalName(),
                                     aResult);
        }
        else {
            nsAutoString result;
            aNode.Content()->GetAttr(name->NamespaceID(), name->LocalName(),
                                     result);
            aResult.Append(result);
        }

        return;
    }

    if (aNode.isDocument() ||
        aNode.mNode->IsElement() ||
        aNode.mNode->IsNodeOfType(nsINode::eDOCUMENT_FRAGMENT)) {
        nsContentUtils::AppendNodeTextContent(aNode.mNode, true, aResult);

        return;
    }

    aNode.Content()->AppendTextTo(aResult);
}
开发者ID:almet,项目名称:mozilla-central,代码行数:31,代码来源:txMozillaXPathTreeWalker.cpp

示例2: NS_Atomize

/* static */
already_AddRefed<nsAtom>
txXPathNodeUtils::getLocalName(const txXPathNode& aNode)
{
    if (aNode.isDocument()) {
        return nullptr;
    }

    if (aNode.isContent()) {
        if (aNode.mNode->IsElement()) {
            RefPtr<nsAtom> localName =
                aNode.Content()->NodeInfo()->NameAtom();
            return localName.forget();
        }

        if (aNode.mNode->IsNodeOfType(nsINode::ePROCESSING_INSTRUCTION)) {
            return NS_Atomize(aNode.mNode->NodeName());
        }

        return nullptr;
    }

    // This is an attribute node, so we necessarily come from an element.
    RefPtr<nsAtom> localName =
      aNode.Content()->AsElement()->GetAttrNameAt(aNode.mIndex)->LocalName();

    return localName.forget();
}
开发者ID:luke-chang,项目名称:gecko-1,代码行数:28,代码来源:txMozillaXPathTreeWalker.cpp

示例3: NS_NewAtom

/* static */
already_AddRefed<nsIAtom>
txXPathNodeUtils::getLocalName(const txXPathNode& aNode)
{
    if (aNode.isDocument()) {
        return nsnull;
    }

    if (aNode.isContent()) {
        if (aNode.mNode->IsElement()) {
            nsIAtom* localName = aNode.Content()->Tag();
            NS_ADDREF(localName);

            return localName;
        }

        if (aNode.mNode->IsNodeOfType(nsINode::ePROCESSING_INSTRUCTION)) {
            nsCOMPtr<nsIDOMNode> node = do_QueryInterface(aNode.mNode);
            nsAutoString target;
            node->GetNodeName(target);

            return NS_NewAtom(target);
        }

        return nsnull;
    }

    nsIAtom* localName = aNode.Content()->
        GetAttrNameAt(aNode.mIndex)->LocalName();
    NS_ADDREF(localName);

    return localName;
}
开发者ID:almet,项目名称:mozilla-central,代码行数:33,代码来源:txMozillaXPathTreeWalker.cpp

示例4:

/* static */
bool
txXPathNodeUtils::getAttr(const txXPathNode& aNode, nsAtom* aLocalName,
                          int32_t aNSID, nsAString& aValue)
{
    if (aNode.isDocument() || aNode.isAttribute() ||
        !aNode.Content()->IsElement()) {
        return false;
    }

    return aNode.Content()->AsElement()->GetAttr(aNSID, aLocalName, aValue);
}
开发者ID:luke-chang,项目名称:gecko-1,代码行数:12,代码来源:txMozillaXPathTreeWalker.cpp

示例5: isText

/* static */
bool
txXPathNodeUtils::isWhitespace(const txXPathNode& aNode)
{
    NS_ASSERTION(aNode.isContent() && isText(aNode), "Wrong type!");

    return aNode.Content()->TextIsOnlyWhitespace();
}
开发者ID:almet,项目名称:mozilla-central,代码行数:8,代码来源:txMozillaXPathTreeWalker.cpp

示例6: ToUpperCase

/* static */
void
txXPathNodeUtils::getLocalName(const txXPathNode& aNode, nsAString& aLocalName)
{
    if (aNode.isDocument()) {
        aLocalName.Truncate();

        return;
    }

    if (aNode.isContent()) {
        if (aNode.mNode->IsNodeOfType(nsINode::eELEMENT)) {
            nsINodeInfo* nodeInfo = aNode.Content()->NodeInfo();
            nodeInfo->GetLocalName(aLocalName);

            // Check for html
            if (nodeInfo->NamespaceEquals(kNameSpaceID_None) &&
                aNode.mNode->IsNodeOfType(nsINode::eHTML)) {
                ToUpperCase(aLocalName);
            }

            return;
        }

        if (aNode.mNode->IsNodeOfType(nsINode::ePROCESSING_INSTRUCTION)) {
            // PIs don't have a nodeinfo but do have a name
            nsCOMPtr<nsIDOMNode> node = do_QueryInterface(aNode.mNode);
            node->GetNodeName(aLocalName);

            return;
        }

        aLocalName.Truncate();

        return;
    }

    aNode.Content()->GetAttrNameAt(aNode.mIndex)->LocalName()->
      ToString(aLocalName);

    // Check for html
    if (aNode.Content()->NodeInfo()->NamespaceEquals(kNameSpaceID_None) &&
        aNode.Content()->IsNodeOfType(nsINode::eHTML)) {
        ToUpperCase(aLocalName);
    }
}
开发者ID:EdgarChen,项目名称:mozilla-cvs-history,代码行数:46,代码来源:txMozillaXPathTreeWalker.cpp

示例7:

/* static */
bool
txXPathNodeUtils::getAttr(const txXPathNode& aNode, nsIAtom* aLocalName,
                          PRInt32 aNSID, nsAString& aValue)
{
    if (aNode.isDocument() || aNode.isAttribute()) {
        return PR_FALSE;
    }

    return aNode.Content()->GetAttr(aNSID, aLocalName, aValue);
}
开发者ID:ehsan,项目名称:mozilla-history,代码行数:11,代码来源:txMozillaXPathTreeWalker.cpp

示例8: ToUpperCase

/* static */
void
txXPathNodeUtils::getNodeName(const txXPathNode& aNode, nsAString& aName)
{
    if (aNode.isDocument()) {
        aName.Truncate();

        return;
    }

    if (aNode.isContent()) {
        if (aNode.mNode->IsElement()) {
            nsINodeInfo* nodeInfo = aNode.Content()->NodeInfo();
            nodeInfo->GetQualifiedName(aName);

            // Check for html
            if (aNode.Content()->IsHTML() &&
                aNode.Content()->IsInHTMLDocument()) {
                ToUpperCase(aName);
            }
            return;
        }

        if (aNode.mNode->IsNodeOfType(nsINode::ePROCESSING_INSTRUCTION)) {
            // PIs don't have a nodeinfo but do have a name
            nsCOMPtr<nsIDOMNode> node = do_QueryInterface(aNode.mNode);
            node->GetNodeName(aName);

            return;
        }

        aName.Truncate();

        return;
    }

    aNode.Content()->GetAttrNameAt(aNode.mIndex)->GetQualifiedName(aName);

    // Check for html
    if (aNode.Content()->IsHTML()) {
        ToUpperCase(aName);
    }
}
开发者ID:hungry-r,项目名称:mozilla-central,代码行数:43,代码来源:txMozillaXPathTreeWalker.cpp

示例9: ToString

/* static */
void
txXPathNodeUtils::getLocalName(const txXPathNode& aNode, nsAString& aLocalName)
{
    if (aNode.isDocument()) {
        aLocalName.Truncate();

        return;
    }

    if (aNode.isContent()) {
        if (aNode.mNode->IsElement()) {
            mozilla::dom::NodeInfo* nodeInfo = aNode.Content()->NodeInfo();
            nodeInfo->GetName(aLocalName);
            return;
        }

        if (aNode.mNode->IsNodeOfType(nsINode::ePROCESSING_INSTRUCTION)) {
            // PIs don't have a nodeinfo but do have a name
            // XXXbz Not actually true, but this function looks like it wants
            // different things from elements and PIs for "local name"...
            aLocalName = aNode.mNode->NodeName();
            return;
        }

        aLocalName.Truncate();

        return;
    }

    aNode.Content()->AsElement()->GetAttrNameAt(aNode.mIndex)->LocalName()->
      ToString(aLocalName);

    // Check for html
    if (aNode.Content()->NodeInfo()->NamespaceEquals(kNameSpaceID_None) &&
        aNode.Content()->IsHTMLElement()) {
        nsContentUtils::ASCIIToUpper(aLocalName);
    }
}
开发者ID:luke-chang,项目名称:gecko-1,代码行数:39,代码来源:txMozillaXPathTreeWalker.cpp

示例10: CallQueryInterface

/* static */
nsresult
txXPathNativeNode::getNode(const txXPathNode& aNode, nsIDOMNode** aResult)
{
    if (!aNode.isAttribute()) {
        return CallQueryInterface(aNode.mNode, aResult);
    }

    const nsAttrName* name = aNode.Content()->GetAttrNameAt(aNode.mIndex);

    nsAutoString namespaceURI;
    nsContentUtils::NameSpaceManager()->GetNameSpaceURI(name->NamespaceID(), namespaceURI);

    nsCOMPtr<nsIDOMElement> element = do_QueryInterface(aNode.mNode);
    nsCOMPtr<nsIDOMAttr> attr;
    element->GetAttributeNodeNS(namespaceURI,
                                nsDependentAtomString(name->LocalName()),
                                getter_AddRefs(attr));

    return CallQueryInterface(attr, aResult);
}
开发者ID:almet,项目名称:mozilla-central,代码行数:21,代码来源:txMozillaXPathTreeWalker.cpp


注:本文中的txXPathNode::Content方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。