Adding any <text/> to a rexml doc (bump)

is there know way to do this

   require "rexml/document"

   include REXML

   Text::new " i < know & what i'm doing "

it seems not...

-a

···

--

ara [dot] t [dot] howard [at] noaa [dot] gov
all happiness comes from the desire for others to be happy. all misery
comes from the desire for oneself to be happy.
-- bodhicaryavatara

===============================================================================

Hi,

is there know way to do this

   require "rexml/document"

   include REXML

   Text::new " i < know & what i'm doing "

it seems not...

I am not sure, what you want to do, but perhaps

Text.unnormalize(" i < know & what i'm doing ") is the answer?

REXML won't let this into the element hierarchy, afaik.

Patrick

is there know way to do this

   require "rexml/document"

   include REXML

   Text::new " i < know & what i'm doing "

it seems not...

Perhaps it is time to try Builder or htree? :slight_smile:

-a

E

···

On 2005.12.16 03:57, ara.t.howard@noaa.gov wrote:

it will - you just have to trick it:

   element.text =
     ::REXML::Text::new(
       string_we_want_untouched,
       respect_whitespace=true,
       parent=nil,
       raw=true,
       entity_filter=nil,
       illegal=%r/.^/m # match nothing!
     )

sean, if you're reading this a feature in the api to allow this would be great.

cheers.

-a

···

On Fri, 16 Dec 2005, Patrick Gundlach wrote:

Hi,

is there know way to do this

   require "rexml/document"

   include REXML

   Text::new " i < know & what i'm doing "

it seems not...

I am not sure, what you want to do, but perhaps

Text.unnormalize(" i < know & what i'm doing ") is the answer?

REXML won't let this into the element hierarchy, afaik.

--

ara [dot] t [dot] howard [at] noaa [dot] gov
all happiness comes from the desire for others to be happy. all misery
comes from the desire for oneself to be happy.
-- bodhicaryavatara

===============================================================================

i can't stand the builder api. htree is good - but i'm not looking for a
template engine - does it provide hooks to generate html without using
templates. the code i'm working on attm can do things like this:

     [ahoward@localhost xx-0.0.0]$ cat a.rb
     require "xx"
     class Table < ::Array
       include XX::XHTML

       def to_xhtml
         xhtml__{

           html__{
             head__{ title__{ "table demo" } }

             h1__(:style => :sweet){ "this is a table " }

             h__{ "<malformed html & open tags" }

             table__(:width => 42, :height => 42){
               each{|row| tr__{ row.each{|cell| td__ cell } } }
             }
           }

         }.pretty
       end
     end

     puts Table[ %w( 0 1 2 ), %w( a b c ) ].to_xhtml

     [ahoward@localhost xx-0.0.0]$ ruby -I./lib a.rb
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     <html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
       <head>
         <title>table demo</title>
       </head>
       <h1 style='sweet'>this is a table </h1><malformed html & open tags<table height='42' width='42'>
         <tr>
           <td>0</td>
           <td>1</td>
           <td>2</td>
         </tr>
         <tr>
           <td>a</td>
           <td>b</td>
           <td>c</td>
         </tr>
       </table>
     </html>

coming soon to a store near you :wink:

regards.

-a

···

On Fri, 16 Dec 2005, Eero Saynatkari wrote:

On 2005.12.16 03:57, ara.t.howard@noaa.gov wrote:

is there know way to do this

   require "rexml/document"

   include REXML

   Text::new " i < know & what i'm doing "

it seems not...

Perhaps it is time to try Builder or htree? :slight_smile:

--

ara [dot] t [dot] howard [at] noaa [dot] gov
all happiness comes from the desire for others to be happy. all misery
comes from the desire for oneself to be happy.
-- bodhicaryavatara

===============================================================================

Ahh thats what the non matching regex was for...

Cheers-

-Ezra Zygmuntowicz
WebMaster
Yakima Herald-Republic Newspaper
ezra@yakima-herald.com
509-577-7732

···

On Dec 15, 2005, at 5:47 PM, ara.t.howard@noaa.gov wrote:

On Fri, 16 Dec 2005, Patrick Gundlach wrote:

Hi,

is there know way to do this

   require "rexml/document"

   include REXML

   Text::new " i < know & what i'm doing "

it seems not...

I am not sure, what you want to do, but perhaps

Text.unnormalize(" i < know & what i'm doing ") is the answer?

REXML won't let this into the element hierarchy, afaik.

it will - you just have to trick it:

  element.text =
    ::REXML::Text::new(
      string_we_want_untouched,
      respect_whitespace=true,
      parent=nil,
      raw=true,
      entity_filter=nil,
      illegal=%r/.^/m # match nothing!
    )

sean, if you're reading this a feature in the api to allow this would be great.

cheers.

-a

>>
>>
>>
>>
>> is there know way to do this
>>
>> require "rexml/document"
>>
>> include REXML
>>
>> Text::new " i < know & what i'm doing "
>>
>> it seems not...
>
> Perhaps it is time to try Builder or htree? :slight_smile:

i can't stand the builder api. htree is good - but i'm not looking for a
template engine - does it provide hooks to generate html without using
templates. the code i'm working on attm can do things like this:

     [ahoward@localhost xx-0.0.0]$ cat a.rb
     require "xx"
     class Table < ::Array
       include XX::XHTML

       def to_xhtml
         xhtml__{

           html__{
             head__{ title__{ "table demo" } }

             h1__(:style => :sweet){ "this is a table " }

             h__{ "<malformed html & open tags" }

             table__(:width => 42, :height => 42){
               each{|row| tr__{ row.each{|cell| td__ cell } } }
             }
           }

         }.pretty
       end
     end

     puts Table[ %w( 0 1 2 ), %w( a b c ) ].to_xhtml

     [ahoward@localhost xx-0.0.0]$ ruby -I./lib a.rb
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     <html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
       <head>
         <title>table demo</title>
       </head>
       <h1 style='sweet'>this is a table </h1><malformed html & open tags<table height='42' width='42'>
         <tr>
           <td>0</td>
           <td>1</td>
           <td>2</td>
         </tr>
         <tr>
           <td>a</td>
           <td>b</td>
           <td>c</td>
         </tr>
       </table>
     </html>

coming soon to a store near you :wink:

Very nice! (Well, sans underscores:)

Will you make libxml2[1] an alternative backend? It is quite
a bit faster, which may or may not be important to people.

regards.

-a

E

[1] http://xml-tools.rubyforge.org

···

On 2005.12.16 14:38, ara.t.howard@noaa.gov wrote:

On Fri, 16 Dec 2005, Eero Saynatkari wrote:
> On 2005.12.16 03:57, ara.t.howard@noaa.gov wrote:

caught in the act... mine worked.. but it wasn't nice looking :wink:

-a

···

On Fri, 16 Dec 2005, Ezra Zygmuntowicz wrote:

Ahh thats what the non matching regex was for...

--

ara [dot] t [dot] howard [at] noaa [dot] gov
all happiness comes from the desire for others to be happy. all misery
comes from the desire for oneself to be happy.
-- bodhicaryavatara

===============================================================================

coming soon to a store near you :wink:

Very nice! (Well, sans underscores:)

glad you like the look of it. i struggled with the underscore thing and
here's how i got there:

   - wanted access to instance data. ergo mixin. ergo can't be clobbering the
     objects methods with a billion others.

   - didn't want a 'blanket' method missing. i wanted to a way to say that
     only 'tag' methods would be handled in method_missing - not everything.
     otherwise

       syntax_error 42

     makes

       <syntax_error>42</syntax_error>

     fine for small docs. not for big ones. mine works like

       def method_missing m, *a, &b
         if m.to_s =~ %r/_$/
           ...
         else
           ...
         end
       end

     so only some methods (those with __) get routed to method_missing

   - needed to address methods/tag like 'p', 'a', 'i' - which can easily be
     methods and/or local vars

   - wanted a way to skim the code and be able to tell which methods were
     generating tags and which were not

   - wanted a way to bounce on the % key in vi and balance tags... well that
     one doesn't have to do with underscores i guess...

anyhow. i hope people will row to see that being able to __safely__ mixin
these kinds of html generation methods, still being able to find syntax
errors, and being able to quickly tell markup methods from others makes it
o.k. my boss and i struggled with it - but it was the best approach in the
end when considering the above.

Will you make libxml2[1] an alternative backend?

i'd be happy to look at it... send me a link if it's not on raa or
rubyforge...

It is quite a bit faster, which may or may not be important to people.

it is. this will be used on dynamic websites.

[1] http://xml-tools.rubyforge.org

oh. didn't see that at first :wink:

cheers.

-a

···

On Fri, 16 Dec 2005, Eero Saynatkari wrote:
--

ara [dot] t [dot] howard [at] noaa [dot] gov
all happiness comes from the desire for others to be happy. all misery
comes from the desire for oneself to be happy.
-- bodhicaryavatara

===============================================================================