All,
I recently came across the following scenario, which I am unable to resolve: 1. I have instance data like this: <xforms:instance id="my-image"> <image> <title>My little Title</title> <location>http://www.orbeon.com/download/blog/web20programmingcover.png </image> <xforms:instance> 2. I wish to display the image like this (pseudo-code follows): <xhtml:img src="magic-function(instance('my-image')/location)" title="magic-function(instance('my-image')/title)"/> 3. How is this achievable in XForms/OPS? How do you render XHTML element whose input data 1) is from an xforms:instance and 2) is read as XHTML element attributes? I'm sure I'm missing something here. Has anyone done this before? Any pointers would be greatly appreciated. Thanks! Sincerely, Henrik Pettersen Advanced Computation Laboratory Cancer Research UK -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Henrik,
You have to do that with xforms:output since (x)html tag does not 'understand' what is xforms:instance Something like that : <xforms:output value="concat( '<src="', instance('my-image')/location, '"/>')" mediatype="text/html"/> HTH, -- Marc Henrik Pettersen a écrit : > All, > > I recently came across the following scenario, which I am unable to > resolve: > > 1. I have instance data like this: > > <xforms:instance id="my-image"> > <image> > <title>My little Title</title> > > <location>http://www.orbeon.com/download/blog/web20programmingcover.png > </image> > <xforms:instance> > > 2. I wish to display the image like this (pseudo-code follows): > > <xhtml:img src="magic-function(instance('my-image')/location)" > title="magic-function(instance('my-image')/title)"/> > > 3. How is this achievable in XForms/OPS? How do you render XHTML > element whose input data 1) is from an xforms:instance and 2) is read > as XHTML element attributes? > > I'm sure I'm missing something here. Has anyone done this before? Any > pointers would be greatly appreciated. > > Thanks! > > Sincerely, > Henrik Pettersen > Advanced Computation Laboratory > Cancer Research UK > >------------------------------------------------------------------------ > > >-- >You receive this message as a subscriber of the [hidden email] mailing list. >To unsubscribe: mailto:[hidden email] >For general help: mailto:[hidden email]?subject=help >ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
In reply to this post by Henrik Pettersen
Marc, Henrik,
> You have to do that with xforms:output since (x)html tag does not > 'understand' what is xforms:instance > > Something like that : > <xforms:output value="concat( > '<src="', > instance('my-image')/location, > '"/>')" > mediatype="text/html"/> If you just want to display an image, you can use <xforms:output> with mediatype="image/*". See the documentation below, which also contains an example. One limitation compared to the method suggested by Henrik is that you won't be able to have the title come from the instance. For that you'll need to use the very generic <xforms:output mediatype="text/html">. http://www.orbeon.com/ops/doc/reference-xforms-ng#image-mediatype Alex -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Alex,
is this a shortcoming with the XForms spec, then? e.g. how do you declare an ALT tag for the image, which is an essential part of the web accessability guidelines, using XForms? mediatype="image/*"? http://www.orbeon.com/ops/doc/reference-xforms-ng#image-mediatype http://www.w3.org/TR/2006/WD-WCAG20-TECHS-20060427/Overview.html#H36 This is a good workaround (Thanks, Marc!), but I would prefer not to have these everywhere in my XForms code whenever attribute values are coming from an xforms instance (you hear that, W3C working group?): > <xforms:output value="concat( > '<src="', > instance('my-image')/location, > '"/>')" > mediatype="text/html"/> Thanks, Alex! Henrik On 10/24/06, Alessandro Vernet <[hidden email]> wrote:
Marc, Henrik, -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Hi Henrik,
Support for the mediatype="image/*" on <xforms:output> is an Orbeon extension. And you are right, it has an important limitation: it does not support setting the 'alt' attribute dynamically. Using mediatype="text/html" is also an extension. It lets you set the 'alt', but is quite ugly. A more general solution would be to have a construct to to dynamically set the value of attributes on HTML elements. AVTs would do the trick. Alex On 10/24/06, Henrik Pettersen <[hidden email]> wrote: > Alex, > > is this a shortcoming with the XForms spec, then? > > e.g. how do you declare an ALT tag for the image, which is an essential part > of the web accessability guidelines, using XForms? mediatype="image/*"? > http://www.orbeon.com/ops/doc/reference-xforms-ng#image-mediatype > http://www.w3.org/TR/2006/WD-WCAG20-TECHS-20060427/Overview.html#H36 > > This is a good workaround (Thanks, Marc!), but I would prefer not to have > these everywhere in my XForms code whenever attribute values are coming from > an xforms instance (you hear that, W3C working group?): > > > <xforms:output value="concat( > > '<src="', > > instance('my-image')/location, > > '"/>')" > > mediatype="text/html"/> > > Thanks, Alex! > > Henrik > > > On 10/24/06, Alessandro Vernet <[hidden email]> wrote: > > > > Marc, Henrik, > > > > > You have to do that with xforms:output since (x)html tag does not > > > 'understand' what is xforms:instance > > > > > > Something like that : > > > <xforms:output value="concat( > > > '<src="', > > > instance('my-image')/location, > > > '"/>')" > > > mediatype="text/html"/> > > > > If you just want to display an image, you can use <xforms:output> with > > mediatype="image/*". See the documentation below, which also contains > > an example. One limitation compared to the method suggested by Henrik > > is that you won't be able to have the title come from the instance. > > For that you'll need to use the very generic <xforms:output > > mediatype="text/html">. > > > > > http://www.orbeon.com/ops/doc/reference-xforms-ng#image-mediatype > > > > Alex > > -- > > Blog (XML, Web apps, Open Source): > > http://www.orbeon.com/blog/ > > > > > > > > > > -- > > You receive this message as a subscriber of the [hidden email] > mailing list. > > To unsubscribe: > mailto:[hidden email] > > For general help: mailto:[hidden email]?subject=help > > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > > > > > > > > -- > You receive this message as a subscriber of the [hidden email] > mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
In reply to this post by Henrik Pettersen
With this approach I've found that
a relative url in the src attribute gets prefixed with the servlet
context on the initial html generation. Then when @src is recalculated,
it's not.
marc wrote: Henrik, You have to do that with xforms:output since (x)html tag does not 'understand' what is xforms:instance Something like that : <xforms:output value="concat( '<src="', instance('my-image')/location, '"/>')" mediatype="text/html"/> HTH, -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Adrian,
On 10/24/06, Adrian Baker <[hidden email]> wrote: > > With this approach I've found that a relative url in the src attribute gets > prefixed with the servlet context on the initial html generation. Then when > @src is recalculated, it's not. Yes. Mea-culpa. It is already tracked: http://forge.objectweb.org/tracker/index.php?func=detail&aid=306295&group_id=168&atid=350207 Alex -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
All,
thank you for your insights. It seems like: a) The XForms spec is pretty bad at dealing with xhtml element attribute values with dynamic data. That's a pretty big oversight, XForms working group! b) The workaround is to use xforms:output with [mediatype="text/html"] (a proprietary ops extension), URLEncoding the xhtml tag (sigh) and its contents. c) The workaround is currently not working, and a bug report has been entered to track this issue: <a onclick="bluecoat_allow_popup=true;try{ return top.js.OpenExtLink(window,event,this) }finally{bluecoat_allow_popup=false;}" href="http://forge.objectweb.org/tracker/index.php?func=detail&aid=306295&group_id=168&atid=350207" target="_blank">http://forge.objectweb.org/tracker/index.php?func=detail&aid=306295&group_id=168&atid=350207 Hope that sums it up correctly. Again, thank you everyone for your input: Alex, Marc, Adrian! Henrik On 10/25/06, Alessandro Vernet <
[hidden email]> wrote: Adrian, -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Henrik,
Thanks, but I have to make some corrections to your summary: > a) The XForms spec is pretty bad at dealing with xhtml element > attribute values with dynamic data. That's a pretty big oversight, > XForms working group! As far as the working group overlooking, this is from the current 1.1 text: "In XForms 1.0, the output element can take a single node binding indicating an instance node whose plain textual content is to be rendered inline. In XForms 1.1, the content model of the output element is enhanced to allow the specification of a mediatype attribute or a mediatype child element." So this was certainly overlooked in 1.0, but not in 1.1 > b) The workaround is to use xforms:output with [mediatype="text/html"] > (a proprietary ops extension) Saying "a proprietary OPS extension" is a misleading. XForms 1.1 is not final yet, but the @mediatype attribute is what is going to be included in 1.1, and implementations will be allowed to handle the mediatype "text/html" (especially implementations that use HTML or XHTML as a host language for XForms). So we are just ahead of the curve and doing the right thing ;-) > URLEncoding the xhtml tag (sigh) and its contents. Yes, this is a drawback, but it's due to the fact that so far in XForms, all controls only deal with text content found in XForms instances. (The only exception to this is the xforms:copy element.) You can however work around this by using something like: <xforms:output mediatype="text/html" value="xxforms:serialize(div, 'html')"/> Then you can have an instance with: <instance> <div>This is <b>bold</b> text. </instance> > c) The workaround is currently not working, and a bug report has > been entered to track this issue: The current *feature* is working, but you should just not expect URI rewriting to take place in the dynamic HTML content upon subsequent updates. You can work around this by using relative URIs. -Erik -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Erik,
thank you for correcting my paraphrasing. This was indeed very helpfull. Please find some more comments/feedback below. Thanks, Erik! Henrik On 10/25/06, Erik Bruchez <[hidden email]> wrote: > Henrik, > > Thanks, but I have to make some corrections to your summary: > > > a) The XForms spec is pretty bad at dealing with xhtml element > > attribute values with dynamic data. That's a pretty big oversight, > > XForms working group! > > As far as the working group overlooking, this is from the current 1.1 > text: > > "In XForms 1.0, the output element can take a single node binding > indicating an instance node whose plain textual content is to be > rendered inline. In XForms 1.1, the content model of the output > element is enhanced to allow the specification of a mediatype > attribute or a mediatype child element." > > So this was certainly overlooked in 1.0, but not in 1.1 with a specification that allow people to render all the @attributes associated with the media type, particularly items such as @alt and @src (both required by the XHTML spec). For xhtml:img, the allowed (and non-deprecated) attributes are src, height, alt, title, ismap, longdesc, usemap and width. As far as I understand from the above quote: " ... the content model of the output element is enhanced to allow the specification of a mediatype attribute [Henrik: mediatype="text/html"] or a mediatype child element [Henrik: what about mediatype child attributes?]" is a nescessary but not complete requirement for rendering all media attributes. What's your view on this? > > > b) The workaround is to use xforms:output with [mediatype="text/html"] > > (a proprietary ops extension) > > Saying "a proprietary OPS extension" is a misleading. XForms 1.1 is > not final yet, but the @mediatype attribute is what is going to be > included in 1.1, and implementations will be allowed to handle the > mediatype "text/html" (especially implementations that use HTML or > XHTML as a host language for XForms). So we are just ahead of the > curve and doing the right thing ;-) of the 1.1 spec. How about "The workaround is to use xforms:output with [mediatype="text/html"] (an XForms 1.1 improvement, temporarily residing in an ops namespace)" > > > URLEncoding the xhtml tag (sigh) and its contents. > > Yes, this is a drawback, but it's due to the fact that so far in > XForms, all controls only deal with text content found in XForms > instances. (The only exception to this is the xforms:copy element.) Hmmm.... This is probably not the right forum, but I would have liked the XForms working group to pay closer attention to rich media delivery as well. These days, audio and video (and flash!) are used as dynamic content extensively on the web (YouTube, etc.) - it would be a shame if the XForms spec did not deal with these nicely. It's my pesonal opinion that writing urlencoded strings to represent html elements is not really a good solution (Servlets, anyone?). Let's hope the 1.1 spec will be complete on this issue :-) Gambaru! More on rendering mediatypes in XForms 1.1: http://www.w3.org/TR/2004/WD-xforms11-20041115/#render-nontext > > You can however work around this by using something like: > > <xforms:output mediatype="text/html" > value="xxforms:serialize(div, 'html')"/> > > Then you can have an instance with: > > <instance> > <div>This is <b>bold</b> text. > </instance> > > > c) The workaround is currently not working, and a bug report has > > been entered to track this issue: > > The current *feature* is working, but you should just not expect URI > rewriting to take place in the dynamic HTML content upon subsequent > updates. You can work around this by using relative URIs. I see. Does this bug also apply to asynchronous instance updates? I'll have to do some more investigation into this bug/workaround, me thinks. > > -Erik Thanks again! > > -- > Orbeon - XForms Everywhere: > http://www.orbeon.com/blog/ > > > > > -- > You receive this message as a subscriber of the [hidden email] mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Henrik,
> That's great! But the working group will need to ensure they come up > with a specification that allow people to render all the @attributes > associated with the media type, particularly items such as @alt and > @src (both required by the XHTML spec). For xhtml:img, the allowed > (and non-deprecated) attributes are src, height, alt, title, ismap, > longdesc, usemap and width. That's a delicate question, because remember, XForms is not only usable with (X)HTML. XForms is embedded today in other languages like XSL-FO, XFDL, etc. Also, there will be different attributes depending on the mediatype. An image doesn't have the same attributes as an audio file. For xhtml:img, some of the attributes clearly apply to concepts that can be shared between host languages, like @src, @width, and @height, and possibly @alt, @longdesc and @title. Some are strictly tied to (X)HTML, like @ismap, @usemap. This said, @src is handled automatically (when you bind xforms:output to a node of type xs:anyURI, or if you use the @value attribute). We should probably generate @alt, @title and @londesc from the embedded label and/or hint and help (hint and help are currently not allowed on xforms:output in the official XForms 1.0 schema, but that is changed in 1.1). For @width and @height, we could support xxforms:width and xxforms:height (or xhtml:width and xhtml:height). I am not not sure about @usemap and @ismap (especially the latter as it requires <img> being in an <a>). > As far as I understand from the above quote: " ... the content model > of the output element is enhanced to allow the specification of a > mediatype attribute [Henrik: mediatype="text/html"] or a mediatype > child element [Henrik: what about mediatype child attributes?]" is a > nescessary but not complete requirement for rendering all media > attributes. What's your view on this? Right, the @mediatype attribute or child element tells the XForms engine that the data referenced should be handled as that mediatype. It does not have standard provisions, at the moment, to parametrize the rendering of that mediatype. The rationale behind this from the Working Group is that we await implementors' feedback on such topics. In the meanwhile, implementors are allowed to implement extensions to address those features. But the @mediatype attribute is already a big step forward. > My apologies, I was not aware that the mediatype="text/html" was part > of the 1.1 spec. How about "The workaround is to use xforms:output > with [mediatype="text/html"] (an XForms 1.1 improvement, temporarily > residing in an ops namespace)" It's not in a namespace at the moment. The attribute is just called "mediatype", as it is in XForms 1.1. > Hmmm.... This is probably not the right forum, but I would have > liked the XForms working group to pay closer attention to rich media > delivery as well. These days, audio and video (and flash!) are used > as dynamic content extensively on the web (YouTube, etc.) - it would > be a shame if the XForms spec did not deal with these nicely. Well, HTML doesn't deal with such content nicely at all, yet the web does ok ;-) Remember, with @mediatype="text/html", you can generate any HTML you want from XForms. So you can produce <object> elements, etc. Exactly the same you would produce directly in HTML. > It's my pesonal opinion that writing urlencoded strings to represent > html elements is not really a good solution (Servlets, anyone?). They are not urlencoded: you just have to escape "<" and "&". E.g.: <my-html><div>This is <bold> text</div></my-html> We agree that this is not ideal if you write it by hand. > Let's hope the 1.1 spec will be complete on this issue :-) Gambaru! Based on what I know, that's unlikely, in particular for reasons mentioned above (feedback from implementors is still needed, and there are workaround such as using text/html), and due to the fact that we can't do everything at the same time ;-) > I see. Does this bug also apply to asynchronous instance updates? > I'll have to do some more investigation into this bug/workaround, me > thinks. It occurs everytime the value changes dynamically. Phew, long reply ;-) -Erik -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Erik,
thank you for the long reply! I certainly have a better understanding of where the XForms working group is coming from, and what limitations they are working against. Indeed, I'm actually quite impressed by what the working group has achieved in a relatively short amount of time, and the simplicity of the syntax of the XForms specification. However, I am still not convinved about the method used for rendering HTML attributes from instance values (e.g. <img src=""/>), escaping & and < characters and using xforms:output. I can see how it would work, I'm just not very keen on the syntax. Now, it's allways easier to criticize than to come up with new ideas, and the XForms working group has come a long way. Perhaps someone else has any thoughts on this subject, perhaps some ideas? What about treating image, audio and video as first class citizens of the XForms Controls and markup, and let various browser plugins in XForms players decide how to play them (XSLT/Javascript in OPSs case)? <xforms:image> <xforms:audio> <xforms:video> Just my 2 cents. My apologies for making this into an XForms discussion on this ops-users mailing list :-) Henrik On 10/25/06, Erik Bruchez <[hidden email]> wrote: > Henrik, > > > That's great! But the working group will need to ensure they come up > > with a specification that allow people to render all the @attributes > > associated with the media type, particularly items such as @alt and > > @src (both required by the XHTML spec). For xhtml:img, the allowed > > (and non-deprecated) attributes are src, height, alt, title, ismap, > > longdesc, usemap and width. > > That's a delicate question, because remember, XForms is not only > usable with (X)HTML. XForms is embedded today in other languages like > XSL-FO, XFDL, etc. > > Also, there will be different attributes depending on the > mediatype. An image doesn't have the same attributes as an audio file. > > For xhtml:img, some of the attributes clearly apply to concepts that > can be shared between host languages, like @src, @width, and @height, > and possibly @alt, @longdesc and @title. Some are strictly tied to > (X)HTML, like @ismap, @usemap. > > This said, @src is handled automatically (when you bind xforms:output > to a node of type xs:anyURI, or if you use the @value attribute). We > should probably generate @alt, @title and @londesc from the embedded > label and/or hint and help (hint and help are currently not allowed on > xforms:output in the official XForms 1.0 schema, but that is changed > in 1.1). > > For @width and @height, we could support xxforms:width and > xxforms:height (or xhtml:width and xhtml:height). I am not not sure > about @usemap and @ismap (especially the latter as it requires <img> > being in an <a>). > > > As far as I understand from the above quote: " ... the content model > > of the output element is enhanced to allow the specification of a > > mediatype attribute [Henrik: mediatype="text/html"] or a mediatype > > child element [Henrik: what about mediatype child attributes?]" is a > > nescessary but not complete requirement for rendering all media > > attributes. What's your view on this? > > Right, the @mediatype attribute or child element tells the XForms > engine that the data referenced should be handled as that > mediatype. It does not have standard provisions, at the moment, to > parametrize the rendering of that mediatype. The rationale behind this > from the Working Group is that we await implementors' feedback on such > topics. In the meanwhile, implementors are allowed to implement > extensions to address those features. But the @mediatype attribute is > already a big step forward. > > > My apologies, I was not aware that the mediatype="text/html" was part > > of the 1.1 spec. How about "The workaround is to use xforms:output > > with [mediatype="text/html"] (an XForms 1.1 improvement, temporarily > > residing in an ops namespace)" > > It's not in a namespace at the moment. The attribute is just called > "mediatype", as it is in XForms 1.1. > > > Hmmm.... This is probably not the right forum, but I would have > > liked the XForms working group to pay closer attention to rich media > > delivery as well. These days, audio and video (and flash!) are used > > as dynamic content extensively on the web (YouTube, etc.) - it would > > be a shame if the XForms spec did not deal with these nicely. > > Well, HTML doesn't deal with such content nicely at all, yet the web > does ok ;-) Remember, with @mediatype="text/html", you can generate > any HTML you want from XForms. So you can produce <object> elements, > etc. Exactly the same you would produce directly in HTML. > > > It's my pesonal opinion that writing urlencoded strings to represent > > html elements is not really a good solution (Servlets, anyone?). > > They are not urlencoded: you just have to escape "<" and "&". E.g.: > > <my-html><div>This is <bold> text</div></my-html> > > We agree that this is not ideal if you write it by hand. > > > Let's hope the 1.1 spec will be complete on this issue :-) Gambaru! > > Based on what I know, that's unlikely, in particular for reasons > mentioned above (feedback from implementors is still needed, and there > are workaround such as using text/html), and due to the fact that we > can't do everything at the same time ;-) > > > I see. Does this bug also apply to asynchronous instance updates? > > I'll have to do some more investigation into this bug/workaround, me > > thinks. > > It occurs everytime the value changes dynamically. > > Phew, long reply ;-) > > -Erik > > -- > Orbeon - XForms Everywhere: > http://www.orbeon.com/blog/ > > > > > -- > You receive this message as a subscriber of the [hidden email] mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
All,
I am attempting to output some div tags with dynamic attribute 'title' (from an instance). This is how I am doing it: =================== <xforms:output value="concat('<xhtml:div id="error-context" title="', 'testing', '">')" mediatype="text/html"/> But this throws an exception: ====================== 2006-12-01 16:29:27,690 ERROR org.orbeon.oxf.webapp.ProcessorService - Exception at null, line -1, column -1 org.orbeon.oxf.common.ValidationException : null, line -1, column -1: Cannot parse value as text/html for value: '<xhtml:div id="error-context" title="testing">' null, line -1, column -1: Cannot parse value as text/html for value: '<xhtml:div id="error-context" title="testing">' at org.orbeon.oxf.xforms.XFormsUtils.streamHTMLFragment(XFormsUtils.java:505) at org.orbeon.oxf.xforms.processor.handlers.XFormsOutputHandler.end(XFormsOutputHandler.java:135) at org.orbeon.oxf.xml.ElementHandlerController.endElement (ElementHandlerController.java:176) at org.orbeon.oxf.xml.ForwardingContentHandler.endElement(ForwardingContentHandler.java:52) at org.orbeon.oxf.xml.ElementFilterContentHandler.endElement(ElementFilterContentHandler.java :54) at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:173) at org.orbeon.oxf.xforms.processor.XFormsToXHTML.outputResponse(XFormsToXHTML.java:381) ... Has anyone done this succesfully before? Would anyone have an example? Thanks! Sincerely, Henrik Pettersen Advanced Computation Laboratory Cancer Research UK On 10/26/06, Henrik Pettersen <[hidden email]> wrote: > Erik, > > thank you for the long reply! I certainly have a better understanding > of where the XForms working group is coming from, and what limitations > they are working against. Indeed, I'm actually quite impressed by what > the working group has achieved in a relatively short amount of time, > and the simplicity of the syntax of the XForms specification. > > However, I am still not convinved about the method used for rendering > HTML attributes from instance values (e.g. <img src=""/>), escaping & > and < characters and using xforms:output. I can see how it would work, > I'm just not very keen on the syntax. > > Now, it's allways easier to criticize than to come up with new ideas, > and the XForms working group has come a long way. Perhaps someone else > has any thoughts on this subject, perhaps some ideas? > > What about treating image, audio and video as first class citizens of > the XForms Controls and markup, and let various browser plugins in > XForms players decide how to play them (XSLT/Javascript in OPSs case)? > > <xforms:image> > <xforms:audio> > <xforms:video> > > Just my 2 cents. My apologies for making this into an XForms > discussion on this ops-users mailing list :-) > > Henrik > > On 10/25/06, Erik Bruchez <[hidden email]> wrote: > > Henrik, > > > > > That's great! But the working group will need to ensure they come up > > > with a specification that allow people to render all the @attributes > > > associated with the media type, particularly items such as @alt and > > > @src (both required by the XHTML spec). For xhtml:img, the allowed > > > (and non-deprecated) attributes are src, height, alt, title, ismap, > > > longdesc, usemap and width. > > > > That's a delicate question, because remember, XForms is not only > > usable with (X)HTML. XForms is embedded today in other languages like > > XSL-FO, XFDL, etc. > > > > Also, there will be different attributes depending on the > > mediatype. An image doesn't have the same attributes as an audio file. > > > > For xhtml:img, some of the attributes clearly apply to concepts that > > can be shared between host languages, like @src, @width, and @height, > > and possibly @alt, @longdesc and @title. Some are strictly tied to > > (X)HTML, like @ismap, @usemap. > > > > This said, @src is handled automatically (when you bind xforms:output > > to a node of type xs:anyURI, or if you use the @value attribute). We > > should probably generate @alt, @title and @londesc from the embedded > > label and/or hint and help (hint and help are currently not allowed on > > xforms:output in the official XForms 1.0 schema, but that is changed > > in 1.1). > > > > For @width and @height, we could support xxforms:width and > > xxforms:height (or xhtml:width and xhtml:height). I am not not sure > > about @usemap and @ismap (especially the latter as it requires <img> > > being in an <a>). > > > > > As far as I understand from the above quote: " ... the content model > > > of the output element is enhanced to allow the specification of a > > > mediatype attribute [Henrik: mediatype="text/html"] or a mediatype > > > child element [Henrik: what about mediatype child attributes?]" is a > > > nescessary but not complete requirement for rendering all media > > > attributes. What's your view on this? > > > > Right, the @mediatype attribute or child element tells the XForms > > engine that the data referenced should be handled as that > > parametrize the rendering of that mediatype. The rationale behind this > > from the Working Group is that we await implementors' feedback on such > > topics. In the meanwhile, implementors are allowed to implement > > extensions to address those features. But the @mediatype attribute is > > already a big step forward. > > > > > My apologies, I was not aware that the mediatype="text/html" was part > > > of the 1.1 spec. How about "The workaround is to use xforms:output > > > with [mediatype="text/html"] (an XForms 1.1 improvement, temporarily > > > residing in an ops namespace)" > > > > It's not in a namespace at the moment. The attribute is just called > > "mediatype", as it is in XForms 1.1. > > > > > Hmmm.... This is probably not the right forum, but I would have > > > liked the XForms working group to pay closer attention to rich media > > > delivery as well. These days, audio and video (and flash!) are used > > > as dynamic content extensively on the web (YouTube, etc.) - it would > > > be a shame if the XForms spec did not deal with these nicely. > > > > Well, HTML doesn't deal with such content nicely at all, yet the web > > does ok ;-) Remember, with @mediatype="text/html", you can generate > > any HTML you want from XForms. So you can produce <object> elements, > > etc. Exactly the same you would produce directly in HTML. > > > > > It's my pesonal opinion that writing urlencoded strings to represent > > > html elements is not really a good solution (Servlets, anyone?). > > > > They are not urlencoded: you just have to escape "<" and "&". E.g.: > > > > > > We agree that this is not ideal if you write it by hand. > > > > > Let's hope the 1.1 spec will be complete on this issue :-) Gambaru! > > > > Based on what I know, that's unlikely, in particular for reasons > > mentioned above (feedback from implementors is still needed, and there > > are workaround such as using text/html), and due to the fact that we > > can't do everything at the same time ;-) > > > > > I see. Does this bug also apply to asynchronous instance updates? > > > I'll have to do some more investigation into this bug/workaround, me > > > thinks. > > > > It occurs everytime the value changes dynamically. > > > > Phew, long reply ;-) > > > > -Erik > > > > -- > > Orbeon - XForms Everywhere: > > http://www.orbeon.com/blog/ > > > > > > > > > > -- > > You receive this message as a subscriber of the [hidden email] mailing list. > > To unsubscribe: mailto:[hidden email] > > For general help: mailto:[hidden email]?subject=help > > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > > > > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Henrik,
Is it necessary to include the namespace
attribute?
Are you outputing something that could be an instance, and
would it be possible to set the value in the
instance:
<setvalue ref="instance('xhtml')/div/@title"
value="title"/>
I'm sure my syntax is buggy, but I hope the idea is
expressed.
Cheers,
Hank
-- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
In reply to this post by Henrik Pettersen
Henrik Pettersen wrote:
> All, > > I am attempting to output some div tags with dynamic attribute 'title' > (from an instance). > > This is how I am doing it: > =================== > <xforms:output value="concat('<xhtml:div id="error-context" > title="', 'testing', '">')" mediatype="text/html"/> > > But this throws an exception: > ====================== > 2006-12-01 16:29:27,690 ERROR org.orbeon.oxf.webapp.ProcessorService - > Exception at null, line -1, column -1 > org.orbeon.oxf.common.ValidationException : null, line -1, column -1: > Cannot parse value as text/html for value: '<xhtml:div > id="error-context" title="testing">' > null, line -1, column -1: Cannot parse value as text/html for value: > '<xhtml:div id="error-context" title="testing">' > at > org.orbeon.oxf.xforms.XFormsUtils.streamHTMLFragment(XFormsUtils.java:505) > at > org.orbeon.oxf.xforms.processor.handlers.XFormsOutputHandler.end(XFormsOutputHandler.java:135) > at org.orbeon.oxf.xml.ElementHandlerController.endElement > (ElementHandlerController.java:176) > at > org.orbeon.oxf.xml.ForwardingContentHandler.endElement(ForwardingContentHandler.java:52) > at > org.orbeon.oxf.xml.ElementFilterContentHandler.endElement(ElementFilterContentHandler.java > :54) > at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:173) > at > org.orbeon.oxf.xforms.processor.XFormsToXHTML.outputResponse(XFormsToXHTML.java:381) > ... > > Has anyone done this succesfully before? Would anyone have an example? cannot use namespaces. -- Orbeon Forms - XForms Everywhere http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Erik, Hank,
fabulous! I got it to work: <xforms:output value="concat('<div id="error-context" title="', instance('rule-instance')/aspic:consequent/aspic:test/aspic:hint, '">[error]</div>')" mediatype="text/html"/> Thanks for the help. Henrik On 12/1/06, Erik Bruchez <[hidden email]> wrote:
Henrik Pettersen wrote: -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Free forum by Nabble | Edit this page |