xmlgraphics-batik-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Venkat S Kota <vsrk...@netscape.net>
Subject Re: problem with JPEGTranscoder
Date Tue, 15 Jun 2004 11:09:32 GMT

cam-batik-users@aka.mcc.id.au wrote:

>Venkat S Kota:
>  
>
>>thanks for the reply. I am using Batik 1.5.1
>>    
>>
>
>In which case, I'm not sure why it's not cloning properly, sorry.
>
>  
>

Hi

I have downloaded the source distribution and found that the attribute 
node value is ignored while creating a new node in the importNode() 
implementation in the AbstractDocument class. See the code snippets 
below.. I presume the bug Cameron mentioned is still existing but I 
couldn't find any open bugs describing such behaviour. Can someone 
explain if my understanding is incorrect?

thanks
Venkat

DOMUtilities.java
-------------------
    public static Document deepCloneDocument(Document doc, 
DOMImplementation impl) {
        Element root = doc.getDocumentElement();
        Document result = impl.createDocument(root.getNamespaceURI(),
                                              root.getNodeName(),
                                              null);
        Element rroot = result.getDocumentElement();
        boolean before = true;
        for (Node n = doc.getFirstChild(); n != null; n = 
n.getNextSibling()) {
            if (n == root) {
                before = false;
                if (root.hasAttributes()) {
                    NamedNodeMap attr = root.getAttributes();
                    int len = attr.getLength();
                    for (int i = 0; i < len; i++) {
                        
rroot.setAttributeNode((Attr)result.importNode(attr.item(i),
                                                                       
true));
                    }
                }
                ......
AbstractDocument.java
------------------------
    public Node importNode(Node importedNode, boolean deep)
        throws DOMException {
        ...
        Node result;
        switch (importedNode.getNodeType()) {
        case ELEMENT_NODE:
        ...
           
        case ATTRIBUTE_NODE:
            result = createAttributeNS(importedNode.getNamespaceURI(),
                                       importedNode.getNodeName());
            break;



Mime
View raw message