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


Java Node.ENTITY_REFERENCE_NODE属性代码示例

本文整理汇总了Java中mf.org.w3c.dom.Node.ENTITY_REFERENCE_NODE属性的典型用法代码示例。如果您正苦于以下问题:Java Node.ENTITY_REFERENCE_NODE属性的具体用法?Java Node.ENTITY_REFERENCE_NODE怎么用?Java Node.ENTITY_REFERENCE_NODE使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在mf.org.w3c.dom.Node的用法示例。


在下文中一共展示了Node.ENTITY_REFERENCE_NODE属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getFirstElementChild

/**
 * @see <a href="http://www.w3.org/TR/2008/REC-ElementTraversal-20081222/#attribute-firstElementChild">
 * Element Traversal Specification</a>
 */
public final Element getFirstElementChild() {
    Node n = getFirstChild();
    while (n != null) {
        switch (n.getNodeType()) {
            case Node.ELEMENT_NODE:
                return (Element) n;
            case Node.ENTITY_REFERENCE_NODE:
                final Element e = getFirstElementChild(n);
                if (e != null) {
                    return e;
                }
                break;
        }
        n = n.getNextSibling();
    }
    return null;
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:21,代码来源:ElementImpl.java

示例2: getLastElementChild

/**
 * @see <a href="http://www.w3.org/TR/2008/REC-ElementTraversal-20081222/#attribute-lastElementChild">
 * Element Traversal Specification</a>
 */
public final Element getLastElementChild() {
    Node n = getLastChild();
    while (n != null) {
        switch (n.getNodeType()) {
            case Node.ELEMENT_NODE:
                return (Element) n;
            case Node.ENTITY_REFERENCE_NODE:
                final Element e = getLastElementChild(n);
                if (e != null) {
                    return e;
                }
                break;
        }
        n = n.getPreviousSibling();
    }
    return null;
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:21,代码来源:ElementImpl.java

示例3: getNextElementSibling

/**
 * @see <a href="http://www.w3.org/TR/2008/REC-ElementTraversal-20081222/#attribute-nextElementSibling">
 * Element Traversal Specification</a>
 */
public final Element getNextElementSibling() {
    Node n = getNextLogicalSibling(this);
    while (n != null) {
        switch (n.getNodeType()) {
            case Node.ELEMENT_NODE:
                return (Element) n;
            case Node.ENTITY_REFERENCE_NODE:
                final Element e = getFirstElementChild(n);
                if (e != null) {
                    return e;
                }
                break;
        }
        n = getNextLogicalSibling(n);
    }
    return null;
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:21,代码来源:ElementImpl.java

示例4: getPreviousElementSibling

/**
 * @see <a href="http://www.w3.org/TR/2008/REC-ElementTraversal-20081222/#attribute-previousElementSibling">
 * Element Traversal Specification</a>
 */
public final Element getPreviousElementSibling() {
    Node n = getPreviousLogicalSibling(this);
    while (n != null) {
        switch (n.getNodeType()) {
            case Node.ELEMENT_NODE:
                return (Element) n;
            case Node.ENTITY_REFERENCE_NODE:
                final Element e = getLastElementChild(n);
                if (e != null) {
                    return e;
                }
                break;
        }
        n = getPreviousLogicalSibling(n);
    }
    return null;
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:21,代码来源:ElementImpl.java

示例5: getNextLogicalSibling

private Node getNextLogicalSibling(Node n) {
    Node next = n.getNextSibling();
    // If "n" has no following sibling and its parent is an entity reference node we 
    // need to continue the search through the following siblings of the entity 
    // reference as these are logically siblings of the given node.
    if (next == null) {
        Node parent = n.getParentNode();
        while (parent != null && parent.getNodeType() == Node.ENTITY_REFERENCE_NODE) {
            next = parent.getNextSibling();
            if (next != null) {
                break;
            }
            parent = parent.getParentNode();
        }
    }
    return next;
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:17,代码来源:ElementImpl.java

示例6: getPreviousLogicalSibling

private Node getPreviousLogicalSibling(Node n) {
    Node prev = n.getPreviousSibling();
    // If "n" has no previous sibling and its parent is an entity reference node we 
    // need to continue the search through the previous siblings of the entity 
    // reference as these are logically siblings of the given node.
    if (prev == null) {
        Node parent = n.getParentNode();
        while (parent != null && parent.getNodeType() == Node.ENTITY_REFERENCE_NODE) {
            prev = parent.getPreviousSibling();
            if (prev != null) {
                break;
            }
            parent = parent.getParentNode();
        }
    }
    return prev;
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:17,代码来源:ElementImpl.java

示例7: setReadOnly

/**
 * Override default behavior so that if deep is true, children are also
 * toggled.
 * @see Node
 * <P>
 * Note: this will not change the state of an EntityReference or its
 * children, which are always read-only.
 */
public void setReadOnly(boolean readOnly, boolean deep) {

    super.setReadOnly(readOnly, deep);

    if (deep) {

        if (needsSyncChildren()) {
            synchronizeChildren();
        }

        if (hasStringValue()) {
            return;
        }
        // Recursively set kids
        for (ChildNode mykid = (ChildNode) value;
             mykid != null;
             mykid = mykid.nextSibling) {
            if (mykid.getNodeType() != Node.ENTITY_REFERENCE_NODE) {
                mykid.setReadOnly(readOnly,true);
            }
        }
    }
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:31,代码来源:AttrImpl.java

示例8: hasTextOnlyChildren

/**
 * Check if an EntityReference node has Text Only child nodes
 * 
 * @param node
 * @return true - Contains text only children
 */
private boolean hasTextOnlyChildren(Node node) {

    Node child = node;
    
    if (child == null) {
        return false;
    }
    
    child = child.getFirstChild();
    while (child != null) {
        int type = child.getNodeType();
        
        if (type == Node.ENTITY_REFERENCE_NODE) {
            return hasTextOnlyChildren(child);
        } 
        else if (type != Node.TEXT_NODE
                && type != Node.CDATA_SECTION_NODE
                && type != Node.ENTITY_REFERENCE_NODE) {
            return false;
        }
        child = child.getNextSibling();
    }
    return true;
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:30,代码来源:TextImpl.java

示例9: setReadOnly

/**
 * Override default behavior so that if deep is true, children are also
 * toggled.
 * @see Node
 * <P>
 * Note: this will not change the state of an EntityReference or its
 * children, which are always read-only.
 */
public void setReadOnly(boolean readOnly, boolean deep) {

    super.setReadOnly(readOnly, deep);

    if (deep) {

        if (needsSyncChildren()) {
            synchronizeChildren();
        }

        // Recursively set kids
        for (ChildNode mykid = firstChild;
             mykid != null;
             mykid = mykid.nextSibling) {
            if (mykid.getNodeType() != Node.ENTITY_REFERENCE_NODE) {
                mykid.setReadOnly(readOnly,true);
            }
        }
    }
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:28,代码来源:ParentNode.java

示例10: getWholeTextForward

/**
 * Concatenates the text of all logically-adjacent text nodes to the 
 * right of this node
 * @param node
 * @param buffer
 * @param parent 
 * @return true - if execution was stopped because the type of node
 *         other than EntityRef, Text, CDATA is encountered, otherwise
 *         return false
 */
private boolean getWholeTextForward(Node node, StringBuffer buffer, Node parent){
	// boolean to indicate whether node is a child of an entity reference
	boolean inEntRef = false;
	
	if (parent!=null) {
		inEntRef = parent.getNodeType()==Node.ENTITY_REFERENCE_NODE;
	}
	
    while (node != null) {
        short type = node.getNodeType();
        if (type == Node.ENTITY_REFERENCE_NODE) {
            if (getWholeTextForward(node.getFirstChild(), buffer, node)){
                return true;
            }
        }
        else if (type == Node.TEXT_NODE || 
                 type == Node.CDATA_SECTION_NODE) {
            ((NodeImpl)node).getTextContent(buffer);
        }
        else {
            return true; 
        }

        node = node.getNextSibling();
    }
   
    // if the parent node is an entity reference node, must 
    // check nodes to the right of the parent entity reference node for logically adjacent
    // text nodes
    if (inEntRef) {
        getWholeTextForward(parent.getNextSibling(), buffer, parent.getParentNode());
    		return true;
    }
    
    return false;
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:46,代码来源:TextImpl.java

示例11: getWholeTextBackward

/**
 * Concatenates the text of all logically-adjacent text nodes to the left of 
 * the node
 * @param node
 * @param buffer
 * @param parent
 * @return true - if execution was stopped because the type of node
 *         other than EntityRef, Text, CDATA is encountered, otherwise
 *         return false
 */
private boolean getWholeTextBackward(Node node, StringBuffer buffer, Node parent){
	
	// boolean to indicate whether node is a child of an entity reference
	boolean inEntRef = false;
	if (parent!=null) {
		inEntRef = parent.getNodeType()==Node.ENTITY_REFERENCE_NODE;
	}
	
    while (node != null) {
        short type = node.getNodeType();
        if (type == Node.ENTITY_REFERENCE_NODE) {
            if (getWholeTextBackward(node.getLastChild(), buffer, node)){
                return true;
            }
        }
        else if (type == Node.TEXT_NODE || 
                 type == Node.CDATA_SECTION_NODE) {
            ((TextImpl)node).insertTextContent(buffer);
        }
        else {
            return true; 
        }

        node = node.getPreviousSibling();
    }
    
    // if the parent node is an entity reference node, must 
    // check nodes to the left of the parent entity reference node for logically adjacent
    // text nodes
    if (inEntRef) {
    	getWholeTextBackward(parent.getPreviousSibling(), buffer, parent.getParentNode());
        return true;
    }
    
    return false;
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:46,代码来源:TextImpl.java

示例12: previousNode

/** The method previousNode(Node) returns the previous node 
 *  from the actual DOM tree.
 */
Node previousNode(Node node) {
    
    Node result;
    
    // if we're at the root, return null.
    if (node == fRoot) return null;
    
    // get sibling
    result = node.getPreviousSibling();
    if (result == null) {
        //if 1st sibling, return parent
        result = node.getParentNode();
        return result;
    }
    
    // if sibling has children, keep getting last child of child.
    if (result.hasChildNodes()
        && !(!fEntityReferenceExpansion
            && result != null
            && result.getNodeType() == Node.ENTITY_REFERENCE_NODE)) 
   
    {
        while (result.hasChildNodes()) {
            result = result.getLastChild();
        }
    }          
        
    return result;
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:32,代码来源:NodeIteratorImpl.java

示例13: saveEnclosingAttr

/**
 * NON-DOM INTERNAL: Pre-mutation context check, in
 * preparation for later generating DOMAttrModified events.
 * Determines whether this node is within an Attr
 * @param node node to get enclosing attribute for
 */
protected void saveEnclosingAttr(NodeImpl node) {
    savedEnclosingAttr = null;
    // MUTATION PREPROCESSING AND PRE-EVENTS:
    // If we're within the scope of an Attr and DOMAttrModified 
    // was requested, we need to preserve its previous value for
    // that event.
    LCount lc = LCount.lookup(MutationEventImpl.DOM_ATTR_MODIFIED);
    if (lc.total > 0) {
        NodeImpl eventAncestor = node;
        while (true) {
            if (eventAncestor == null)
                return;
            int type = eventAncestor.getNodeType();
            if (type == Node.ATTRIBUTE_NODE) {
                EnclosingAttr retval = new EnclosingAttr();
                retval.node = (AttrImpl) eventAncestor;
                retval.oldvalue = retval.node.getNodeValue();
                savedEnclosingAttr = retval;
                return;
            }
            else if (type == Node.ENTITY_REFERENCE_NODE)
                eventAncestor = eventAncestor.parentNode();
            else if (type == Node.TEXT_NODE)
                eventAncestor = eventAncestor.parentNode();
            else
                return;
            // Any other parent means we're not in an Attr
        }
    }
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:36,代码来源:DocumentImpl.java

示例14: getFirstChild

/** Internal function.
 *  Return the first child Node, from the input node
 *  after applying filter, whatToshow.
 *  The current node is not consulted or set.
 */
Node getFirstChild(Node node) {
    if (node == null) return null;
    
    if ( !fEntityReferenceExpansion
         && node.getNodeType() == Node.ENTITY_REFERENCE_NODE)
        return null;
    Node newNode = node.getFirstChild();
    if (newNode == null)  return null;
    int accept = acceptNode(newNode);
    
    if (accept == NodeFilter.FILTER_ACCEPT)
        return newNode;
    else 
    if (accept == NodeFilter.FILTER_SKIP
        && newNode.hasChildNodes()) 
    {
        Node fChild = getFirstChild(newNode);
        
        if (fChild == null) {
            return getNextSibling(newNode, node);
        }
        return fChild;
    }
    else 
    //if (accept == NodeFilter.REJECT_NODE) 
    {
        return getNextSibling(newNode, node);
    }
    
    
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:36,代码来源:TreeWalkerImpl.java

示例15: getLastChild

/** Internal function.
 *  Return the last child Node, from the input node
 *  after applying filter, whatToshow.
 *  The current node is not consulted or set.
 */
Node getLastChild(Node node) {
    
    if (node == null) return null;
    
    if ( !fEntityReferenceExpansion
         && node.getNodeType() == Node.ENTITY_REFERENCE_NODE)
        return null;
        
    Node newNode = node.getLastChild();
    if (newNode == null)  return null; 
    
    int accept = acceptNode(newNode);
    
    if (accept == NodeFilter.FILTER_ACCEPT)
        return newNode;
    else 
    if (accept == NodeFilter.FILTER_SKIP
        && newNode.hasChildNodes()) 
    {
        Node lChild = getLastChild(newNode);
        if (lChild == null) {
            return getPreviousSibling(newNode, node);
        }
        return lChild;
    }
    else 
    //if (accept == NodeFilter.REJECT_NODE) 
    {
        return getPreviousSibling(newNode, node);
    }
    
    
}
 
开发者ID:MaTriXy,项目名称:xerces-for-android,代码行数:38,代码来源:TreeWalkerImpl.java


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