Yes I've been looking all over the code. Right now I think that I have
two options. Could I get some more feedback?
1) hack :)
write a mixin that will go through the dom after rendering and
replace element/attribute names with desired versions: "fm_fbml" to
"fb:fbml". This is how I'll start, but it would be much better to have
tapestry support namespaces properly.
2) start submitting patches to have tapestry support namespaces:
a) Maintain Namespace in Tapestry DOM
1) add url to tapestry.dom nodes
2) have tapestry parser set them
3) the information will be available for mixins/components
b) We can then print them out, by default or by configuration
1) generate url/prefix mappings
2) print them out as appropriate
3) have some way to have desired prefixes
( or somehow pull them out from the original template ).
Any feedback? Do you think patches to have tapestry support namespaces
would be wanted??
Nick Westgate wrote:
Or possibly patch TemplateParser to do what you want.
Tapestry uses SAX. See:
org.apache.tapestry.internal.services.TemplateParserImpl
Cheers,
Nick.
Josh Canfield wrote:
This has been mentioned as a bug in this list, search for *T5: XML
declaration is missing from rendered page. Any workrounds?*
While I haven't tried this, I imagine that you could create components to
work around this for now using MarkupWriter.writeRaw(). Or possibly
use the
OutputRaw component.
http://tapestry.apache.org/tapestry5/tapestry-core/apidocs/org/apache/tapestry/corelib/components/OutputRaw.html
Josh
On 8/30/07, Fernando Padilla <[EMAIL PROTECTED]> wrote:
Hi. We are going to be writing a facebook application, and we want to
use Tapestry 5. To do so, we have to generate FBML:
http://wiki.developers.facebook.com/index.php/FBML
We came hit a pretty big snag, in that it doesn't look like tapestry 5
support namespaces/prefixes. Below you see the tapestry template we are
using, and you see the output below it. And we need all of the "fb:"
prefixes to stay there, as well as the "xmlns:fb" declaration.
Do you have any ideas? I know I can probably create a component for
each element, but that would just be a big unmaintainable pain ( there
are like 50 right now and the FBML language changes ).. Or is there a
simpler way to maintain lots of mostly the same components :(
Any other ideas?
<fb:fbml xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"
xmlns:fb="http://apps.facebook.com/ns/1.0">
<h1>Welcome</h1>
<p>Just to prove this is live: </p>
<p> The current time is: ${currentTime}. </p>
<fb:name uid="1305604"/>
<span>[<t:pagelink t:page="Start">refresh</t:pagelink>]</span>
</fb:fbml>
<fbml>
<h1>Welcome</h1>
<p>Just to prove this is live: </p>
<p> The current time is: Thu Aug 30 13:43:19 PDT 2007. </p>
<name uid="1305604"></name>
<span>[<a href="/fandom/start" id="pagelink">refresh</a>]</span>
</fbml>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]