World: r3wp
[XML] xml related conversations
older newer | first last |
Dockimbel 22-Oct-2008 [509x2] | RSP, I use it to generate RSS feeds from Cheyenne's blog. |
REBOL's built in BUILD-MARKUP function can also be a good choice. | |
Maarten 24-Oct-2008 [511] | Which was the first apss at RSP (1 of 2 choices) I handede to Carl. I think build-markup does only support <%= %> not <% %> (which I always found a pity) |
Graham 24-Oct-2008 [512x2] | apss = pass |
( took me a while to figure out that one ... ) | |
Graham 25-Oct-2008 [514x3] | Just playing with rebelxml >> set-xml-data/content 'header/to "[carl-:-rebol-:-com]" == "<header><to>[carl-:-rebol-:-com]</to></header>" Now if I start with "header" and "to", how would I get the same result? |
<xs:complexType name="MessageType"> <xs:sequence> <xs:element name="Header" minOccurs="1" maxOccurs="1" type="HeaderType" /> <xs:element name="Body" minOccurs="1" maxOccurs="1" type="BodyType" /> <xs:element name="Error"> <xs:complexType> <xs:sequence> <xs:element name="Code" minOccurs="1" maxOccurs="1"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="600|601|602|900" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="DescriptionCode" minOccurs="0" maxOccurs="1" type="an..3" /> <xs:element name="Description" minOccurs="0" maxOccurs="1" type="an..70" /> </xs:sequence> </xs:complexType> </xs:element> If I have the schema looking like this ( no examples I'm afraid ), is something like this what I have to generate <header> ... headertype .. </header> <body> <error> <code> 600 </code> <Descriptioncode /> <Description /> </error> </body> | |
I probably need to wrap <message> tags around it too. | |
Graham 26-Oct-2008 [517] | How are people creating large xml documents where there are large numbers of elements and where the data is being drawn from a database. Model the document first as a Rebol object!, and then generate the xml from the object? |
Henrik 26-Oct-2008 [518] | That's a good method. |
BrianH 27-Oct-2008 [519] | Some databases have the ability to generate XML directly. That approach can be faster, depending on how much data the database has to process. It all depends on what database you are using though. |
Graham 3-Nov-2008 [520] | Has anyone used rebelxml.r ? |
Graham 4-Nov-2008 [521] | Pekr thinks there is a tool that converts xml to a rebol object ... anyone know what it is? |
Pekr 4-Nov-2008 [522] | wait a bit, I'll find it - it was cool stuff from XML REBOL guru. That person used it for his work ... |
Graham 4-Nov-2008 [523] | Gavin Mckenzie was the guy who wrote a xml parser |
Pekr 4-Nov-2008 [524] | yes, it is him. And his toolset contained several tools IIRC. |
Graham 4-Nov-2008 [525] | I wasn't aware it created objects |
Pekr 4-Nov-2008 [526] | http://www.rebol.org/view-script.r?script=xml-object.r |
PeterWood 4-Nov-2008 [527] | It's explained in Chapter 4 of Olivier Auverlot's Rebol - Guide du Programmeur. |
Graham 4-Nov-2008 [528] | Hmm.... kewl if it works |
PeterWood 4-Nov-2008 [529] | obj-xml: make object! xml-to-object parse-xml+ read %my.xml |
Pekr 4-Nov-2008 [530x2] | IIRC we discussed ability to creat XML back from the object, but such script was not written. Maybe it is not even possible, as rebol block as well as created object might not contain original xml tags info ... |
Peter - what tools are you referring to? What is xml-to-object and parse-xml+? | |
Graham 4-Nov-2008 [532x3] | these are Gavin's stuff |
>> do %xml-parse.r Script: "A more XML 1.0 compliant set of XML parsing tools." (2-Mar-2005) ** Script Error: Invalid argument: Parses XML code and returns a tree of blocks. This is a more XML 1.0 compliant parse than the... ** Where: throw-on-error ** Near: func [[{ Parses XML code and returns a tree of blocks. This is a more XML 1.0 compliant parse than the built-in ... >> | |
is the file corrupted? | |
Pekr 4-Nov-2008 [535] | ... haven't tried for ages ... |
Graham 4-Nov-2008 [536x6] | must be corrupted |
well, just use parse-xml .... | |
Hmm. Doesn't actually work. | |
soapenv:Envelope: make object! is not valid | |
ie. can't use : inside a set-word | |
so close ! | |
Graham 8-Nov-2008 [542x8] | I know we discussed writing a SOAP:// protocol years and years ago on the mailing list ... but that never got done. |
I made a little change to the http protocol to send SOAP messages .. so that I could access the National Library of Medicine's RxNorm API. | |
I read that most web APIs are REST based, but there are still a significant number based on SOAP, and also JSON | |
See this blog http://blogs.zdnet.com/Hinchcliffe/?p=215&tag=nl.e540 | |
on OpenAPIs ... now over 1000 | |
So, if we wish to access these, we need to talk XML better .. as generally data is marked up in XML | |
read/custom some-url reduce [ 'SOAP payload [ soapaction: "" ]] | |
the only difference I can see between POST and SOAP is that the encoding method ... SOAP uses text/xml; | |
Chris 9-Nov-2008 [550] | The web and soap/http are in a sense REST applications (REST is just WS over HTTP) though both use a limited subset of REST arguments and have to work around as such. The web is limited (by the HTML spec) to the verbs 'get and 'post, and post content types of 'application/x-www-form-urlencoded (default) or 'multipart/form-data (used to upload files). For the most part, the web is RESTful as we usually only want to 'get resources. However, other operations typically violate REST principles, as all other resource actions (create, update, delete) have to squeeze through the get/post/url-encode/multipart pipe. The Rebol HTTP protocol as standard is designed to mimic this and requires patching to move beyond get/post/url-endode (even for multipart) SOAP as I understand it, when using HTTP only uses 'post - the post content contains the actual request. Where it varies from the web (and Rebol HTTP) is the need for the 'text/xml content type. REST itself is limited only by HTTP. It uses theoretically limitless HTTP (v1.1) verbs (though most common patterns use 'get, 'put, 'post and 'delete). It uses any encoding. It uses HTTP headers as parameters (eg. the 'Accept header specifies the desired return type). Therefore, any HTTP protocol designed for REST will accomodate SOAP requests. |
Ashley 9-Nov-2008 [551] | Probably more a pure HTML question, and showing my complete lack of HTML knowledge these days, but how would I go about automatically updating a device (an IP Phone in my case) that has a page (http://10.1.1.7/admin.html) with a whole bunch of phone numbers in separate fields and a submit button that posts changes back? I can generate the page with the data I want submitted back, but I can't work out how to mimic pressing the submit button from a specific URL. |
Tomc 9-Nov-2008 [552] | is result: read/custom url ['POST query-string] on the right track? |
Reichart 9-Nov-2008 [553] | Ashley, I may be missing your question. Are you asking, how from an IP phone (like a SIP phone), you would "sync" your phonebook (contacts) from a website? |
Ashley 10-Nov-2008 [554] | Almost ... I want to "push" my Address Book (on my iMac) to all the IP Phones in our office. I know the address of each IP Phone (10.1.1.x), and I can extract the data from Address Book easily enough ... what I havn't figured out how to do is replace the manual process of bringing up the admin page of each phone (in Safari), keying in the numbers and clicking the "Submit" button. Tom's suggestion may be on the right track, although I've got no idea what query-string is supposed to look like. May be time to dig the old HTML4 manual out! ;) |
Henrik 10-Nov-2008 [555] | ashley, do they have a telnet/SSH interface? |
Pekr 10-Nov-2008 [556x3] | you should be able to simulate even submit, no? Browser generates http action for it after all ... Maybe it would be good to watch packets in WireShark, or install FF plug-in for displaying http headers ... |
Web developer extension and FireBug are kind of must-have extensions .... | |
Live HTTP headers is the one I use .... | |
older newer | first last |