[ https://issues.apache.org/jira/browse/XMLBEANS-570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17416084#comment-17416084 ]
PJ Fanning commented on XMLBEANS-570: ------------------------------------- Unfortunately, the XMLBeans code is very old and very people know much about how it works. It is maintained by the Apache POI team because we use some features of XMLBeans but I'm afraid that few of us know much about the other features. Feel free to experiment yourself and we'll happily merge any fixes you might come up with. > Bookmark are not copied when you copy cursors > --------------------------------------------- > > 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 > Priority: Major > > 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