本文整理汇总了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);
}
示例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();
}
示例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;
}
示例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);
}
示例5: isText
/* static */
bool
txXPathNodeUtils::isWhitespace(const txXPathNode& aNode)
{
NS_ASSERTION(aNode.isContent() && isText(aNode), "Wrong type!");
return aNode.Content()->TextIsOnlyWhitespace();
}
示例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);
}
}
示例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);
}
示例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);
}
}
示例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);
}
}
示例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);
}