You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(18) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(11) |
Feb
(2) |
Mar
(1) |
Apr
(4) |
May
(23) |
Jun
(17) |
Jul
(1) |
Aug
(17) |
Sep
(4) |
Oct
(14) |
Nov
(1) |
Dec
(2) |
| 2002 |
Jan
|
Feb
(2) |
Mar
(15) |
Apr
|
May
(19) |
Jun
(2) |
Jul
(8) |
Aug
(24) |
Sep
(21) |
Oct
(17) |
Nov
(11) |
Dec
(20) |
| 2003 |
Jan
(17) |
Feb
(19) |
Mar
(21) |
Apr
(13) |
May
(14) |
Jun
(7) |
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(3) |
| 2004 |
Jan
(5) |
Feb
(2) |
Mar
|
Apr
(3) |
May
(1) |
Jun
(5) |
Jul
(12) |
Aug
(3) |
Sep
(14) |
Oct
(1) |
Nov
(4) |
Dec
(3) |
| 2005 |
Jan
(1) |
Feb
(6) |
Mar
(3) |
Apr
|
May
(2) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
| 2006 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
| 2007 |
Jan
(1) |
Feb
(7) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2008 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
(8) |
Oct
(1) |
Nov
|
Dec
|
|
From: Matthew K. <kr...@wa...> - 2001-04-19 18:15:06
|
I'm looking into using XML-RPC for a project at work. I have installed an XML-RPC server under a test server here that seems to work OK - it passes the 'validating' tests at validator.xmlrpc.com but I seem to be having some problems using the xml-rpc client built on top of tclDom (using the tclXml parser). The problem seems to be related to the DOCTYPE tag as I show below (I've added some 'puts' to the tcl code so I could see exactly what was being generated): --- % xmlrpc::call $url $proc -struct $args Executing rpc: {<?xml version='1.0'?> <!DOCTYPE methodCall> <methodCall><methodName>validator1.easyStructTest</methodName><params><param><value><struct><member><name>curly</name><value><i4>4</i4></value></member><member><name>larry</name><value><i4>5</i4></value></member><member><name>moe</name><value><i4>6</i4></value></member></struct></value></param></params></methodCall>} callresponse: HTTP status ok data {Ooh, a nasty error: invalid node ID } XMLRPC_ERROR {remote procedure call failed due to "invalid token """} --- OK, that doesn't really tell us too much. After a lot of digging arround I figured it was somehow related to the DOCTYPE tag and modified TclDOM to not automatically generate/print the DOCTYPE tag. This is what I got: --- % xmlrpc::call $url $proc -struct $args Executing rpc: {<?xml version='1.0'?> <methodCall><methodName>validator1.easyStructTest</methodName><params><param><value><struct><member><name>curly</name><value><i4>4</i4></value></member><member><name>larry</name><value><i4>5</i4></value></member><member><name>moe</name><value><i4>6</i4></value></member></struct></value></param></params></methodCall>} callresponse: HTTP status ok data {<?xml version="1.0"?> <methodResponse> <params> <param> <value> <i4>15</i4> </value> </param> </params> </methodResponse> } 15 --- So things worked well. My questions, then are: 1. Is DOCTYPE _required_ for wellformedness 2. It seems that most xml-rpc implementations do not include the DOCTYPE tag. There is no mention made of it in the xmlrpc.org spec page, and it is not present in any examples. Given that, is there some way we could make optional the automatic insertion of the DOCTYPE that tclDom performs? I realize that it would probaly be better to have an rpc server that could handle either case, but there are some large barriers there (we are using AOLServer with the ns_xml extention and an rpc client on top of that - it works, but I'm not sure how much I want to mess with it.) matthew |
|
From: Steve B. <Ste...@zv...> - 2001-04-16 21:59:43
|
Hi Cameron,
You wrote:
>
> I'll not have time to work up code examples. I'd welcome
> 'em from you.
OK. The code examples might be of interest to the TclXML mailing list,
so I'm cc'ing the list.
The aim of Zwik is to have a content management system
that is configured using XML documents. That way, the XML
configuration files can themselves be managed by the system.
Also, the one common factor of users of the system is that they
know XML, but not any particular programming language.
Firstly, let's look at the config file. This file specifies
which assets get processed, how they're processed and where
the results go. To do this, the config file requires a range of
primitives to perform the processing, such as invoking an
XSLT processor.
So, here's a small config file:
<actions>
<action>
<directory match="^/zveno/information$"/>
<name>Make Website</name>
<parameters>
<targetdir>/zveno/information/public</targetdir>
</parameters>
<build:sequence>
<action ref="makeZvenoInfo"/>
</build:sequence>
</action>
<action id="makeZvenoInfo">
<name>Make Zveno Info Section</name>
<parameters>
<sourcedir>/zveno/information/zveno_information</sourcedir>
<targetdir>/zveno/information/public/zveno_information</targetdir>
</parameters>
<build:all match="\.xml$">
<action ref="makecontent"/>
</build:all>
</action>
<action id="makecontent">
<name>Make Content Page</name>
<parameters>
<targetextension>.html</targetextension>
</parameters>
<build:xslt stylesheet="content.xsl"
stylesheetdir="/zveno/information/scripts"/>
</action>
</actions>
Zwik presents a Web interface to the user, where they navigate through
the asset directories. Thus there is the notion of a "current asset",
which may be a directory or a file. Each asset will have the
appropriate actions displayed (as buttons or links). The first
action in the above file will be displayed for a particular asset
directory (for an example, see http://waycool.zveno.com:8020/Source.
BTW, please don't publish the actual URL since this is our production
system! We don't have any access controls in there yet).
The content of each 'action' element specifies what happens when
the action is invoked. This is similar to templates in XSLT.
As you will notice, these usually refer to some 'built-in' element,
such as 'build:sequence' or 'build:xslt'. That's where the magic is.
We have to be able to implement these 'built-in' elements. The customer
may also wish to add their own custom elements. To do this, I have
setup
a facility where an XML Namespace is associated with a Tcl namespace.
When an element from a particular XML Namespace is used it gets
translated
into a call to a procedure in the corresponding Tcl namespace.
There are some namespace declarations missing from the above code
fragment:
<actions
xmlns="http://www.zveno.com/zwik/2000/12" 1
xmlns:build="http://www.zveno.com/zwik/2000/12/build" 2
attach-tcl="build ::build"> 3
The declaration at [1] puts all of the unqualified elements in
the Zwik namespace. This is more for convenience and future use.
The declaration at [2] sets up the XML Namespace for a Tcl package
that will define built-in elements supplied by Zwik. The 'attach-tcl'
attribute at [3] now does the association of the XML Namespace to
the Tcl namespace. This attribute's value is a list of
XML-Namespace-prefix/Tcl-Namespace pairs. Now any reference to an
element in the "http://www.zveno.com/zwik/2000/12/build" namespace,
such as 'build:xslt', will be translated to a Tcl command line,
'::build::xslt ...'. There are some calling conventions (arguments,
return values, etc) which make the rest of it hang together.
Keep in mind that the magic of XML Namespaces means that the
'build' prefix can be changed. It could just as easily be 'foo':
<actions
xmlns="http://www.zveno.com/zwik/2000/12"
xmlns:foo="http://www.zveno.com/zwik/2000/12/build"
attach-tcl="foo ::build">
The Tcl procedure which implements the built-in element looks like this:
proc build::xslt {cfgNode src args} {
.
.
.
return $html
}
The 'cfgNode' argument is a handle to the DOM node which is the
action element in the config file which invoked the procedure.
The procedure can walk the DOM tree to get additional parameters
from the config file. 'src' is the asset that we are performing
the action upon. 'args' are arguments gathered from the config file.
Note that some of those 'action' templates from above had a
'parameters' element. The children of those elements become option
arguments to the procedure - the name of the element is the option
and the content is the value. For example,
<parameters>
<targetdir>website</targetdir>
</parameters>
becomes the arguments:
-targetdir website
These arguments are propagated by the build:sequence and build:all
actions, so nested actions can override arguments.
The only piece of the puzzle is how Zwik does the XML Namespace ->
Tcl namespace mapping. This is a little complicated, but I'll try to
simplify. When the system starts the package managing the action
subsystem reads the config file into a TclDOM tree and then examines
the 'attach-tcl' attribute (BTW, this system extends to other languages
very neatly. We could add 'attach-python', 'attach-perl',
'attach-java', etc). Each pair of values is placed in a Tcl array for
quick lookup:
set attachList [dom::element getAttributeNS $actions $zwikNS
attach-tcl]
if {![llength $attachList]} {
set attachList [dom::element getAttribute $actions attach-tcl]
}
if {[llength $attachList]} {
foreach {prefix tclns} $attachList {
set xmlns [dom::prefix2namespaceURI $actions $prefix]
set mappings($xmlns) $tclns
}
}
Here '$zwikNS' is the Zwik XML Namespace,
'http://www.zveno.com/zwik/2000/12'. 'prefix2namespaceURI' is
a utility which looks up the XML Namespace URI used in a document
given the XML Namespace prefix. This is necessary because the
XML Namespace declaration can occur in an ancestor node - the DOM
package may have to go searching for it.
When an action is invoked its template must be checked to see
if it in turn invokes an action. This code from the same package
does that:
# Process the template. Each element not in the Zwik NS is mapped
to
# an evaluating language
foreach child [::dom::node children $actionNode] {
set elementNS [::dom::node cget $child -namespaceURI] ;# 1
if {[string compare $elementNS $zwikNS] && [info exists
mappings($elementNS)]} {
# Evaluate this node
set cmd $mappings($elementNS)::[::dom::node cget $child -localName]
;# 2
set result [uplevel #0 $cmd [list $child $asset] [array get opts]]
}
}
return $result
Notice how in [1] we use TclDOM's facilities to find the XML Namespace
URI of each element in the template. At [2] we can use the 'mappings'
array built earlier to quickly look up the corresponding Tcl namespace
and form the Tcl command line to evaluate. Note that XML Namespace
prefixes are not used at all here - the document author is free to
choose
whatever prefix they like.
That's basically it! Phew! There's a bit more to it than that,
but the rest is engineering detail.
> Here's a draft:
> =======================================================================
> he founded, Invisible Worlds, funded initial development by Zveno of
> TclXML. TclXML is the XML parser for Tcl, comparable to SAX or JAXP.
Invisible Worlds funded additional/continuing development of TclXML.
The package was already well established before Invisible Worlds
came along. Initial funding was by the Co-operative Research Centre
for Advanced Computational Systems and the Australian National
University.
Credit where credit is due...
> TclXML and more
> More precisely, TclXML is a collection of "tools for processing and
> manipulating XML documents using Tcl" (see the Resources, below, for
> hyperlinks to more detailed information). TclXML includes two parsers:
> * TclExpat, based on James Clark's high-performance Expact XML
> parser; and
> * a "native" TclXML parser, coded entirely in Tcl.
Please don't call it 'TclExpat', as it has been discontinued.
TclXML is now a framework for wrapping parser implementations,
and the pure Tcl and 'expat' parsers are the first implementations
to be wrapped.
> Like many other WS tools, TclXML is open-sourced, governed by a
> BSD-style traditional in the Tcl community.
>
> Since version 2.0theta, TclXML has supported XML Namespaces
> conveniently abstracting away XML syntax details. Tcl has its own
> namespace constructs, so it has been natural for Ball to attach XML
> Namespaces to Tcl namespaces. As he explains, once this is done,
>
> Then any reference to an element within that namespace is
> translated to an evaluation of a Tcl procedure with the same
> local-name in the Tcl Namespace.
That doesn't happen automatically, as the code fragments above
demonstrate.
TclXML simply exposes the XML Namespace declarations so that it is
easy for the Tcl app to discover them, saving the hassle of interpreting
the attribute definitions itself.
Cheers,
Steve
--
Steve Ball | waX Me Lyrical XML Editor | Training & Seminars
Zveno Pty Ltd | Web Tcl Complete | XML XSL
http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development
Ste...@zv... +---------------------------+---------------------
Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099
|
|
From: Cameron L. <cl...@st...> - 2001-03-23 17:31:16
|
|
From: Peter F. <pet...@zv...> - 2001-02-26 02:14:43
|
Mats Bengtsson wrote: > > TclXML: problem with -final 0 option > ------------------------------------ > > I cannot make the -final 0 option to work. It repeatedly > reports error which it should ignore. > The version is 2.0 and was downloaded from sourceforge two days ago. > Thats a bug in the tcl-only parser. Patched versions of tclparser-8.* are now in the CVS main branch -- Peter Farmer | Custom XML software | Internet Engineering Zveno Pty Ltd | Website XML Solutions | Training & Seminars http://www.zveno.com/ | Open Source Tools | - XML XSL Tcl Pet...@zv... +-----------------------+--------------------- Ph. +61 8 92434146 | Mobile 0417 906 851 | Fax +61 2 6242 4099 |
|
From: Mats B. <ma...@pr...> - 2001-02-24 14:51:22
|
TclXML: problem with -final 0 option
------------------------------------
I cannot make the -final 0 option to work. It repeatedly
reports error which it should ignore.
The version is 2.0 and was downloaded from sourceforge two days ago.
This code is verbatim from the console:
% package require xml 2.0
2.0
% set parser [xml::parser -final 0]
xmlparser1
% $parser parse <stream>
{element stream remains unclosed around line 0}
%
If I try a slightly older one, sgml 1.7, and xml 1.9
I get the same problems.
An even older one, sgml 1.6, and xml 1.8 works!
They differ in their default values for -final,
which is 0 for the one who works, and 1 for the others.
Any idees anyone?
Mats Bengtsson
|
|
From: <Lin...@ne...> - 2001-01-31 12:46:05
|
I was still picking up Version 2.0. When I force it to use the old version some of the system works (in particular the bit where I generate a formatted display of an XML document). When I use 2.0 the parser just starts, ends successfully but doesn't do any parsing. Same results with 8.3 and 8.4 (I went through and took out the 8.4isms) So I am still puzzled. L. -- http://catless.ncl.ac.uk/Lindsay |
|
From: <Lin...@ne...> - 2001-01-31 12:25:28
|
Hmm, I went and back and tested agtain with 1.2 and it doesn't work either now! Is there a known problem with using tcl8.4a2 and tclxml? I am now using 8.4 only features in my code so it is hard for me to go back to try it again with 8.3. I should say that the installation appears to pass its tests, so I am really at a loss to know what is going on! Probably a stupid bug in my code somewhere, but I cant see why that should stop the parser from doing anything at all with the XML I pass it. L. -- http://catless.ncl.ac.uk/Lindsay |
|
From: <Lin...@ne...> - 2001-01-31 09:22:06
|
proc initialise {} {
variable parser
set parser [::xml::parser WML -reportempty 1]
$parser configure -elementstartcommand ::ParseWML::handleStart
$parser configure -elementendcommand ::ParseWML::handleEnd
$parser configure -characterdatacommand ::ParseWML::handleText
$parser configure -processinginstructioncommand ::ParseWML::handlePI
$parser configure -xmldeclcommand ::ParseWML::handleXMLDecl
$parser configure -doctypecommand ::ParseWML::handleDocType
$parser configure -errorcommand ::ParseWML::handleError
}
That's the code that sets it up. It's inside a namespace.
L.
--
http://catless.ncl.ac.uk/Lindsay
|
|
From: Steve B. <Ste...@zv...> - 2001-01-30 20:41:04
|
Lin...@ne... wrote: > > I installed Version 2.0 and dropped it into one of my applications > where I was using 1.2. It doesn't seem to do anything! The XML text is > there, the parser starts and the parser ends, but none of the callbacks > activate and there are no errors. Anyone got any suggestions? Can you include a code fragment showing how the parser is being created and configured? My first thought is that the package should be roughly backward compatible, but that's not necessarily so. Cheers, Steve Ball -- Steve Ball | waX Me Lyrical XML Editor | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
|
From: <Lin...@ne...> - 2001-01-30 16:06:21
|
I installed Version 2.0 and dropped it into one of my applications where I was using 1.2. It doesn't seem to do anything! The XML text is there, the parser starts and the parser ends, but none of the callbacks activate and there are no errors. Anyone got any suggestions? L:. -- http://catless.ncl.ac.uk/Lindsay |
|
From: Steve B. <Ste...@zv...> - 2001-01-29 23:21:24
|
Dear TclXML'ers, Today I have been informed by Invisible Worlds that they will no longer be continuing sponsorship of the TclXML project. Obviously I'm very disappointed, but I would like to take the opportunity to publically thank Invisible Worlds, and in particular Marshall Rose and Marco Gazzetta, for their valuable support during 2000. The additional resources contributed by Invisible Worlds has allowed Zveno to add support for XML Namespaces and XPath, as well as re-designing the C API. The project was also moved to SourceForge during this period. Alot of work has been done on TclDOM, such as adding support for DOM Level 2 Events and XPath. New, high-level constructs have commenced development, namely 'xmlswitch'. Although some of these efforts have yet to be completed in the form of software releases, we would not have progressed this far without the resources contributed by Invisible Worlds. Without sponsorship, or other forms of contributions, development of TclXML and TclDOM will certainly slow down. For this reason I would urge any companies or organisations currently using these packages to consider sponsoring the project. Please contact me if you are interested in doing this. Regards, Steve Ball -- Steve Ball | waX Me Lyrical XML Editor | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
|
From: Steve B. <Ste...@zv...> - 2001-01-25 21:57:17
|
Dear Mariano, You wrote: > > [...] > > > > My question to you all is what level of functionality would > [...] > > i would need a text-only installer for it... Point taken. Peter Farmer and I have been working on the pure-Tcl installer for TclXML, and obviously I'll use the same installer for TclDOM. Text-only/cmd-line operation of the installer is on the TODO list. Cheers, Steve Ball -- Steve Ball | waX Me Lyrical XML Editor | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
|
From: Steve B. <Ste...@zv...> - 2001-01-23 21:52:35
|
As a follow-up to my previous message, I overlooked mentioning that the trade-off for more functionality in TclDOM is a later release date. I guess what I'm really asking is what minimum functionality do folks need in order to set a reasonable release schedule. Cheers, Steve Ball -- Steve Ball | waX Me Lyrical XML Editor | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
|
From: Steve B. <Ste...@zv...> - 2001-01-23 12:57:58
|
Now that TclXML v2.0 has been released (well, the Tcl code at any rate) I'm going to turn my attention to getting TclDOM v2.0 ready for release as well. I will probably take a similar approach to TclXML and make a 'theta' release consisting of only the Tcl code until such time as the C code catches up. My question to you all is what level of functionality would you like to see in the initial v2.0 theta release? Is DOM Level 1 sufficient, or would you prefer a complete DOM Level 2 implementation? Only certain parts of DOM Level 2? Complete XPath support? Share your thoughts on the future of TclDOM! Cheers, Steve Ball -- Steve Ball | waX Me Lyrical XML Editor | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
|
From: Steve B. <Ste...@zv...> - 2001-01-21 09:19:45
|
Oops... I left the pkgIndex.tcl file out of the 'theta' distribution. A patch release, v2.0.1, has been uploaded to SourceForge to replace the original broken release. After a further brief test period I will post an announcement to comp.lang.tcl. Cheers, Steve Ball -- Steve Ball | waX Me Lyrical XML Editor | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
|
From: Steve B. <Ste...@zv...> - 2001-01-18 01:19:11
|
At long last, version 2.0 of TclXML is now shipping. Peter Farmer is currently working on the C code for the xml::c and expat packages. There's a bug in there somewhere, so it is not ready for release. However, the Tcl-only parser now passes all of its tests and is now shipping. I'm calling this the 'theta' release, denoting that this is only the Tcl code that is being distributed. The package now sports an all-Tcl installer, making installation easier and graphical. PF wrote the initial version, based on BLT's installer. I made it parameterised, with a view to making it suitable for other packages. At the moment I'm struggling with the SourceForge release system, so nothing has appearing in the SF file release section yet. Meanwhile you can download the package from: ftp://ftp.zveno.com/TclXML/tclxml-2.0theta.tar.gz or ftp://ftp.zveno.com/TclXML/tclxml-2.0theta.zip If you find bugs, please report them using the SourceForge bug tracking system. Messages sent directly to me will be returned with a polite reminder to submit a bug report. Enjoy, Steve Ball -- Steve Ball | waX Me Lyrical XML Editor | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
|
From: Dante <da...@oz...> - 2000-12-14 01:20:00
|
>Dante <da...@oz...> wrote: > >> Ok, so the request is being sent properly and the reply is correct, >> what's going on here? > >Again, I think this is a bug fixed in my version -- I may have eliminated >the needed section from the patch, but here's what I ran: Great, thanks for the step-by-step. I can get the getStateName example to work now but only if I [source] the dom.tcl file. If I do a [package require dom] it fails with the error I gave in my previous message. It looks like this is degenerating into a general tcl question. I've replaced my TclDOM-1.6 with a fresh copy, and put your dom.tcl in my /usr/lib/tcl8.3 dir. As long as I [source] instead of using [package], I can get the xmlrpc call to work right. Could someone fill me in here? This isn't making sense to me. thanks, Michael |
|
From: Brian L. <bl...@hc...> - 2000-12-14 01:09:46
|
ok, I had a couple of problems: 1) the http::geturl method is sending application/x-url-encoded (or something like that) as the content-type when submitting data to the server. I solved that by writing some hacky code to do the socket communication with the server by hand. Its not very robust and is a break-fix. 2) The PHP XML-RPC server being used with meerkat didn't dig the <!DOCTYPE...> part of the XML stream that was added by the dom.tcl 3) The elementOptionsRO variable in dom.tcl should have the options separated by a "|" instead of a space; this broke the regexp command. 4) In dom::Trim, the function was trying to iterate over a variable that wasn't set, raising an error. I wrapped that in an if. Attached is my modified dom.tcl (based on TclDOM-1.6), xmlrpc.tcl (From Aaron's post the other day), and my really simple driver script that reflects the new signature of the xmlrpc::call method. Gotta go. Let me know if I came even close on these! B _____________________________________________________________________________ B r i a n L a l o r bl...@hc... http://hcirisc.cs.binghamton.edu/~blalor Spam me not. To get my pgp key, put "get pgp key" in the subject of your message Woody: Hey, Mr. Peterson, there's a cold one waiting for you. Norm: I know, and if she calls, I'm not here. -- Cheers, Bar Wars II: The Woodman Strikes Back |
|
From: Brian L. <bl...@hc...> - 2000-12-14 00:27:51
|
On Thu, 14 Dec 2000, Steve Ball wrote: > This is a neat interoperability problem. I think I've found another problem: the http package is sending the post as application/x-www-form-urlencoded, when it should be "text/xml". I'm playing around by rewriting the call method to open the socket directly. Just something to consider... > > Brian Lalor wrote: > [...snip...] > > Note that there are two differences: the way the empty params tag is > > specified, and the addition of the <!DOCTYPE methodCall> tag in the Tcl > > version. > [...snip...] > > Firstly, the empty element syntax used in the Tcl is perfectly legal > XML. No (conformant) XML parser should have any problem with that. > > The document type declaration should be OK, but is superfluous. > I'll add some options to TclDOM's serialize method to allow it to be > omitted. > > Cheers, > Steve Ball > > -- > Steve Ball | waX Me Lyrical XML Editor | Training & Seminars > Zveno Pty Ltd | Web Tcl Complete | XML XSL > http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development > Ste...@zv... +---------------------------+--------------------- > Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 > _____________________________________________________________________________ B r i a n L a l o r bl...@hc... http://hcirisc.cs.binghamton.edu/~blalor Spam me not. To get my pgp key, put "get pgp key" in the subject of your message Ever wonder if taxation without representation might have been cheaper? |
|
From: Aaron S. <as...@sw...> - 2000-12-13 23:09:33
|
Dante <da...@oz...> wrote: > Ok, so the request is being sent properly and the reply is correct, > what's going on here? Again, I think this is a bug fixed in my version -- I may have eliminated the needed section from the patch, but here's what I ran: % source "$pageroot/view/http.tcl" % source "$pageroot/view/sgml.tcl" % source "$pageroot/view/xml.tcl" % source "$pageroot/view/dom.tcl" % source "$pageroot/xmlrpc/xmlrpc.tcl" % % xmlrpc::call http://betty.userland.com/RPC2 examples.getStateName -int 2 callresponse: HTTP status ok data {<?xml version="1.0"?> <methodResponse> <params> <param> <value>Alaska</value> </param> </params> </methodResponse> } Alaska $pageroot corresponds to: http://source.theinfo.org/myinfo/ I'm running 8.3. -- [ Aaron Swartz | me...@aa... | http://www.aaronsw.com ] |
|
From: Steve B. <Ste...@zv...> - 2000-12-13 21:43:08
|
This is a neat interoperability problem. Brian Lalor wrote: [...snip...] > Note that there are two differences: the way the empty params tag is > specified, and the addition of the <!DOCTYPE methodCall> tag in the Tcl > version. [...snip...] Firstly, the empty element syntax used in the Tcl is perfectly legal XML. No (conformant) XML parser should have any problem with that. The document type declaration should be OK, but is superfluous. I'll add some options to TclDOM's serialize method to allow it to be omitted. Cheers, Steve Ball -- Steve Ball | waX Me Lyrical XML Editor | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
|
From: Brian L. <bl...@hc...> - 2000-12-13 17:54:40
|
Hey again. I've done a little more research into my problem with XML-RPC
and Meerkat. I'm trying to use the xmlrpc Tcl package. I'm beginning to
think the problem lies in the PHP XML-RPC server, but it is aggravated by
the Tcl package's insistence in putting in the DOCTYPE tag.
Here are the raw messages:
(from the PHP client: new xmlrpcmsg("system.listMethods") )
<?xml version="1.0"?>
<methodCall>
<methodName>system.listMethods</methodName>
<params>
</params>
</methodCall>
(from the Tcl client: xmlrpc::call $meerkat_server "system.listMethods" )
<?xml version='1.0'?>
<!DOCTYPE methodCall>
<methodCall>
<methodName>system.listMethods</methodName>
<params/>
</methodCal>
Note that there are two differences: the way the empty params tag is
specified, and the addition of the <!DOCTYPE methodCall> tag in the Tcl
version. The error I get back from the server using the Tcl client is
<?xml version="1.0"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>103</int></value>
</member>
<member>
<name>faultString</name>
<value><string>XML error: no element found at line 1</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>
So, my question is "who's right"? Is the Tcl client correct in putting in
the DOCTYPE element, or is the PHP server correct in returning an error?
Thanks,
B
_____________________________________________________________________________
B r i a n L a l o r bl...@hc...
http://hcirisc.cs.binghamton.edu/~blalor Spam me not.
To get my pgp key, put "get pgp key" in the subject of your message
Coach: What'll it be, Normie?
Norm: Just the usual, Coach. I'll have a froth of beer and a snorkel.
-- Cheers, King of the Hill
|
|
From: Dante <da...@oz...> - 2000-12-13 00:01:03
|
While we're talking about xmlrpc.tcl... I've been having the following problem with it, the new and old version, and haven't been able to figure out what's going on, or even where the problem is. Here's what I'm doing: % xmlrpc::call http://betty.userland.com/RPC2 examples.getStateName -int 2 callresponse: HTTP status ok data {<?xml version="1.0"?> <methodResponse> <params> <param> <value>Alaska</value> </param> </params> </methodResponse> } XMLRPC_ERROR {remote procedure call failed due to "can't read "": no such variab le"} Ok, so the request is being sent properly and the reply is correct, what's going on here? thanks, Michael -- Caspar Weinberger/How much for the banana?/help, I lost my tie Michael Esveldt, Expert #FightThePower on irc.openprojects.net <mailto:da...@oz...> <http://velocity.editthispage.com/> |
|
From: Steve B. <Ste...@zv...> - 2000-12-12 22:40:17
|
Aaron Swartz wrote: > > Brian (bla...@hc...) wrote: > > > I've grabbed Steve Ball's xmlrpc.tcl package, but I'm not having any luck > > getting it to talk to O'Reilly's Meerkat service. I'd really appreciate some > > help. I'm not maintaining Tcl-RPC any longer, but I'm glad to see that others have stepped forward to do the job. > I think there might be a bug or two in the Tcl version. You want to try this > version with a few changes: > > http://source.theinfo.org/myinfo/xmlrpc/xmlrpc.tcl Perhas it might be a good idea to add this as a module to the TclXML SourceForge project? Either as a separate module in the CVS repository or as a subdirectory of the TclDOM package. It could even be a separate project altogether. Let me know which you would prefer. Cheers, Steve Ball -- Steve Ball | waX Me Lyrical XML Editor | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
|
From: Brian L. <bl...@hc...> - 2000-12-12 17:51:49
|
On Tue, 12 Dec 2000, Aaron Swartz wrote: > I think there might be a bug or two in the Tcl version. You want to try this > version with a few changes: > > http://source.theinfo.org/myinfo/xmlrpc/xmlrpc.tcl no dice. :-( I've attached a patch to the above referenced file ("string is" isn't available in tcl 8.0.5, apparently, so I use regexp). Sending the same command with perl's Frontier::Client does bring back a result set... I'm sure not small part of this is that I don't know how to use this package. :-) Is there any documentation anywhere? How do I properly declare a struct? _____________________________________________________________________________ B r i a n L a l o r bl...@hc... http://hcirisc.cs.binghamton.edu/~blalor Spam me not. To get my pgp key, put "get pgp key" in the subject of your message "Bother", said Pooh. "Eeyore, ready photon torpedoes and lock phasers on the Heffalump. Piglet, meet me in transporter room three." |