[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [syndication] Syndication Subscription
> Yes! Interface discovery is IMO the biggest missing piece of XML-RPC.
> "getFunctions" is a stab. Anybody care to flesh out the semantics /
> specifics?
I think this is a very important project -- I'm forwarding the XML-RPC list.
> BTW returning a list / array of function names is necessary but not
> sufficient: one needs to be able to programatically discover both argument
> typing / structure and similar for returns... anybody up to it?
Well, here's the specification for my changedPage system:
<struct>
<member>
<-- This is the name of the function: -->
<name>changedPage.getPublications</name>
<value>
<array><data>
<-- It takes no arguments: -->
<value><array><data/></array></value>
<-- It returns an array: -->
<value>
<data><array>
<-- Of structs: -->
<value><struct>
<member>
<name>subscriptionID</name>
<value>i4</value>
</member>
<member>
<name>Description</name>
<value>string</value>
</member>
<name>Format</name>
<value>string</value>
</member>
</struct></value>
</data></array>
</value>
</data></array>
</value>
</member>
<member>
<name>changedPage.subscribePublication</name>
<value>
<array><data>
<array><data>
<-- Takes two arguments: -->
<value>i4</value>
<value>string</value>
</array></data>
<array><data>
<-- Returns an integer: -->
<value>i4</string>
</data></array>
</value>
</member>
</struct>
> (Been pondering this for over a year; no answers yet. Need to avoid
> CORBAlike bloat. How to do this?)
I've never seen CORBA. How does it do such things? The other question is,
what is this used for? If we're only using it to discover versions and
compatibility for functions we already understand, we don't need much more
than we have above. (Unless of course, someone is brain-dead enough to
modify the meanings of the arguments...)
One thing that's missing is the ability to specify a limited number of
options. For example, I might want to say that
changedPage.getPublications(2)(1).Format (the format member of the struct
that will be returned in an array) can only be one of "RSS", "HTML" and
"scriptingNews". Hmm, maybe we'd be better off if we just transmitted plain
old XML back and forth. Then we could use XML Schemas and DTDs.
--
Aaron Swartz |"This information is top security.
<http://swartzfam.com/aaron/>| When you have read it, destroy yourself."
<http://www.theinfo.org/> | - Marshall McLuhan