Open
Description
I've had to override this method of MarkupParser due to what I think is a bug:
def xCharData: NodeSeq = {
xToken("[CDATA[")
def mkResult(pos: Int, s: String): NodeSeq = {
handle.text(pos, s) // NOTE: Handle the text
PCData(s) // Ignores the result of handling, and creates a PCData with the original string!
}
xTakeUntil(mkResult, () => pos, "]]>")
}
I put comments in there to illustrate what I think is the issue.
I think this is the fix:
override def xCharData: NodeSeq = {
xToken("[CDATA[")
def mkResult(pos: Int, s: String): NodeSeq = {
cdata(pos, s)
}
xTakeUntil(mkResult, () => pos, "]]>")
}
// This method below gets a prototype on MarkupHandler and is overridden here
// with a default implementation that creates a PCData node.
override def cdata(pos: Int, s: String): NodeSeq = {
PCData(s) // by default, just create PCData with the string.
}
I am not sure whether that method should be named cdata or pcdata.
If this makes sense, I can create a PR for this. But I wanted to run it by you first.
Metadata
Metadata
Assignees
Labels
No labels