You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xmlbeans.apache.org by "Cezar Andrei (JIRA)" <xm...@xml.apache.org> on 2007/02/01 01:07:07 UTC
[jira] Resolved: (XMLBEANS-311) XmlCursor.getTextValue returns
concatenation of child text, comment, and processing instruction nodes
[ https://issues.apache.org/jira/browse/XMLBEANS-311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Cezar Andrei resolved XMLBEANS-311.
-----------------------------------
Resolution: Fixed
Fix Version/s: Version 2.2.1
Assignee: Cezar Andrei
I fixed this issue last week.
> XmlCursor.getTextValue returns concatenation of child text, comment, and processing instruction nodes
> -----------------------------------------------------------------------------------------------------
>
> Key: XMLBEANS-311
> URL: https://issues.apache.org/jira/browse/XMLBEANS-311
> Project: XMLBeans
> Issue Type: Bug
> Components: Cursor
> Affects Versions: Version 2.2.1
> Environment: Microsoft Windows XP Professional Version 2002 (Service Pack 2)
> Intel Pentium 4 CPU 3.00GHZ
> Reporter: Coram Bryant
> Assigned To: Cezar Andrei
> Priority: Minor
> Fix For: Version 2.2.1
>
>
> According to the XmlBeans javadocs, if the XmlCursor corresponds to an element then non-text content such as comments and processing instructions are ignored. However, as the following test shows, this is not the case:
> String xml = "<element><!--A Comment-->999<?PI A Processing Instruction?></element>";
> XmlObject xo = XmlObject.Factory.parse(xml);
> XmlCursor xc = xo.newCursor();
> xc.toFirstChild();
> System.out.println(xc.currentTokenType()); // Verify that we are positioned at the start of an element
> System.out.println(xc.getTextValue());
> This prints out:
> START
> A Comment 999A Processing Instruction
> Analysis:
> In this case, the call stack is as follows:
> org.apache.xmlbeans.impl.store.Cursor.getTextValue
> org.apache.xmlbeans.impl.store.Cursor._getTextValue
> org.apache.xmlbeans.impl.store.Locale.getTextValue
> In this method, the text value is built up with the text of instances of Cur for which the isText method returns true. I believe the org.apache.xmlbeans.impl.store.Cur.isText method should be as follows:
> boolean isText ( ) { assert isPositioned(); return _pos > 0 && kindIsContainer(_xobj.kind()); }
> This would exclude comments and processing instructions.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: dev-help@xmlbeans.apache.org