diff options
author | Brion Vibber <brion@pobox.com> | 2010-02-08 11:06:03 -0800 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-02-08 11:15:29 -0800 |
commit | dc09453a77f33c4dfdff306321ce93cf5fbd2d57 (patch) | |
tree | df3ff3713cf36a84efeb09b5650dd49399edc8f4 /plugins/OStatus/extlib/XML/Feed/schemas/rss10.rnc | |
parent | 5fdcd88176010a72b6a157170784a8aad7bf4131 (diff) |
First steps on converting FeedSub into the pub/sub basis for OStatus communications:
* renamed FeedSub plugin to OStatus
* now setting avatar on subscriptions
* general fixes for subscription
* integrated PuSH hub to handle only user timelines on canonical ID url; sends updates directly
* set $config['feedsub']['nohub'] = true to test w/ foreign feeds that don't have hubs (won't actually receive updates though)
* a few bits of code documentation
* HMAC support for verified distributions (safest if sub setup is on HTTPS)
And a couple core changes:
* minimizing HTML output for exceptions in API requests to aid in debugging
* fix for rel=self link in apitimelineuser when id given
This does not not yet include any of the individual subscription management (Salmon notifications for sub/unsub, etc) nor a nice UI for user subscriptions.
Needs some further cleanup to treat posts as status updates instead of link references.
Diffstat (limited to 'plugins/OStatus/extlib/XML/Feed/schemas/rss10.rnc')
-rwxr-xr-x | plugins/OStatus/extlib/XML/Feed/schemas/rss10.rnc | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/plugins/OStatus/extlib/XML/Feed/schemas/rss10.rnc b/plugins/OStatus/extlib/XML/Feed/schemas/rss10.rnc new file mode 100755 index 000000000..725094788 --- /dev/null +++ b/plugins/OStatus/extlib/XML/Feed/schemas/rss10.rnc @@ -0,0 +1,113 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- http://www.xml.com/lpt/a/2002/01/23/relaxng.html --> +<!-- http://www.oasis-open.org/committees/relax-ng/tutorial-20011203.html --> +<!-- http://www.zvon.org/xxl/XMLSchemaTutorial/Output/ser_wildcards_st8.html --> + +<grammar xmlns='http://relaxng.org/ns/structure/1.0' + xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' + xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' + ns='http://purl.org/rss/1.0/' + datatypeLibrary='http://www.w3.org/2001/XMLSchema-datatypes'> + + <start> + <element name='RDF' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> + <ref name='RDFContent'/> + </element> + </start> + + <define name='RDFContent' ns='http://purl.org/rss/1.0/'> + <interleave> + <element name='channel'> + <ref name='channelContent'/> + </element> + <optional> + <element name='image'><ref name='imageContent'/></element> + </optional> + <oneOrMore> + <element name='item'><ref name='itemContent'/></element> + </oneOrMore> + </interleave> + </define> + + <define name='channelContent' combine="interleave"> + <interleave> + <element name='title'><data type='string'/></element> + <element name='link'><data type='anyURI'/></element> + <element name='description'><data type='string'/></element> + <element name='image'> + <attribute name='resource' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> + <data type='anyURI'/> + </attribute> + </element> + <element name='items'> + <ref name='itemsContent'/> + </element> + <attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> + <data type='anyURI'/> + </attribute> + </interleave> + </define> + + <define name="itemsContent"> + <element name="Seq" ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> + <oneOrMore> + <element name="li" ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> + <choice> + <attribute name='resource'> <!-- Why doesn't RDF/RSS1.0 ns qualify this attribute? --> + <data type='anyURI'/> + </attribute> + <attribute name='resource' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> + <data type='anyURI'/> + </attribute> + </choice> + </element> + </oneOrMore> + </element> + </define> + + <define name='imageContent'> + <interleave> + <element name='title'><data type='string'/></element> + <element name='link'><data type='anyURI'/></element> + <element name='url'><data type='anyURI'/></element> + <attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> + <data type='anyURI'/> + </attribute> + </interleave> + </define> + + <define name='itemContent'> + <interleave> + <element name='title'><data type='string'/></element> + <element name='link'><data type='anyURI'/></element> + <optional><element name='description'><data type='string'/></element></optional> + <ref name="anyThing"/> + <attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> + <data type='anyURI'/> + </attribute> + </interleave> + </define> + + + <define name='anyThing'> + <zeroOrMore> + <choice> + <text/> + <element> + <anyName> + <except> + <nsName/> + </except> + </anyName> + <ref name='anyThing'/> + <zeroOrMore> + <attribute> + <anyName/> + </attribute> + </zeroOrMore> + </element> + </choice> + </zeroOrMore> + </define> + +</grammar> |