REXML: Raw tags in element text?

In REXML, is it possible to add raw tags to element text, without having
to add elements for those tags?
(I would like to add a few HTML tags like to strings, before I
know what element nodes they will appear at.)

Best regards,

Jari W.

On Nov 23, 2:26 pm, Jari W.
[email protected] wrote:

In REXML, is it possible to add raw tags to element text, without having
to add elements for those tags?
(I would like to add a few HTML tags like to strings, before I
know what element nodes they will appear at.)

Are you wanting to ad XML elements as children of another without
using the DOM to create them (like setting .innerHTML in a web
browser, causing it to parse your string and create elements as
necessary),

or are you wanting to set the contents of a text node to have
characters that look like XML tags, but have it automatically escape
them for you?

Phrogz wrote:

necessary),
Yes, this is what I want.

Best regards,

Jari W.

2007/11/24, Jari W. [email protected]:

browser, causing it to parse your string and create elements as
necessary),

Yes, this is what I want.

I believe you can do it (i.e. add raw tags to text) BUT they will not
show up as tags when output. Which is completely logical once you
think about it. If you work with a DOM you have to add nodes as
nodes. Maybe you can just create a small sub tree with a node and
your text as nested text and later put that node into the tree.

Kind regards

robert

Robert K. wrote:

browser, causing it to parse your string and create elements as
necessary),
Yes, this is what I want.

I believe you can do it (i.e. add raw tags to text) BUT they will not
show up as tags when output. Which is completely logical once you
think about it. If you work with a DOM you have to add nodes as
nodes. Maybe you can just create a small sub tree with a node and
your text as nested text and later put that node into the tree.

Since nothing seems to exist I wrote my own 2-line method: It adds a raw
string, parses it and passes all nodes to the parent element. Here’s the
code if anyone else would need it:


class REXML::Element
def add_raw_text(raw_text)
doc = REXML::Document.new(""+raw_text+"")
doc.root.children.each { |e| self << e }
end
end

Example:
myelement.add_raw_text(“here’s a bold test”)

Best regards,

Jari W.