AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 18 |
r3wp | 648 |
total: | 666 |
results window for this page: [start: 301 end: 400]
world-name: r3wp
Group: Ann-Reply ... Reply to Announce group [web-public] | ||
Geomol: 23-Feb-2005 | I don't think, the problem can be solved, so I have to go back to using an empty string to define an empty element. The problem is, that: {<doc><element att="value" />some text</doc>} is a valid XML string. The RebXML version is: [doc [element att "value" / "some text"]] and that will be converted back to: {<doc><element att="value" /="some text">} because the slash is seen as a word by the parse command, and then it's recognized as an attribute, because attributes are defined as a word! and a string!. I'll think about it a little longer and give you guys the option to point me to a solution. Else I'll just change it back. | |
DideC: 23-Feb-2005 | I understand you want to use "/" as XML does. But may be considering another character is easier : | |
Group: Core ... Discuss core issues [web-public] | ||
Graham: 21-Mar-2005 | >> port: open/binary %xml-object.r >> set-modes port [creation-date: 1-Dec-2004 ] ** Access Error: Cannot open /D/rebol/rebXR/xml-object.r ** Near: set-modes port [creation-date: 1-Dec-2004] | |
Sunanda: 21-Mar-2005 | What about set-modes %xml-object.r [creation-date: 1-Dec-2004 ] But may not work on windows -- not all modes are supported. | |
Graham: 22-Mar-2005 | Is it possible to set the modification date on a directory? I keep getting errors whereas it works with files in win32. >> set-modes %xml-parse.r [ modification-date: 1-Jan-2005 ] >> set-modes %www/ [ modification-date: 1-Jan-2005 ] ** Access Error: Cannot open /D/rebol/rebXR/www/ ** Near: set-modes %www/ [modification-date: 1-Jan-2005] >> set-modes %www [ modification-date: 1-Jan-2005 ] ** Access Error: Cannot open /D/rebol/rebXR/www ** Near: set-modes %www [modification-date: 1-Jan-2005] >> | |
Group: View ... discuss view related issues [web-public] | ||
Graham: 7-Jan-2005 | with IE, I see the graph, with Firefox and the SVG viewer installed, I just see the xml | |
Graham: 7-Jan-2005 | there's an image of what you are supposed to see near the bottom here http://www-106.ibm.com/developerworks/xml/library/x-svggrph/ | |
Group: Make-doc ... moving forward [web-public] | ||
Geomol: 16-Jan-2005 | Have any of you looked close at the MakeDoc2 formatter? It's a 2-pass parsing, first converting the text to rebol blocks, and then parsing the block(s) producing HTML code. Of course it's smart, because if you wanna make a parser producing e.g. PDF code, you only have to make a new second level parser. And there's also the problem with Table Of Content, which can only be completed after the first pass. My first approach with my NicomDoc format was to make a 1-pass parser, and build the TOC along the way as separate text, and then only combine the TOC and the rest of the document before output. Benefit with 1-pass parsing would be speed, but downside is, that you need a new full parser, if you wanna make PDF code. Then again a parser going from some rebol block format to e.g. PDF would probably be almost same size as going from a text format (NicomDoc or MakeDoc) to PDF. hmm What about XML? Making an XML file from some rebol blocks would be pretty easy, same the other way. What should I do? Make a 1-pass or a 2-pass formatter? | |
Geomol: 16-Jan-2005 | Carl made MakeDoc and started a project some months ago to define MakeDoc2, but it seems, the group fail to make progress, so Carl wrote something about it lately and published some scripts. As I see it, MakeDoc has some bad ideas around commands like \note /note \table /table and so. Those things should be strictly based on the hierarchical datamodel, else users of the format WILL make errors, as we see it with HTML, XML and the like. And MakeDoc2 also miss bold, italic and the like, which is done as HTML tags. I need to make a lot of specifikation and documentation for my projects, so I desided to make my own format, that suit my needs. I don't know yet, what I should do with it yet, but I'm going to do it. :-) | |
Geomol: 29-Jan-2005 | To clarify: the text-document, the writer produces, is only strict hierarchical with notes and tables (but I use block notation for that, so it's not a big problem for the writer). Formatting can be thrown around freely. That text is first parsed into a RebXML format, which is strictly hierarchical (like XML and HTML is, when it's done right without error). | |
Geomol: 2-Feb-2005 | Notice! As this is not version 1.0 of NicomDoc, some things will probably change. The namespace might change. Example: I use 'p' for paragraph in the RebXML version to make it short (also if someone wants to make XML output, which is bloated), but I might change it to have a more saying name for a paragraph. And URL keyword might go away and be replaced by a more general term like a reference. | |
Geomol: 2-Feb-2005 | It's of course possible to make XML output of a NicomDoc document by first parsing it with nicomdoc.r and then use http://home.tiscali.dk/john.niclasen/rebxml/rebxml2xml.r on the RebXML version. And back again with http://home.tiscali.dk/john.niclasen/rebxml/xml2rebxml.r | |
Group: Parse ... Discussion of PARSE dialect [web-public] | ||
MichaelB: 23-Oct-2005 | =image file: images/a picture.gif size: 200x300 caption: some caption below the picture desc: some description for the picture I'm trying to extend Makedoc2 for a project to generate a xml dialect and I need much more information to certain elements - e.g. images - so I'm trying to make it as easy as possible for the user. The above is what I actually wanted to parse - but the order of the information is supposed to be free and I can't and don't want to use rebol datatypes which might be the first thought to make the parsing easier, because normal people don't want to learn too many rules for all these things. So the b and c in the example corresponded more to the caption and desc in the above example. | |
Graham: 4-Nov-2005 | The HL7 org want to move to using XML instead ... | |
BrianH: 29-Jun-2006 | I've been using that approach for XML processing. | |
Volker: 29-Jun-2006 | sounds good. if one finds a good tokenized representation. I am not an xml-guru :( | |
BrianH: 29-Jun-2006 | My next personal project is to go through the XML/XSL/REST specs and create exactly that. I already have an efficient structure, I just need to fill out the semantics to support the complete logical model of XML. | |
BrianH: 29-Jun-2006 | I am also not an XML guru, but I will be by the time I'm done :) | |
Volker: 29-Jun-2006 | After i read " go through the XML/XSL/REST specs" ithought soo. Beeing undecised ifiprefer to run away or participate curiously. | |
BrianH: 29-Jun-2006 | Still, "run away" is a common and sensible reaction to XML. | |
BrianH: 1-Jul-2006 | HTML/XML entities begin with & and end with ; for just this reason. What kind of text? can you give us an example? | |
Rebolek: 4-Oct-2006 | Anton: yes. I have to check lot of XML files full of errors (actually it's Vista documentation, so it's understandable...) | |
Pekr: 5-Dec-2006 | I would like to ask - could there be anything done to produce parsers for XML related MLs? Or do you guys find existing parse facilities strong enough, and simply put XML is too complex, that we lack full XML spec parser? | |
Pekr: 5-Dec-2006 | Just asking, because today I read a bit about ODF and OpenXML (two document formats for office apps). There is probably open space for small apps, parsing some info from inside the documents etc. (meta-data programming) ... just curious ... or will it be better to wait for full-spec XML MLs libs, doing the job given, and link to those libraries? | |
Gregg: 5-Dec-2006 | I don't want to deal with XML beyond simple well-formed XML, too complex. I don't, personally, have any interest in doing generic XML toolkit stuff at this point. I can see value in it for some people, but I'd rather write REBOL dialects. :-) | |
Maxim: 8-Dec-2006 | geomol's xml2rebxml handles XML pretty well. one might want to change the parse rules a little to adapt the output, but it actually loads all the xml tags, empty tags and attributes. it even handles utf-8, CDATA chunks, and converts some of the & chars. | |
Allen: 10-Dec-2006 | I'm starting to see some abandonment of XML in favour of JSON .. mainly in web 2.0 . but it will not replace xml where validation is required. | |
[unknown: 9]: 11-Dec-2006 | XML and JSON sucks... | |
Group: Linux ... [web-public] group for linux REBOL users | ||
btiffin: 9-Sep-2007 | DanielSz; Depending on how many specific associations you have created... temporarily moving (ie backup) the ~/.nautilus subdir may help. It holds a metadata subdir. Which if you move .nautilus Nautilius will revert to defaults. Or check out these intstructions on update-mime-types. It effects ~/.local/share/mime/packages/Override.xml https://answers.launchpad.net/ubuntu/+question/6795 | |
Group: Dialects ... Questions about how to create dialects [web-public] | ||
Robert: 12-Jan-2005 | Using keywords for parameters of course works but bloats the dialect, it's than mostly like HTML, XML only the opening/closing tags can be obmitted. | |
Andrew: 12-Jan-2005 | For my ML dialect (for easily creating HTML and XML), I didn't bother with error processing. | |
Geomol: 25-Jan-2005 | I've defined a new format, which is a REBOL version of XML. I already have scripts, that can convert between this format and XML. So far, I've called the functions "xml2rebol" and "rebol2xml", but maybe "rebol" isn't a good name for the new format. I've thought about "rebxml" as a name. Any ideas or suggestions? This is a quick explanation of the foremat: tag (optional attributes) string or block If the string is empty, it's an empty element tag. In XML: <tag/> If attributes are present, they are one or more pairs of a word and a string. A block can hold strings and new tags. This XML example: <person alive="yes"><name>Mr. Smith</name><male/><address><street>Sunnylane</street><number>44</number></address><person> will look like this in the new format: [ person alive "yes" [ name "Mr. Smith" male "" address [ street "Sunnylane" number "44" ] ] Other examples: <tag></tag> = tag [ "" ] <tag>content</tag> = tag "content" or tag [ "content" ] Both are valid. | |
Geomol: 25-Jan-2005 | Correction! This XML example: <person alive="yes"><name>Mr. Smith</name><male/><address><street>Sunnylane</street><number>44</number></address></person> | |
Andrew: 25-Jan-2005 | Geomol, you might want to look at my ML dialect which has something very similar to what you're doing. ML is my Rebol dialect for writing XML. | |
DideC: 22-Mar-2006 | Hum, not sure it's dialect equivalent. It looks like some "XML samples" to replace existing text format (ie iCal => hCalendar) | |
Maxim: 22-Mar-2006 | IMO nothing to do with dialect... AFAICT they are simply structured xml definitions... | |
Allen: 22-Mar-2006 | Well nothing stopping us from doing the same thing. Just do a like for like conversion as they did, but do it into rebol format instead of xml or xhtml | |
Maxim: 21-Sep-2006 | that's how I handle XML for example, a modified version of xml2rebxml.r . I convert the tags into native rebol blocks, then handle the blocks within the application which expects the data... this way, you can more easily re-use code. | |
Group: Web ... Everything web development related [web-public] | ||
Pekr: 21-Sep-2005 | Mozilla and XML standards support - http://www-128.ibm.com/developerworks/xml/library/x-ffox15.html?ca=dgr-lnxw07FirefoxXML | |
Group: Announce ... Announcements only - use Ann-reply to chat [web-public] | ||
Geomol: 29-Jan-2005 | RebXML is a REBOL version of the XML format. Specification here: http://home.tiscali.dk/john.niclasen/rebxml/rebxml-spec.html Converting from RebXML -> XML: http://home.tiscali.dk/john.niclasen/rebxml/rebxml2xml.r Converting from XML -> RebXML: http://home.tiscali.dk/john.niclasen/rebxml/xml2rebxml.r | |
Carl: 3-Feb-2005 | RSS Feed for blog: www.rebol.net/blog/carl-rss.xml | |
Geomol: 23-Feb-2005 | A build-tag function, that can also cope with namespace syntax, as seen in XML (e.g. <ns:tag> can be build as build-tag ns:tag): http://home.tiscali.dk/john.niclasen/libs/build-tag.r | |
Geomol: 23-Feb-2005 | RebXML has reached version 1.1.0. Can now handle tags with namespaces - <ns:tag> - and an empty element is now ended with a slash instead of an empty string. Specification: http://home.tiscali.dk/john.niclasen/rebxml/rebxml-spec.html XML -> RebXML converter: http://home.tiscali.dk/john.niclasen/rebxml/xml2rebxml.r RebXML -> XML converter: http://home.tiscali.dk/john.niclasen/rebxml/rebxml2xml.r | |
Group: !RebGUI ... A lightweight alternative to VID [web-public] | ||
shadwolf: 30-Jun-2005 | actually not because we have several problems on recursion group interpretation on gradient effect (fill and for border line fill) so now we are trying to make a better engine that can be use more efficient ly rebol object! properties we are basing our work on xml-to-object function ... | |
Pekr: 30-Jun-2005 | uh, is that because of flexibility of the SVG format, or because of XML deriver beurocracy? | |
shadwolf: 30-Jun-2005 | so you have an XML struture we transforme it to a REBOL Object! tree then this tree must be glanced and translated to have the AGG draw block ;) | |
Pekr: 30-Jun-2005 | ah, so the main problem here is imo still the same - XML parser. Building kind of "DOM". Rebol's XML parser is rather simplified after all. I do remember using Gavain Mckenzie's xml parser, which was much more usefull - it allowed for hooks during parsing and created rebol object too ... | |
Graham: 15-Aug-2005 | working .. had to also include mezz-xml.r | |
Group: SVG Renderer ... SVG rendering in Draw AGG [web-public] | ||
shadwolf: 23-Jun-2005 | REBOL [ Title: "SVG Demo" Owner: "Ashley G. Trüter" Version: 0.0.1 Date: 21-Jun-2005 Purpose: "Loads and displays a resizeable SVG file." History: { 0.0.1 Initial release } Notes: { Tested on very simple SVG icons Only a few basic styles / attributes / commands supported Does not handle sizes in units other than pixels (e.g. pt, in, cm, mm, etc) SVG path has an optional close command, "z" ... AGG shape equivalent auto-closes load-svg function needs to be totally refactored / optimized ... *sample only* } ] ; The following commands are available for path data: ; ; M = moveto ; L = lineto ; H = horizontal lineto ; V = vertical lineto ; C = curveto ; S = smooth curveto ; Q = quadratic Belzier curve ; T = smooth quadratic Belzier curveto ; A = elliptical Arc ; Z = closepath ;print: none ; comment out this line to enable debug messages load-svg: function [svg-file [file! string!] size [pair!]] [ id defs x y to-color to-byte draw-blk append-style svg-size scale-x scale-y ][ xml: either string? svg-file [parse-xml svg-file] [ unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"] parse-xml read svg-file ] unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"] ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find ID header!"] ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"] id: xml/3/1/2 defs: xml/3/1/3 ; ; --- Parse SVG id ; svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [ switch select id "width" [ "72pt" [120x120] "48pt" [80x80] "32pt" [60x60] ] ][ as-pair to integer! any [select id "width" "100"] to integer! any [select id "height" "100"] ] x: to integer! any [select id "x" "0"] y: to integer! any [select id "y" "0"] scale-x: size/x / svg-size/x scale-y: size/y / svg-size/y ; ; --- Helper functions ; to-color: func [s [string!]] [ ; converts a string in the form "#FFFFFF" to a 4-byte tuple to tuple! load rejoin ["#{" next s "00}"] ] to-byte: func [s [string!]] [ ; converts a string with a value 0-1 to an inverted byte 255 - to integer! 255 * to decimal! s ] ; ; --- Parse SVG defs ; draw-blk: copy [] append-style: function [ command [string!] blk [block!] ][ x xy pen-color fill-color line-width mode size radius shape closed? matrix transf-command ][ xy: 0x0 size: 0x0 line-width: 1 matrice: make block! [] radius: none transf-command: none foreach [attr val] blk [ switch attr [ "transform" [print "tranform have been found" ;probe val halt val: parse val "()," transf-command: first val probe transf-command switch transf-command [ "matrix" [ foreach word val [ if not find word "matrix" [ insert tail matrice to-decimal word ] ] ] ] ] "style" [ foreach [attr val] parse val ":;" [ switch/default attr [ "font-size" [ ] "stroke" [ switch/default first val [ #"#" [pen-color: to-color val] #"n" [pen-color: none] ][ print ["Unknown stroke:" val] ] ] "stroke-width" [line-width: to decimal! val] "fill" [ fill-color: switch/default first val [ #"#" [to-color val] #"n" [none] ][ print ["Unknown fill value:" val] none ] ] "fill-rule" [ mode: switch/default val [ "evenodd" ['even-odd] ][ print ["Unknown fill-rule value:" val] none ] ] "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: to-byte val] "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: to-byte val] "stroke-linejoin" [ insert tail draw-blk switch/default val [ "miter" [compose [line-join miter]] "round" [compose [line-join round]] "bevel" [compose [line-join bevel]] ][ print ["Unknown stroke-linejoin value:" val] none ] ] "stroke-linecap" [ insert tail draw-blk 'line-cap insert tail draw-blk to word! val ] ][ print ["Unknown style:" attr] ] ] ] "x" [xy/x: scale-x * val] "y" [xy/y: scale-y * val] "width" [size/x: scale-x * val] "height" [size/y: scale-y * val] "rx" [print "rx"] "ry" [radius: to decimal! val] "d" [ shape: copy [] x: none closed?: false foreach token load val [ switch/default token [ M [insert tail shape 'move] C [insert tail shape 'curve] L [insert tail shape 'line] z [closed?: true] ][ unless number? token [print ["Unknown path command:" token]] either x [insert tail shape as-pair x scale-y * token x: none] [x: scale-x * token] ] ] ] ] ] insert tail draw-blk compose [ pen (pen-color) fill-pen (fill-color) fill-rule (mode) line-width (line-width * min scale-x scale-y) ] switch command [ "rect" [ insert tail draw-blk compose [box (xy) (xy + size)] if radius [insert tail draw-blk radius] ] "path" [ unless closed? [print "Path closed"] either transf-command <> none [ switch transf-command [ "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) (matrice) shape (shape) reset-matrix]] ] ][ insert tail draw-blk compose/only [shape (shape)] ] ] "g" [ print "Write here how to handle G insertion to Draw block" insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) (matrice)] ] ] ] probe defs foreach blk defs [ switch first blk [ "rect" [append-style first blk second blk] "path" [append-style first blk second blk] "g" [ print "key word" probe first blk print "matrix and style in G" probe second blk append-style first blk second blk ;print "what to draw in G" probe third blk foreach blk2 third blk [ probe blk2 switch first blk2[ "path" [append-style first blk2 second blk2] ] ] ] ] ] probe draw-blk draw-blk ] view make face [ offset: 100x100 size: 200x200 action: request-file/filter/only "*.svg" text: rejoin ["SVG Demo [" last split-path action "]"] data: read action color: white effect: compose/only [draw (load-svg data size)] edge: font: para: none feel: make feel [ detect: func [face event] [ if event/type = 'resize [ insert clear face/effect/draw load-svg face/data face/size show face ] if event/type = 'close [quit] ] ] options: [resize] ] | |
shadwolf: 23-Jun-2005 | REBOL [ Title: "SVG Demo" Owner: "Ashley G. Trüter" Version: 0.0.1 Date: 21-Jun-2005 Purpose: "Loads and displays a resizeable SVG file." History: { 0.0.1 Initial release } Notes: { Tested on very simple SVG icons Only a few basic styles / attributes / commands supported Does not handle sizes in units other than pixels (e.g. pt, in, cm, mm, etc) SVG path has an optional close command, "z" ... AGG shape equivalent auto-closes load-svg function needs to be totally refactored / optimized ... *sample only* } ] ; The following commands are available for path data: ; ; M = moveto ; L = lineto ; H = horizontal lineto ; V = vertical lineto ; C = curveto ; S = smooth curveto ; Q = quadratic Belzier curve ; T = smooth quadratic Belzier curveto ; A = elliptical Arc ; Z = closepath ;print: none ; comment out this line to enable debug messages load-svg: function [svg-file [file! string!] size [pair!]] [ id defs x y to-color to-byte draw-blk append-style svg-size scale-x scale-y ][ xml: either string? svg-file [parse-xml svg-file] [ unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"] parse-xml read svg-file ] unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"] ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find ID header!"] ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"] id: xml/3/1/2 defs: xml/3/1/3 ; ; --- Parse SVG id ; svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [ switch select id "width" [ "72pt" [120x120] "48pt" [80x80] "32pt" [60x60] ] ][ as-pair to integer! any [select id "width" "100"] to integer! any [select id "height" "100"] ] x: to integer! any [select id "x" "0"] y: to integer! any [select id "y" "0"] scale-x: size/x / svg-size/x scale-y: size/y / svg-size/y ; ; --- Helper functions ; to-color: func [s [string!]] [ ; converts a string in the form "#FFFFFF" to a 4-byte tuple to tuple! load rejoin ["#{" next s "00}"] ] to-byte: func [s [string!]] [ ; converts a string with a value 0-1 to an inverted byte 255 - to integer! 255 * to decimal! s ] ; ; --- Parse SVG defs ; draw-blk: copy [] append-style: function [ command [string!] blk [block!] ][ x xy pen-color fill-color line-width mode size radius shape closed? matrix transf-command ][ xy: 0x0 size: 0x0 line-width: 1 matrice: make block! [] radius: none transf-command: none foreach [attr val] blk [ switch attr [ "transform" [print "tranform have been found" ;probe val halt val: parse val "()," transf-command: first val probe transf-command switch transf-command [ "matrix" [ foreach word val [ if not find word "matrix" [ insert tail matrice to-decimal word ] ] ] ] ] "style" [ foreach [attr val] parse val ":;" [ switch/default attr [ "font-size" [ ] "stroke" [ switch/default first val [ #"#" [pen-color: to-color val] #"n" [pen-color: none] ][ print ["Unknown stroke:" val] ] ] "stroke-width" [line-width: to decimal! val] "fill" [ fill-color: switch/default first val [ #"#" [to-color val] #"n" [none] ][ print ["Unknown fill value:" val] none ] ] "fill-rule" [ mode: switch/default val [ "evenodd" ['even-odd] ][ print ["Unknown fill-rule value:" val] none ] ] "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: to-byte val] "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: to-byte val] "stroke-linejoin" [ insert tail draw-blk switch/default val [ "miter" [compose [line-join miter]] "round" [compose [line-join round]] "bevel" [compose [line-join bevel]] ][ print ["Unknown stroke-linejoin value:" val] none ] ] "stroke-linecap" [ insert tail draw-blk 'line-cap insert tail draw-blk to word! val ] ][ print ["Unknown style:" attr] ] ] ] "x" [xy/x: scale-x * val] "y" [xy/y: scale-y * val] "width" [size/x: scale-x * val] "height" [size/y: scale-y * val] "rx" [print "rx"] "ry" [radius: to decimal! val] "d" [ shape: copy [] x: none closed?: false foreach token load val [ switch/default token [ M [insert tail shape 'move] C [insert tail shape 'curve] S [insert tail shape 'curv] L [insert tail shape 'line] Q [insert tail shape 'qcurve] T [insert tail shape 'qcurv] z [closed?: true] H [insert tail shape 'hline] V [insert tail shape 'vline] A [insert tail shape 'arc] ][ unless number? token [print ["Unknown path command:" token]] either x [insert tail shape as-pair x scale-y * token x: none] [x: scale-x * token] ] ] ] ] ] insert tail draw-blk compose [ pen (pen-color) fill-pen (fill-color) fill-rule (mode) line-width (line-width * min scale-x scale-y) ] switch command [ "rect" [ insert tail draw-blk compose [box (xy) (xy + size)] if radius [insert tail draw-blk radius] ] "path" [ unless closed? [print "Path closed"] either transf-command <> none [ switch transf-command [ "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) (matrice) shape (shape) reset-matrix]] ] ][ insert tail draw-blk compose/only [shape (shape)] ] ] "g" [ print "Write here how to handle G insertion to Draw block" insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) (matrice)] ] ] ] probe defs foreach blk defs [ switch first blk [ "rect" [append-style first blk second blk] "path" [append-style first blk second blk] "g" [ print "key word" probe first blk print "matrix and style in G" probe second blk append-style first blk second blk ;print "what to draw in G" probe third blk foreach blk2 third blk [ probe blk2 switch first blk2[ "path" [append-style first blk2 second blk2] ] ] ] ] ] probe draw-blk draw-blk ] view make face [ offset: 100x100 size: 200x200 action: request-file/filter/only "*.svg" text: rejoin ["SVG Demo [" last split-path action "]"] data: read action color: white effect: compose/only [draw (load-svg data size)] edge: font: para: none feel: make feel [ detect: func [face event] [ if event/type = 'resize [ insert clear face/effect/draw load-svg face/data face/size show face ] if event/type = 'close [quit] ] ] options: [resize] ] | |
shadwolf: 23-Jun-2005 | REBOL [ Title: "SVG Demo" Owner: "Ashley G. Trüter" Version: 0.0.1 Date: 21-Jun-2005 Purpose: "Loads and displays a resizeable SVG file." History: { 0.0.1 Initial release } Notes: { Tested on very simple SVG icons Only a few basic styles / attributes / commands supported Does not handle sizes in units other than pixels (e.g. pt, in, cm, mm, etc) SVG path has an optional close command, "z" ... AGG shape equivalent auto-closes load-svg function needs to be totally refactored / optimized ... *sample only* } ] ; The following commands are available for path data: ; ; M = moveto ; L = lineto ; H = horizontal lineto ; V = vertical lineto ; C = curveto ; S = smooth curveto ; Q = quadratic Belzier curve ; T = smooth quadratic Belzier curveto ; A = elliptical Arc ; Z = closepath ;print: none ; comment out this line to enable debug messages load-svg: function [svg-file [file! string!] size [pair!]] [ id defs x y to-color to-byte draw-blk append-style svg-size scale-x scale-y ][ xml: either string? svg-file [parse-xml svg-file] [ unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"] parse-xml read svg-file ] unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"] ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find ID header!"] ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"] id: xml/3/1/2 defs: xml/3/1/3 ; ; --- Parse SVG id ; svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [ switch select id "width" [ "72pt" [120x120] "48pt" [80x80] "32pt" [60x60] ] ][ as-pair to integer! any [select id "width" "100"] to integer! any [select id "height" "100"] ] x: to integer! any [select id "x" "0"] y: to integer! any [select id "y" "0"] scale-x: size/x / svg-size/x scale-y: size/y / svg-size/y ; ; --- Helper functions ; to-color: func [s [string!]] [ ; converts a string in the form "#FFFFFF" to a 4-byte tuple to tuple! load rejoin ["#{" next s "00}"] ] to-byte: func [s [string!]] [ ; converts a string with a value 0-1 to an inverted byte 255 - to integer! 255 * to decimal! s ] ; ; --- Parse SVG defs ; draw-blk: copy [] append-style: function [ command [string!] blk [block!] ][ x xy pen-color fill-color line-width mode size radius shape closed? matrix transf-command ][ xy: 0x0 size: 0x0 line-width: 1 matrice: make block! [] radius: none transf-command: none foreach [attr val] blk [ switch attr [ "transform" [print "tranform have been found" ;probe val halt val: parse val "()," transf-command: first val probe transf-command switch transf-command [ "matrix" [ foreach word val [ if not find word "matrix" [ insert tail matrice to-decimal word ] ] ] ] ] "style" [ foreach [attr val] parse val ":;" [ switch/default attr [ "font-size" [ ] "stroke" [ switch/default first val [ #"#" [pen-color: to-color val] #"n" [pen-color: none] ][ print ["Unknown stroke:" val] ] ] "stroke-width" [line-width: to decimal! val] "fill" [ fill-color: switch/default first val [ #"#" [to-color val] #"n" [none] ][ print ["Unknown fill value:" val] none ] ] "fill-rule" [ mode: switch/default val [ "evenodd" ['even-odd] ][ print ["Unknown fill-rule value:" val] none ] ] "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: to-byte val] "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: to-byte val] "stroke-linejoin" [ insert tail draw-blk switch/default val [ "miter" [compose [line-join miter]] "round" [compose [line-join round]] "bevel" [compose [line-join bevel]] ][ print ["Unknown stroke-linejoin value:" val] none ] ] "stroke-linecap" [ insert tail draw-blk 'line-cap insert tail draw-blk to word! val ] ][ print ["Unknown style:" attr] ] ] ] "x" [xy/x: scale-x * val] "y" [xy/y: scale-y * val] "width" [size/x: scale-x * val] "height" [size/y: scale-y * val] "rx" [print "rx"] "ry" [radius: to decimal! val] "d" [ shape: copy [] x: none closed?: false if all [x not number? token] [ insert tail shape x * either token = 'V [scale-y][scale-x] x: none ] foreach token load val [ switch/default token [ M [insert tail shape 'move] C [insert tail shape 'curve] S [insert tail shape 'curv] L [insert tail shape 'line] Q [insert tail shape 'qcurve] T [insert tail shape 'qcurv] z [closed?: true] H [insert tail shape 'hline] V [insert tail shape 'vline] A [insert tail shape 'arc] ][ unless number? token [print ["Unknown path command:" token]] either x [insert tail shape as-pair x scale-y * token x: none] [x: scale-x * token] ] ] ] ] ] insert tail draw-blk compose [ pen (pen-color) fill-pen (fill-color) fill-rule (mode) line-width (line-width * min scale-x scale-y) ] switch command [ "rect" [ insert tail draw-blk compose [box (xy) (xy + size)] if radius [insert tail draw-blk radius] ] "path" [ unless closed? [print "Path closed"] either transf-command <> none [ switch transf-command [ "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) (matrice) shape (shape) reset-matrix]] ] ][ insert tail draw-blk compose/only [shape (shape)] ] ] "g" [ print "Write here how to handle G insertion to Draw block" insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) (matrice)] ] ] ] probe defs foreach blk defs [ switch first blk [ "rect" [append-style first blk second blk] "path" [append-style first blk second blk] "g" [ print "key word" probe first blk print "matrix and style in G" probe second blk append-style first blk second blk ;print "what to draw in G" probe third blk foreach blk2 third blk [ probe blk2 switch first blk2[ "path" [append-style first blk2 second blk2] ] ] ] ] ] probe draw-blk draw-blk ] view make face [ offset: 100x100 size: 200x200 action: request-file/filter/only "*.svg" text: rejoin ["SVG Demo [" last split-path action "]"] data: read action color: white effect: compose/only [draw (load-svg data size)] edge: font: para: none feel: make feel [ detect: func [face event] [ if event/type = 'resize [ insert clear face/effect/draw load-svg face/data face/size show face ] if event/type = 'close [quit] ] ] options: [resize] ] | |
shadwolf: 29-Jun-2005 | okay good stuf in it Vincent and I are planning to use the xml-to-object.r script from Brian Wisti to enbetter and make a more sophisticate support for our actual work upon SVG parsing translation and rendering into a VID window | |
shadwolf: 30-Jun-2005 | for example my object is set into xml global variable | |
shadwolf: 30-Jun-2005 | I I want to interrogate the first shape description on the top level ( out of group blocks) I have to build a path like that xml/svg/path/1/d | |
shadwolf: 30-Jun-2005 | or maybe build the path xml/svg/path then attribute to a temporary var the foreach ob xml/svg/path [ ob processing ] | |
shadwolf: 30-Jun-2005 | so to build the path we start xml/svg "/ " g or path if g we seek 3 thing transform field and path field or sub g field | |
shadwolf: 30-Jun-2005 | in this file we have xml-to-object function load-svg function (mostly empty there is where to put the data conversion and draw block construction) and the widget that start the program | |
shadwolf: 2-Jul-2005 | hum xpdf.svg file shows me a problem with the use of xml-to-object ... if you have serveral g block at the same level all g block are compacted into the same reference | |
shadwolf: 2-Jul-2005 | I like the XML primitive draw explorer like a tree view of the compoun of your draw this is particularly good to write SVG renderer | |
Group: Rebol School ... Rebol School [web-public] | ||
Geomol: 27-Jun-2007 | I guess, you have to convert it. I've once build a RebXML format, that could be transfered to/from XML. I can handle utf-8. You can find code to convert from utf-8 here: http://home.tiscali.dk/john.niclasen/rebxml/xml2rebxml.r (search for unicode) The other way can be found here: http://home.tiscali.dk/john.niclasen/rebxml/rebxml2xml.r (search for iso2utf-8) | |
Group: Windows/COM Support ... [web-public] | ||
james_nak: 15-Jul-2009 | Robert, on a recent project my app creates an xml file formatted with xml that Excel understands. It's a hassle but you can make very pretty spreadsheets that do just about all the formatting (so it's a far cry from CSV). I start with creatinga very small excel spreadsheet then saving as an xml file. Then I check out how they do the formatting. You can create multiple tabbed spreadsheets very easily this way. Doesn't do graphs though. | |
Maarten: 16-Jul-2009 | Yes! Being an experimental physicist it always strikes me as funny that we don't have a branch called "experimental computer science". Computers may be predictable, but humans (you know, that design XML formats, or have a ship cut an Internet cable in the Pacific, or....) are not. | |
Robert: 16-Jul-2009 | And, I not just need to generate XLS files I need to read data from XLS files as well that don't use an XML format. | |
Group: AJAX ... Web Development Using AJAX [web-public] | ||
Chris: 3-Dec-2005 | Variants: AHAH -- http://microformats.org/wiki/rest/ahah * Async HTML and HTTP, less subtle but widely supported AFLAX -- http://www.aflax.org/ * Async Flash and XML (?), uses Flash | |
Chris: 3-Dec-2005 | Really the whole buzz is focussed around the XmlHTTPRequest object that Microsoft, then others added to their Javascript environment. It isn't pretty (by Rebol standards) and has some limitations, but is effective enough to have opened new avenues in what one can do in creating web applications. **cough** Squigglz **cough** You can tell this is a Microsoft 'innovation' by the awful name 'XmlHTTPRequest' (XML not required), but there it is... | |
Oldes: 11-Apr-2006 | Anyway, I'm giving ajax (or I don't know how to call it, because it's not ajax, it's just a httprequest) next try with this modified function: function getXMLHttpRequestObj(){ var ajx; if(window.ActiveXObject) { if(_XML_ActiveX) { ajx = new ActiveXObject(_XML_ActiveX); } else { var versions = [ "MSXML2.XMLHTTP", "Microsoft.XMLHTTP", "Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0" ]; for (var i = 0; i < versions.length; i++) { try { ajx = new ActiveXObject(versions[i]); if (ajx) { var _XML_ActiveX = versions[i]; break; } } catch (e) {} } } } if(!ajx && typeof XMLHttpRequest != undefined) { try { ajx = new XMLHttpRequest(); } catch (e) { return null; } } return ajx; } | |
Geomol: 13-Apr-2006 | Having everything wrapped in HTML (or XML or whatever markup-language) is not a good solution. I hate using applications inside a browser, because they're always slooooow. Native application clients are much better. Think reblets! | |
Group: Tech News ... Interesting technology [web-public] | ||
[unknown: 10]: 22-Mar-2006 | Do you know how much memory those Mobile devices use to run Java ;-) Its outrages actualy...but it works..oke..and indeed all the modules etc its handy.. BUT..its all XML or C++ or Java Or javascript not realy the nicest lagunages to work with especialy when they need an engine to run on thats bigger then my Linux kernel.... | |
Henrik: 2-May-2006 | http://today.reuters.co.uk/news/newsArticle.aspx?type=internetNews&storyID=2006-05-02T172703Z_01_N02271704_RTRIDST_0_OUKIN-UK-MICROSOFT-VISTA.XML <--- Vista likely to be delayed 3 more months. | |
Henrik: 16-May-2006 | http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1_article&TheCat=1005&path=computer/homepage/0506&file=cover1.xml&xsl=article.xsl& <--- interesting link from that site. | |
Sunanda: 20-May-2006 | Yet another attempt to be able to pull information out of the morass that is the WWW: SPARQL An SQl-like language for turning RDF data into subsetted XML: http://www.xml.com/pub/a/2005/11/16/introducing-sparql-querying-semantic-web-tutorial.html If it catches on like RSS has, that'll be another publishing channel many websites will need to add. | |
Pekr: 13-Jun-2006 | looking at source- it is like VID, just an xml | |
Maxim: 13-Jun-2006 | its the first use of xml I find interesting. I dare say its at least as simple as rebol within its context of creating web pages. | |
Pekr: 20-Jun-2006 | 71 KB of js, css, xml, html code to get weather plug-in .... imo could be done in fraction of size of rebol code ... | |
Chris: 21-Jun-2006 | Again, not a rhetorical question -- I see both as filling a similar space, I think Carl described it as 'disposable applications', easy to author, easy to use. Widgets look good, but break the windows metaphor, substituting gimmicky aesthetics for consistent user experience. I'm not sure there is value in the effort to emulate them over 1. making it easier to communicate with the services that drive them (better XML handlers, more flexible HTTP protocol, I18N, whatever), 2. making reblets more accessible (within the OS, not the browser), 3. providing an effortless base for making reblets look and feel good (still a chore, despite the capability of the view engine). | |
Terry: 28-Oct-2006 | Some things are clearer with hindsight of several years. It is necessary to evolve HTML incrementally. The attempt to get the world to switch to XML, including quotes around attribute values and slashes in empty tags and namespaces all at once didn’t work. The large HTML-generating public did not move, largely because the browsers didn’t complain. Some large communities did shift and are enjoying the fruits of well-formed systems, but not all. It is important to maintain HTML incrementally, as well as continuing a transition to well-formed world, and developing more power in that world. The plan is to charter a completely new HTML group. Unlike the previous one, this one will be chartered to do incremental improvements to HTML, as also in parallel xHTML. It will have a different chair and staff contact. It will work on HTML and xHTML together. We have strong support for this group, from many people we have talked to, including browser makers. Tim Berners - Lee | |
Rebolek: 5-Dec-2006 | As I'm now lost in translation of MS XML hell, I fully believe it. | |
Group: SQLite ... C library embeddable DB [web-public]. | ||
Oldes: 10-Mar-2006 | HTML table is much more suitable than XML, but I also think, this should not be part of it, it's not so difficult for anybody, to convert rebol block to something else. But Ashley is the author, it's up to him:-) | |
Group: !REBOL3-OLD1 ... [web-public] | ||
Maxim: 11-Apr-2006 | and the one reason we continue using rebol is because we are of the type of people who WILL download an RFC and fix the http, ftp, proxy, xml, (whatever) protocol ourselves. | |
Maxim: 11-Apr-2006 | rebol claims a lot of things... but falls short in general. for my latest project, I had to re-implement http posting, and xml parsing myself and I'm still not finished. | |
yeksoon: 12-Apr-2006 | for those who want RSS feed for Rebol3 blogs, Carl has updated it. http://www.rebol.net/r3blogs/rebol3-rss.xml | |
Maxim: 21-Apr-2006 | It has just occured to me that if REBOL needs a niche and actually wants to have REBOL work in the Large... that they need to do only one thing. Embrace XML. its got everything going for it, there is nothing to invent (just read specs and implement, like protocol RFCs). | |
Maxim: 21-Apr-2006 | REBOL should not use XML internally, but should be made to be as XML literate as is possible. imagine if we could simply tell any current IT management that all they need to USE all of that $ they invested in those obscure tools, is Load and then they can actually do stuff with it. | |
Maxim: 21-Apr-2006 | just like we just SEND a mail, READ a web site, or WRITE an ftp server. if we could also LOAD/SAVE any XML technologies (XML files, DTDs, Schemas, etc), then R3 would immediately get appeal in the corporate world. It would actually have value to them . | |
Group: Postscript ... Emitting Postscript from REBOL [web-public] | ||
[unknown: 9]: 10-Apr-2006 | Oh, agreed....................my thought was simply how many dialects we are all working with, and how this number will grow until there is need for a new approach. For example, XML is a dialect of sorts, for transmitting discrete data. PS for rendering information in 2D. HTML for rendering information in such a way that those that are challenged can us verbal readers, or physically challenged can ID links and important parts. MakeDoc for converting few symbols to complex rendering instructions that can be represented by HTML. | |
Pekr: 26-Apr-2006 | Gabriele - I know, browsers are just containers for other technologies. It will last at least one or two years, before browsers (for most userbase) support ajax, svg, css 3, etc., but they are actively developed and will always be at user's desktops .... there is also one czech product, called formfiller ( http://www.ff.cz), which allows (internally hopefully xml) docs. xForms is the standard we should watch ... | |
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Terry: 2-Jun-2007 | It will be interesting to see what kind of mashups we can do between Rebol and PHP. I've found PHP's XML handling particularily nice. | |
btiffin: 2-Jun-2007 | It's not a short paste... [HTTPd] ================== NEW REQUEST ================== [HTTPd] Request Line=>GET /testapp/ HTTP/1.1 [HTTPd] Request Headers=> Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1) Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive [HTTPd] Phase url-to-filename done ( mod-alias ) [HTTPd] Phase url-to-filename done ( mod-rsp ) [HTTPd] Phase url-to-filename done ( mod-fastcgi ) [HTTPd] Phase url-to-filename done ( mod-static ) [HTTPd] Phase access-check done ( mod-action ) [HTTPd] Phase set-mime-type done ( mod-action ) [HTTPd] Phase make-response done ( mod-rsp ) [HTTPd] Response=> HTTP/1.1 302 Moved Temporarily Server: Cheyenne/0.9.11 Connection: close Location: /testapp/login.rsp [HTTPd] Phase logging done ( mod-static ) [HTTPd] Phase clean-up done ( mod-rsp ) [HTTPd] Connection closed [HTTPd] ================== NEW REQUEST ================== / [HTTPd] Request Line=>GET /testapp/login.rsp HTTP/1.1 [HTTPd] Request Headers=> Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1) Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive [HTTPd] Phase url-to-filename done ( mod-alias ) [HTTPd] Phase url-to-filename done ( mod-rsp ) [HTTPd] Phase url-to-filename done ( mod-fastcgi ) [HTTPd] Phase url-to-filename done ( mod-static ) [HTTPd] Phase access-check done ( mod-action ) [HTTPd] Phase set-mime-type done ( mod-action ) [HTTPd] Phase make-response done ( mod-rsp ) [HTTPd] Response=> HTTP/1.1 200 OK Server: Cheyenne/0.9.11 Content-Length: 482 Content-Type: text/html Connection: Keep-Alive Set-Cookie: RSPSID=EISPOMAZTPDFKVIWJAFONZDE; expires=Sat, 02 Jun 2007 11:54:30 GMT; path=/testapp; HttpOnly Pragma: no-cache Cache-Control: no-cache, must-revalidate Expires: Thu, 01 Dec 1994 16:00:00 GMT [HTTPd] Phase logging done ( mod-static ) [HTTPd] Phase clean-up done ( mod-rsp ) [HTTPd] Phase task-done done ( mod-rsp ) [HTTPd] ================== NEW REQUEST ================== \ [HTTPd] Request Line=>POST /testapp/login.rsp HTTP/1.1 [HTTPd] Request Headers=> Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1) Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://localhost:8080/testapp/login.rsp Content-Type: application/x-www-form-urlencoded Content-Length: 23 [HTTPd] Phase url-to-filename done ( mod-alias ) [HTTPd] Phase url-to-filename done ( mod-rsp ) [HTTPd] Phase url-to-filename done ( mod-fastcgi ) [HTTPd] Phase url-to-filename done ( mod-static ) [HTTPd] Posted data=>login=test&pass=letmein [HTTPd] Phase access-check done ( mod-action ) [HTTPd] Phase set-mime-type done ( mod-action ) [HTTPd] Phase make-response done ( mod-rsp ) [HTTPd] Response=> HTTP/1.1 301 Moved Permanently Server: Cheyenne/0.9.11 Connection: close Location: /testapp/ Set-Cookie: RSPSID=YDADUIONKJPHLFBWEDZDFCXN; expires=Sat, 02 Jun 2007 11:54:37 GMT; path=/testapp; HttpOnly [HTTPd] Phase logging done ( mod-static ) [HTTPd] Phase clean-up done ( mod-rsp ) [HTTPd] Phase task-done done ( mod-rsp ) [HTTPd] Connection closed [HTTPd] ================== NEW REQUEST ================== [HTTPd] Request Line=>GET /testapp/ HTTP/1.1 [HTTPd] Request Headers=> Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1) Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://localhost:8080/testapp/login.rsp [HTTPd] Phase url-to-filename done ( mod-alias ) [HTTPd] Phase url-to-filename done ( mod-rsp ) [HTTPd] Phase url-to-filename done ( mod-fastcgi ) [HTTPd] Phase url-to-filename done ( mod-static ) [HTTPd] Phase access-check done ( mod-action ) [HTTPd] Phase set-mime-type done ( mod-action ) [HTTPd] Phase make-response done ( mod-rsp ) [HTTPd] Response=> HTTP/1.1 302 Moved Temporarily Server: Cheyenne/0.9.11 Connection: close Location: /testapp/login.rsp [HTTPd] Phase logging done ( mod-static ) [HTTPd] Phase clean-up done ( mod-rsp ) [HTTPd] Connection closed [HTTPd] ================== NEW REQUEST ================== [HTTPd] Request Line=>GET /testapp/login.rsp HTTP/1.1 [HTTPd] Request Headers=> Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1) Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://localhost:8080/testapp/login.rsp [HTTPd] Phase url-to-filename done ( mod-alias ) [HTTPd] Phase url-to-filename done ( mod-rsp ) [HTTPd] Phase url-to-filename done ( mod-fastcgi ) [HTTPd] Phase url-to-filename done ( mod-static ) [HTTPd] Phase access-check done ( mod-action ) [HTTPd] Phase set-mime-type done ( mod-action ) [HTTPd] Phase make-response done ( mod-rsp ) [HTTPd] Response=> HTTP/1.1 200 OK Server: Cheyenne/0.9.11 Content-Length: 482 Content-Type: text/html Connection: Keep-Alive Set-Cookie: RSPSID=RTJSUKAVYBNOLCJCJBSTNUHP; expires=Sat, 02 Jun 2007 11:54:37 GMT; path=/testapp; HttpOnly Pragma: no-cache Cache-Control: no-cache, must-revalidate Expires: Thu, 01 Dec 1994 16:00:00 GMT [HTTPd] Phase logging done ( mod-static ) [HTTPd] Phase clean-up done ( mod-rsp ) [HTTPd] Phase task-done done ( mod-rsp ) | |
btiffin: 2-Jun-2007 | Output from a Ice Weasel http://dev:8080 - dev.rsp redirects to show.rsp... Back Timestamp: 2-Jun-2007/19:37:48-4:00 Request parameters : * HTTP Method: GET * HTTP Port: 8080 * Client IP address: 192.168.1.102 Request headers : * Host : "dev" * User-Agent : {Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1)} * Accept : {text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5} * Accept-Language : "en-us,en;q=0.5" * Accept-Encoding : "gzip,deflate" * Accept-Charset : "ISO-8859-1,utf-8;q=0.7,*;q=0.7" * Keep-Alive : "300" * Connection : "keep-alive" Request variables : * No variable passed Session : * No session | |
Maxim: 8-Jun-2007 | thanks. is the MOD system flexible enough to allow the server to be something else than a "WEB" server... more precisely, a web service, I already have all the XML and schema validation libs to make it... its just that my current server is blocking and when I relay commands to othe servers, it causes timeouts on new commands. | |
Group: DevCon2007 ... DevCon 2007 [web-public] | ||
[unknown: 10]: 11-May-2007 | why are we always getting back to xml when w have blocks and lists ;-) funny... | |
Sunanda: 11-May-2007 | sadly, xml is the csv of the web :-) | |
btiffin: 11-May-2007 | Except xml still can't pass "nulls" without SOAP or some such...sad | |
[unknown: 10]: 11-May-2007 | not xml | |
Group: Games ... talk about using REBOL for games [web-public] | ||
Janko: 2-Jan-2009 | There is also other side of this equation that is also very good to have IMHO. Easy binding to c libraries, and the reverse, possibility to embed REBOL vm/interpreter into c++. Lua (and nekoVM) for example allows both these things very nicely, python seems to be much worse at embedding and it's generally discouraged for example. To give just 2 quick examples, when I was making BKSJOS game (still in the making) I could very simply embed lua into the otherwise BlitzMax game and I used just lua instead of something like XML to "define" the individual levels, so they could also include "dynamic" logic (via events) and special behaviours with no complex coding in the blitzmax side. If I could use REBOL for something like this it would be great. | |
Group: !CureCode ... web-based bugtracking tool [web-public] | ||
[unknown: 9]: 7-Jul-2007 | Good reasons, and I agree, the best way to do this. We nee da universal XML export import with ID compare. In other words, CureCode needs to be able to export itself as XML (Easy). It needs to import XML (Easy) It needs to import XML and update the old XML keying on some ID value. Not so easy. Once done, building things like RSS feeds with just the top 10 recent changes becomes easy. Also, then we can sync Qtask and CureCode. There are a lot of cool side effects though… - We have an integrated file share, so you can link to screen shots. - Qtask has the ability to have conversation about each issue. - You can throw your issues onto a calendar view. I know this is not your concern right now, but this is the direction we are going in, and need to learn how to best allow this type of integration. Much as you have made one thing to test another, we have the same problem constantly. | |
Chris: 7-Jul-2007 | R: if both QTask and CureCode are Rebol, why the need for the XML middle man? Especially when Rebol exchange data is more versatile than XML. | |
[unknown: 9]: 7-Jul-2007 | Because this is not about Qtask, or Cheyenne (CureCode), it is about building things that lets others know that what they have can be made better by working with us, and if we work well with others (and each other) then we all win. XML sucks, and sure we could exchange RBF (Rebol Block Format). But millions of programs work with XML, so just use it. Let's pick out battles… | |
Dockimbel: 9-Jul-2007 | I've thought about interfacing with external world. I need first to define a consistent kernel for CureCode (partially done in the DB abstraction layer) then I could easily interface with outside world through reb|web-services, REST, XML, RSS,... | |
Group: Printing ... [web-public] | ||
BrianH: 4-Sep-2008 | XPS is like a cleaned-up, extended PDF, with an XML representation if you're into that. The models are similar. |
301 / 666 | 1 | 2 | 3 | [4] | 5 | 6 | 7 |