Christian Baune created XMLBEANS-570:
----------------------------------------

             Summary: Bookmark are not copied ov
                 Key: XMLBEANS-570
                 URL: https://issues.apache.org/jira/browse/XMLBEANS-570
             Project: XMLBeans
          Issue Type: Bug
          Components: Cursor, XmlObject
    Affects Versions: Version 5.0.0
         Environment: UbuntuLinux, XMLBean 5.0.0
            Reporter: Christian Baune


Documentation state:
{quote}The cursors and bookmarks located in the XML that was copied are also 
copied to the new location.
{quote}
It does not copy the bookmark, but moves it.

It also move the original cursor.

When running the code bellow, the expected output is:
{noformat}
<a>Test 1</a>
<a>modified</a>{noformat}
The current output is:
{noformat}
<a>Test 1</a>{noformat}
Code (Kotlin) to reproduce the issue:
{code:none}
data class TestBookmark(val key:String): XmlCursor.XmlBookmark(){
    override fun getKey():Any{
        return key
    }
}

fun main(){
    @Language("XML") val xml="""<r>
        |<a>Test 1</a>
        |<a>Test 2</a>
        |<a>Test 3</a>
        |<a>Test 4</a>
        |</r>""".trimMargin()
    val xmlObj=XmlObject.Factory.parse(xml)
    val bk=TestBookmark("test")
    xmlObj.newCursor().use { cur->
        cur.advanceTo(QName("a"))
        cur.setBookmark(bk)
        cur.newCursor().use { here ->
            // Per doc: The cursors and bookmarks located in the XML that was 
copied are also copied to the new location.
            cur.copyXml(here)
            here.textValue="changed"
        }
    }
    xmlObj.newCursor().use { cur->
        while (cur.toNextBookmark("test")!=null){
            // Expect to print <a>Test 1</a> and <a>changed</a>
            println(cur.xmlText())
        }
    }
}
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org

Reply via email to