pivot-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roger L. Whitcomb" <Roger.Whitc...@actian.com>
Subject RE: in java how can i reference the instance define in a nested bxml's "bxml:id..."
Date Thu, 23 Jan 2014 20:39:33 GMT
So, after digging into this some more, I begin to see what you mean.  If you don't use "inline='true'"
on your "bxml:include" then there is no way (directly) to get access to the included file's
serializer, and thus its namespace.  If you use "inline" (of course) then you have the possibility
of name collisions.

One possible solution to this is to use a custom subclass of BXMLSerializer (that you would
have to register using BXMLSerializer.getMimeTypes().put("bxml", your new Serializer class))
that would do something different with the namespace map.  The difficulty would be associating
the namespace of the included file with the main file's namespace, since there is no connection
(currently).

It definitely does seem like we *should* be able to deal with this situation more gracefully,
but I'm at somewhat of a loss right now what to suggest.  Perhaps we could make a change,
and pass some more information to an "include"d serializer that would tell it to put its variables
into the parent's namespace as something like the bxml:id of the include element followed
by ":" and the id.  Then for multiple levels of nesting you would get "a:b:c", and etc.  How
that would work with the variable bindings, (i.e., using "serializer.bind(...)") I don't know.

Anyone else have thoughts?  *Perhaps* there is some way, as Karel is suggesting, of using
namespace binding, but I'm not seeing that either.  Of course, making a Pivot change like
this isn't likely to help with your deadline.

So, I guess my best suggestion at this point is to make wise choices about how you split up
your BXML files, and how the "include" structure works, so that you don't have to do cross-file
referencing.  And/or make judicious use of "inline='true'" to put the included variables into
the main file's namespace.

Anybody else see something I'm not seeing?

Thanks,
~Roger

-----Original Message-----
From: Roger L. Whitcomb [mailto:Roger.Whitcomb@actian.com] 
Sent: Thursday, January 23, 2014 10:08 AM
To: user@pivot.apache.org
Subject: RE: in java how can i reference the instance define in a nested bxml's "bxml:id..."

Hi Mark,
	I assume you've read through the BXML Primer here: http://pivot.apache.org/tutorials/bxml-primer.html
 It describes how namespaces work and the "bxml:include" semantics (including the "inline"
attribute).  But, I think that the default behavior of making a separate namespace for each
included BXML file would satisfy your requirements, unless I don't understand what you're
trying to do.

Let us know,
~Roger

-----Original Message-----
From: Ripgiblet [mailto:mark@mrchambers.org] 
Sent: Thursday, January 23, 2014 3:12 AM
To: user@pivot.apache.org
Subject: RE: in java how can i reference the instance define in a nested bxml's "bxml:id..."

Hi Karel,

Thanks for the response, seemed like what I needed, but I cant seem to get it too work...
Bit of a deadline on this, later I will try compiling your code and check it works... I must
be missing something...

regards,
Mark.



--
View this message in context: http://apache-pivot-users.399431.n3.nabble.com/in-java-how-can-i-reference-the-instance-define-in-a-nested-bxml-s-bxml-id-tp4022008p4022838.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.





Mime
View raw message