<?xml version="1.0" encoding="UTF-8"?>
<?rfc toc="yes" ?>
<?rfc tocdepth="4" ?>
<?rfc private="" ?>
<!-- <?rfc editing="yes" ?> -->
<rfc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://src.llup.org/vendor/IETF/RFC/2629/rfc2629.xsd"
category="exp" ipr="full3978" docName="draft-ietf-llup-format-00">
<front>
<title abbrev="LLUP Decentralized Messaging Protocol">LLUP Decentralized Messaging Protocol</title>
<author initials="R." fullname="Russ Miles" role="editor" surname="Miles">
<organization/>
<address>
<email>russellmiles@mac.com</email>
<uri>http://www.russmiles.com</uri>
</address>
</author>
<author initials="S." fullname="Sylvain Hellegouarch" role="editor" surname="Hellegouarch">
<organization/>
<address>
<email>sh@defuze.org</email>
<uri>http://www.defuze.org</uri>
</address>
</author>
<author initials="M.D." fullname="M. David Peterson" surname="Peterson">
<organization/>
<address>
<email>m.david@xmlhacker.com</email>
<uri>http://xmlhacker.com</uri>
</address>
</author>
<author initials="D." fullname="Don Demsak" surname="Demsak">
<organization/>
<address>
<email>don@donxml.com</email>
<uri>http://www.donxml.com</uri>
</address>
</author>
<author initials="K." fullname="Kurt Cagle" role="editor" surname="Cagle">
<organization/>
<address>
<email>kurt.cagle@gmail.com</email>
<uri>http://www.understandingxml.com</uri>
</address>
</author>
<author initials="U." fullname="Uche Ogbuji" surname="Ogbuji">
<organization/>
<address>
<email>uche.ogbuji@fourthought.com</email>
<uri>http://www.ogbuji.net</uri>
</address>
</author>
<author initials="P." fullname="Peter Saint-Andre" surname="Saint-Andre">
<organization/>
<address>
<email>stpeter@jabber.org</email>
<uri>http://www.jabber.org/people/stpeter.shtml</uri>
</address>
</author>
<author initials="J." fullname="Jason Kolb" surname="Kolb">
<organization/>
<address>
<email>jason.kolb@gmail.com</email>
<uri>http://www.jasonkolb.com</uri>
</address>
</author>
<author initials="R." fullname="Ralph Meijer " surname="Meijer">
<organization/>
<address>
<email>llup@ralphm.ik.nu</email>
<uri>http://ralphm.net/</uri>
</address>
</author>
<author initials="D." fullname="Dan Zambonini" surname="Zambonini">
<organization/>
<address>
<email>dan.zambonini@boxuk.com</email>
<uri>http://www.boxuk.com/</uri>
</address>
</author>
<date month="July" year="2006"/>
<keyword>LLUP</keyword>
<keyword>Blip</keyword>
<keyword>Decentralized</keyword>
<keyword>Messaging</keyword>
<abstract>
<t>This memo presents a protocol for decentralized messaging communication</t>
</abstract>
</front>
<middle>
<section title="Introduction" anchor="introduction">
<t>The World Wide Web has grown exponentially for the last decade to become today a
mandatory token in many fields. One of the greatest strength of the World Wild Web
is its capacitiy to let anyone having his word. One issue carried with that freedom
is that it has quickly become hard to look for relevant topic as well as to keep
track of resources.</t>
<t>One way to solve that problem is for the end user to make the effort to filter, sort
and organise using tools at hand such as browser bookmarks or email client filters.
However this has partly failed as well because the majority of people now using the
World Wide Web is not computer's litterate but takes the freedom concept behind the
Internet so strongly that they do not want to be forced to make effort to use it.
This explains the success of search engines. Searching a resource is made in a given
context from the user point of view, once found a resource is only interesting to
the user in that particular context. The user could organise and bookmark that
resource but what if the context does not occur for a long time? We believe that the
user would have to go through the process of searching a resource in the given
context all over again. In fact, he could well forget he had already bookmarked a
resource. To sum up users tend to think that the system is there to help them
retrieving what they look for with little effort. </t>
<t>As a side point of searching information, the user might want to be updated when a
resource he was interested in has been updated without having to come back to the
resource from time to time. That problem has already been taken into account with
blogs through the use of syndication feeds but we feel we can go further by making
the system simpler. LLUP aims to improve the user's experience of the World Wide Web
with little intrusion in his habits. Basically the user should only need to state
that he wants to hook onto a resource by letting the underlying system do the work
of tracking that resource and in return being pinged when that resource has changed.
One of the LLUP principle is to reduce bandwith pollution as well. For instance
currently the syndication feed system send the complete feed each time an entry has
been modified. LLUP instead would only ping regarding the entry which has changed.</t>
<section title="Namespace and Version" anchor="namespace">
<t>The XML namespace URI for the XML data format described in this specification is:</t>
<t>http://www.x2x2x.org/llup</t>
</section>
<section title="Notational Conventions">
<t>This specification uses the namespace prefix "llup:" for the Namespace URI
identified in the <xref target="namespace">section</xref> above. Note that the
choice of namespace prefix is arbitrary and not semantically significant.</t>
<t>LLUP is specified using terms from the XML Infoset <xref
target="W3C.REC-xml-infoset-20040204">W3C.REC-xml-infoset-20040204</xref>.
However, this specification uses a shorthand for two common terms; the phrase
"Information Item" is omitted when naming Element Information Items and
Attribute Information Items. Therefore, when this specification uses the term
"element," it is referring to an Element Information Item in Infoset terms.
Likewise, when it uses the term "attribute," it is referring to an Attribute
Information Item.</t>
<t>Some sections of this specification are illustrated with fragments of a
non-normative RELAX NG Compact schema [RELAX-NG]. However, the text of this
specification provides the definition of conformance. A complete schema appears
in Appendix</t>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in BCP 14, <xref target="refs.RFC2119">RFC2119</xref>,
as scoped to those conformance targets.</t>
</section>
</section>
<section title="Architecture">
<t> In order to meet the full set of concerns identified in the problem statement and
purpose of LLUP (see the previous section of this specification), the architecture
of LLUP needs to be specified at a generic level such that it is not tied to one
particular implementation technology. As such, the high-level architecture of LLUP
can be broken into a distinct set of services. Services provide an ideal means of
concentrating on the functional capabilities of LLUP without having to specify
particular implementation protocols or technologies; the focus is on the breakdown
of concerns rather than how those concerns are actually brought to life in a given
target domain. Each service that makes up part of the high-level LLUP architecture
needs to be described in terms of it's functions, the messages that it supports and
how it then interacts with the other services in order to play it's part in the
overall architecture. </t>
<section title="Generic services">
<t> Three key characteristics are essential to the way that the LLUP generic
services are described. The service definitions presented here should provide a
framework by which the services can: <list style="symbols">
<t>Be accurately implemented by a given system such that it can claim to be
implementing LLUP.</t>
<t>Support a myriad of possible presentation techniques and features that
can then be applied to take advantage of LLUP from a user and system
configuration perspective. </t>
</list></t>
<t>The aim is that the following services definitions can be used by any system that
sees a value in adopting LLUP, without unduly constraining the implementation of
the protocol and hence its applicability to a target domain. LLUP contains three
distinct services: <list style="symbols">
<t>The Publication Service: A means of creating new BLIPs.</t>
<t>The Subscription Service: A means of subscribing to specific types of
BLIPs.</t>
<t>The BlogXast Service: A means of routing BLIPS intelligently in order to
create a form of information transmission topology.</t>
</list></t>
<section title="BLIP">
<t>At the heart of any deployment of the LLUP services is the concept of a BLIP.
A BLIP is analogous to an entry in a traditional ATOM new feed. A BLIP
contains enough information to enable the LLUP services to understand and
intelligently route the BLIP to those endpoints that are interested in the
information that the BLIP contains. A BLIP can be used to either wrap the
actual content to which it is referring, or a simple reference to more
complex content that can be retrieved by the receiving end point as and when
they deem it appropriate. The LLUP architecture's whole purpose is to
support the creation, routing and reception of BLIPS. </t>
<section title="Publication service">
<t>The LLUP publication service's core purpose is to provide a means of
creating new LLUP-complicant messages (or BLIPS) in order to inform a
LLUP enabled system that there is either new content available or to
simply intelligently broadcast a notification. A BLIP may reference a
set resource or simply encapsulate a notification, for the purposes of
the publication service either type of BLIP will be accepted. A
publication service may implement BLIP acceptance policies or even user
accounts, this is entirely up to the service implementation. </t>
</section>
<section title="Subscription service">
<t>The LLUP subscription service's core purpose is to provide a means for
systems to express an interest in receiving certain types of BLIP. With
existing news feeds, the entire feed needs to be retrieved to decide
what has changed. Contrasting with this type of approach, a subscription
service only the BLIPs that are of interest will be received and only
when new information has been made available.</t>
</section>
<section title="Blogxast service">
<t>The LLUP blogxast service is the most critical part of the LLUP
architecture. At its most simplest, a blogXast service can accept BLIP's
and the intelligently transmit those BLIPs on depending on BLIP content
and the internal service configuration.</t>
<t>A blogXast service can be thought of as being a combination of a
publication service and a subscription service. It is a subscription
service as it will only forward BLIPSs to further end points according
to subscription information about those end points. It has the
characteristics of a publication service because it can accept new BLIPs
that are transmitted to it.</t>
<t>The power of a blogXast service is in the fact that it offers a form of
intelligent router for BLIPs. In a simple configuration, as shown in
Figure 1 below, a BlogXast service can be chained in-between a
subscription and publication service. [TBD] need to place a figure here
to show a simple blogxast service sitting in-between a publication and
subscriptions service. Although this is the simplest configuration this
does not really demonstrate the real power of the blogxast service.
Remembering that a blogxast service can filter the blips it receives (as
a form of publication service) and route them onto end points that have
expressed an interest on a particular type of BLIP (using the
subscription characteristics), because of the way that bloXast looks
like a combination of these service it can itself be chained together to
form an intelligent network topology; intelligent because it routes
messages based on content and allows full control over the lifecycle of
BLIPs, removing the problems of broadcasting: redundant transmissions
(messages can be recognised and if already received then not
re-transmitted) and transmission of irrelevant content (messages are
targeted to only those end points that have expressed an interest so
that services don't receive messages when they are not required or
interesting).</t>
</section>
</section>
</section>
</section>
<section title="LLUP Elements Definition">
<t>This section explains the different elements available to the LLUP messaging
protocol.</t>
<section title="Common elements">
<section title="The "llup:sender" element">
<t>(description here)</t>
<figure anchor="llup_sender" title="The llup:sender element">
<artwork><![CDATA[
llupSender =
element llup:sender {
attribute credentia-id { text },
attribute email { text },
text
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:recipients" element">
<t>(description here)</t>
<figure anchor="llup_recipients" title="The llup:recipients element">
<artwork><![CDATA[
llupRecipients =
element llup:recipients {
llupRecipient+
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:recipients element MUST contain one or more llup:recipient
element(s)</t>
</list>
</t>
</section>
<section title="The "llup:recipient" element">
<t>(description here)</t>
<figure anchor="llup_recipient" title="The llup:recipient element">
<artwork><![CDATA[
llupRecipient =
element llup:recipient {
text
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:time-span" element">
<t>(description here)</t>
<figure anchor="llup_time_span" title="The llup:time-span element">
<artwork><![CDATA[
llupTimeSpan =
element llup:time-span {
attribute start { xsd:dateTime },
attribute expires { xsd:dateTime }
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:keywords" element">
<t>(description here)</t>
<figure anchor="llup_keywords" title="The llup:keywords element">
<artwork><![CDATA[
llupKeywords =
element llup:keywords {
llupKeyword+
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:keywords element MUST contain one or more llup:keyword
element(s)</t>
</list>
</t>
</section>
<section title="The "llup:keyword" element">
<t>(description here)</t>
<figure anchor="llup_keyword" title="The llup:keyword element">
<artwork><![CDATA[
llupKeyword =
element llup:keyword {
text
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:home" element">
<t>(description here)</t>
<figure anchor="llup_home" title="The llup:home element">
<artwork><![CDATA[
llupHome =
element llup:home {
text
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:admin" element">
<t>(description here)</t>
<figure anchor="llup_admin" title="The llup:admin element">
<artwork><![CDATA[
llupAdmin =
element llup:admin {
text
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:link" element">
<t>(description here)</t>
<figure anchor="llup_link" title="The llup:link element">
<artwork><![CDATA[
llupLink =
element llup:link {
text
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:subject" element">
<t>(description here)</t>
<figure anchor="llup_subject" title="The llup:subject element">
<artwork><![CDATA[
llupSubject =
element llup:subject {
text
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:history" element">
<t>(description here)</t>
<figure anchor="llup_history" title="The llup:history element">
<artwork><![CDATA[
llupHistory =
element llup:history {
attribute created { xsd:dateTime },
attribute last-update { xsd:dateTime }
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:standingblip" element">
<t>(description here)</t>
<figure anchor="llup_standingblip" title="The llup:standingblip element">
<artwork><![CDATA[
llupStandingBlip =
element llup:standingblip {
llupSender,
llupHome
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:standingblip element MUST contain one llup:sender element</t>
<t>llup:standingblip element MUST contain one llup:home element</t>
</list>
</t>
</section>
<section title="The "llup:blipconsumer" element">
<t>(description here)</t>
<figure anchor="llup_blipconsumer" title="The llup:blipconsumer element">
<artwork><![CDATA[
llupBlipConsumer =
element llup:blipconsumer {
llupSender,
llupHome
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:blipconsumer element MUST contain one llup:sender element</t>
<t>llup:blipconsumer element MUST contain one llup:home element</t>
</list>
</t>
</section>
<section title="The "llup:receiveblipendpoint" element">
<t>(description here)</t>
<figure anchor="llup_receiveblipendpoint"
title="The llup:receiveblipendpoint element">
<artwork><![CDATA[
llupReceiveBlipEndPoint =
element llup:receiveblipendpoint {
text
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:addblipconsumerendpoint" element">
<t>(description here)</t>
<figure anchor="llup_addblipconsumerendpoint"
title="The llup:addblipconsumerendpoint element">
<artwork><![CDATA[
llupAddBlipConsumerEndPoint =
element llup:addblipconsumerendpoint {
text
}
]]>
</artwork>
</figure>
</section>
<section title="The "llup:publicationservice" element">
<t>(description here)</t>
<figure anchor="llup_publicationservice"
title="The llup:publicationservice element">
<artwork><![CDATA[
llupPublicationService =
element llup:publicationservice {
text
}
]]>
</artwork>
</figure>
</section>
</section>
<section title="Subscription Elements">
<section title="The "llup:subscribe" element">
<t>(description here)</t>
<figure anchor="llup_subscribe" title="The llup:subscribe element">
<artwork><![CDATA[
llupSubscribe =
element
llup:subscribe {
llupSender,
llupRecipients,
llupTimeSpan
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:subscribe element MUST contain one llup:sender element</t>
<t>llup:subscribe element MUST contain one llup:recipients element</t>
<t>llup:subscribe element MUST contain one llup:timespan element</t>
</list>
</t>
</section>
<section title="The "llup:subscription" element">
<t>(description here)</t>
<figure anchor="llup_subscription" title="The llup:subscription element">
<artwork><![CDATA[
llupSubscription =
element
llup:subscription {
llupSender,
llupHome
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:subscription element MUST contain a llup:sender element</t>
<t>llup:subscription element MUST contain a llup:home element</t>
</list>
</t>
</section>
<section title="The "llup:cancelsubscription" element">
<t>(description here)</t>
<figure anchor="llup_cancelsubscription"
title="The llup:cancelsubscription element">
<artwork><![CDATA[
llupCancelSubscription =
element
llup:cancelsubscription {
llupSender,
llupHome
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:cancelsubscription element MUST contain a llup:sender element</t>
<t>llup:cancelsubscription element MUST contain a llup:home element</t>
</list>
</t>
</section>
<section title="The "llup:subscriptioncancelled" element">
<t>(description here)</t>
<figure anchor="llup_subscriptioncancelled"
title="The llup:subscriptioncancelled element">
<artwork><![CDATA[
llupSubscriptionCancelled =
element
llup:subscriptioncancelled {
llupSender,
llupAdmin
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:cancelsubscription element MUST contain a llup:sender element</t>
<t>llup:cancelsubscription element MUST contain a llup:admin element</t>
</list>
</t>
</section>
</section>
<section title="Publication elements">
<section title="The "llup:addpublicationservice" element">
<t>(description here)</t>
<figure anchor="llup_addpublicationservice"
title="The llup:addpublicationservice element">
<artwork><![CDATA[
llupAddPublicationService =
element llup:addpublicationservice {
attribute origin { text },
attribute id { text },
llupSender,
llupTimeSpan,
llupAddBlipConsumerEndPoint
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:addpublicationservice element MUST contain a llup:sender element</t>
<t>llup:addpublicationservice element MUST contain a llup:timespan
element</t>
<t>llup:addpublicationservice element MUST contain a
llup:addblipconsumerendpoint element</t>
</list>
</t>
</section>
<section title="The "llup:publicationserviceadded" element">
<t>(description here)</t>
<figure anchor="llup_publicationserviceadded"
title="The llup:publicationserviceadded element">
<artwork><![CDATA[
llupPublicationServiceAdded =
element llup:addpublicationservice {
llupSender,
llupPublicationService
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:publicationserviceadded element MUST contain a llup:sender
element</t>
<t>llup:publicationserviceadded element MUST contain a
llup:publicationservice element</t>
</list>
</t>
</section>
<section title="The "llup:removepublicationservice" element">
<t>(description here)</t>
<figure anchor="llup_removepublicationservice"
title="The llup:removepublicationservice element">
<artwork><![CDATA[
llupRemovePublicationService =
element llup:removepublicationservice {
attribute id { text },
llupSender,
llupPublicationService
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:removepublicationservice element MUST contain a llup:sender
element</t>
<t>llup:removepublicationservice element MUST contain a
llup:publicationservice element</t>
</list>
</t>
</section>
<section title="The "llup:publicationserviceremoved" element">
<t>(description here)</t>
<figure anchor="llup_publicationserviceremoved"
title="The llup:publicationserviceremoved element">
<artwork><![CDATA[
llupRemovePublicationService =
element llup:removepublicationservice {
llupSender,
llupAdlin
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:publicationserviceremoved element MUST contain a llup:sender
element</t>
<t>llup:publicationserviceremoved element MUST contain a
llup:publicationservice element</t>
</list>
</t>
</section>
</section>
<section title="BLIP elements">
<section title="The "llup:createblip" element">
<t>(description here)</t>
<figure anchor="llup_createblip" title="The llup:createblip element">
<artwork><![CDATA[
llupCreateBlip =
element llup:createblip {
attribute origin { text },
attribute id { text },
llupSender,
llupRecipients,
llupLink,
llupSubject,
llupTimeSpan,
llupKeywords
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:createblip element MUST contain a llup:sender element</t>
<t>llup:createblip element MUST contain a llup:recipients element</t>
<t>llup:createblip element MUST contain a llup:link element</t>
<t>llup:createblip element MUST contain a llup:subject element</t>
<t>llup:createblip element MUST contain one llup:timespan element</t>
<t>llup:createblip element SHOULD contain one llup:keywords element</t>
</list>
</t>
</section>
<section title="Standing BLIP elements">
<section title="The "llup:createstandingblip" element">
<t>(description here)</t>
<figure anchor="llup_createstandingblip"
title="The llup:createstandingblip element">
<artwork><![CDATA[
llupCreateBlip =
element llup:createstandingblip {
attribute origin { text },
attribute id { text },
llupSender,
llupRecipients,
llupLink,
llupSubject,
llupTimeSpan,
llupKeywords
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:createstandingblip element MUST contain a llup:sender
element</t>
<t>llup:createstandingblip element MUST contain a llup:recipients
element</t>
<t>llup:createstandingblip element MUST contain a llup:link element</t>
<t>llup:createstandingblip element MUST contain a llup:subject
element</t>
<t>llup:createstandingblip element MUST contain one llup:timespan
element</t>
<t>llup:createstandingblip element SHOULD contain one llup:keywords
element</t>
</list>
</t>
</section>
<section title="The "llup:cancelstandingblip" element">
<t>(description here)</t>
<figure anchor="llup_cancelstandingblip"
title="The llup:cancelstandingblip element">
<artwork><![CDATA[
llupCancelStandingBlip =
element llup:cancelstandingblip {
attribute origin { text },
attribute id { text },
llupSender,
llupStandingBlip
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:cancelstandingblip element MUST contain a llup:sender
element</t>
<t>llup:cancelstandingblip element MUST contain a llup:standingblip
element</t>
</list>
</t>
</section>
<section title="The "llup:standingblipcancelled" element">
<t>(description here)</t>
<figure anchor="llup_standingblipcancelled"
title="The llup:standingblipcancelled element">
<artwork><![CDATA[
llupStandingBlipCancelled =
element
llup:standingblipcancelled {
llupSender,
llupAdmin
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:standingblipcancelled element MUST contain a llup:sender
element</t>
<t>llup:standingblipcancelled element MUST contain a llup:admin
element</t>
</list>
</t>
</section>
</section>
<section title="BLIP Consumer elements">
<section title="The "llup:addblipconsumer" element">
<t>(description here)</t>
<figure anchor="llup_addblipconsumer"
title="The llup:addblipconsumer element">
<artwork><![CDATA[
llupAddBlipConsumer =
element
llup:addblipconsumer {
llupSender,
llupTimeSpan,
llupReceiveBlipEndPoint
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:addblipconsumer element MUST contain a llup:sender element</t>
<t>llup:addblipconsumer element MUST contain a llup:timespan element</t>
<t>llup:addblipconsumer element MUST contain a
llup:receiveblipendpoint element</t>
</list>
</t>
</section>
<section title="The "llup:blipconsumeradded" element">
<t>(description here)</t>
<figure anchor="llup_blipconsumeradded"
title="The llup:blipconsumeradded element">
<artwork><![CDATA[
llupBlipConsumerAdded =
element
llup:addblipconsumer {
llupSender,
llupBlipConsumer
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:addblipconsumer element MUST contain a llup:sender element</t>
<t>llup:addblipconsumer element MUST contain a llup:blipconsumer
element</t>
</list>
</t>
</section>
<section title="The "llup:removeblipconsumer" element">
<t>(description here)</t>
<figure anchor="llup_removeblipconsumer"
title="The llup:removeblipconsumer element">
<artwork><![CDATA[
llupRemoveBlipConsumer =
element llup:removeblipconsumer {
attribute id { text },
llupSender,
llupBlipConsumer
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:removeblipconsumer element MUST contain a llup:sender
element</t>
<t>llup:removeblipconsumer element MUST contain a llup:blipconsumer
element</t>
</list>
</t>
</section>
<section title="The "llup:blipconsumerremoved" element">
<t>(description here)</t>
<figure anchor="llup_blipconsumerremoved"
title="The llup:blipconsumerremoved element">
<artwork><![CDATA[
llupRemoveBlipConsumer =
element llup:blipconsumerremoved {
llupSender,
llupAdmin
}
]]>
</artwork>
</figure>
<t>The following child elements are defined by this specification:</t>
<t>
<list style="symbols">
<t>llup:blipconsumerremoved element MUST contain a llup:sender
element</t>
<t>llup:blipconsumerremoved element MUST contain a llup:admin
element</t>
</list>
</t>
</section>
</section>
</section>
</section>
</middle>
<back>
<references title="Normative References">
<reference anchor="refs.RFC2119">
<front>
<title abbrev="Key words for use in RFCs">Key words for use in RFCs to Indicate
Requirement Levels</title>
<author initials="S." surname="Bradner" fullname="Scott Bradner">
<organization> Harvard University </organization>
</author>
<date month="March" year="1997"/>
</front>
<seriesInfo name="RFC" value="2119"/>
<seriesInfo name="BCP" value="14"/>
</reference>
<reference anchor="W3C.REC-xml-infoset-20040204"
target="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/">
<front>
<title>XML Information Set (Second Edition)</title>
<author fullname="John Cowan" surname="Cowan" initials="J.">
<organization/>
</author>
<author fullname="Richard Tobin" surname="Tobin" initials="R.">
<organization/>
</author>
<date month="February" year="2004"/>
</front>
</reference>
</references>
<references title="Informative References">
<!--
<reference anchor="RELAX-NG" target="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">
<front>
<title>RELAX NG Compact Syntax</title>
<author fullname="James Clark" surname="Clark" initials="J.">
<organization/>
</author>
<date month="November" year="2002"/>
</front>
</reference>
-->
</references>
<section title="RELAX NG Compact Schema">
<t>This appendix is informative.</t>
<t>The schema below validates the XML document format defined by this specification.
Updates to this specification could add markup in the LLUP namespace in a manner
that is invalid according to the schema below.</t>
<figure anchor="llup_relaxng_compact_schema" title="The LLUP RelaxNG compact schema">
<artwork><![CDATA[
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
namespace llup = "http://www.x2x2x.org/projects/llup"
start =
llupSubscribe
| llupSubscription
| llupCancelSubscription
| llupSubscriptionCancelled
| llupFilter
| llupMessage
| llupReceived
| llupCreateBlip
| llupCreateStandingBlip
| llupCancelStandingBlip
| llupCancelStandingBlip
| llupStandingBlipCancelled
| llupAddBlipConsumer
| llupRemoveBlipConsumer
| llupBlipConsumerRemoved
| llupAddPublicationService
| llupPublicationServiceAdded
| llupRemovePublicationService
| llupPublicationServiceRemoved
| llupBlipConsumerAdded
# llup elements
llupSubscribe = element llup:subscribe { llupSender, llupRecipients, llupTimeSpan }
llupSubscription = element llup:subscription { llupSender, llupHome }
llupCancelSubscription = element llup:cancelsubscription { llupSender, llupHome }
llupSubscriptionCancelled = element llup:subscriptioncancelled { llupSender, llupAdmin }
llupFilter = element llup:filter { llupSender, llupTimeSpan, llupKeywords }
llupMessage =
element llup:message {
attribute origin { text },
attribute id { text },
llupSender,
llupHistory,
llupRecipients,
llupTimeSpan,
llupLink,
llupSubject,
llupKeywords
}
llupReceived = element llup:received { llupSender, llupHome }
llupCreateBlip =
element llup:createblip {
attribute origin { text },
attribute id { text },
llupSender,
llupRecipients,
llupLink,
llupSubject,
llupTimeSpan,
llupKeywords
}
llupCreateStandingBlip =
element llup:createstandingblip {
attribute origin { text },
attribute id { text },
llupSender,
llupRecipients,
llupLink,
llupSubject,
llupTimeSpan,
llupKeywords
}
llupCancelStandingBlip =
element llupcancelstandingblip {
attribute origin { text },
attribute id { text },
llupSender,
llupStandingBlip
}
llupStandingBlipCancelled = element llup:standingblipcancelled { llupSender, llupAdmin }
llupAddBlipConsumer = element addblipconsumer { llupSender, llupTimeSpan, llupReceiveBlipEndPoint }
llupRemoveBlipConsumer =
element llup:removeblipconsumer {
attribute id { text },
llupSender,
llupBlipConsumer
}
llupBlipConsumerRemoved = element llup:blipconsumerremoved { llupSender, llupAdmin }
llupAddPublicationService =
element llup:addpublicationservice {
attribute origin { text },
attribute id { text },
llupSender,
llupTimeSpan,
llupAddBlipConsumerEndPoint
}
llupPublicationServiceAdded =
element llup:publicationserviceadded { llupSender, llupPublicationService }
llupRemovePublicationService =
element llup:removepublicationservice {
attribute id { text },
llupSender,
llupPublicationService
}
llupPublicationServiceRemoved = element llup:publicationserviceremoved { llupSender, llupAdmin }
llupBlipConsumerAdded = element llup:blipconsumeradded { llupSender, llupBlipConsumer }
#
llupSender =
element llup:sender {
attribute credentia-id { text },
attribute email { text },
text
}
llupRecipients = element llup:recipients { llupRecipient+ }
llupRecipient = element llup:recipient { text }
llupTimeSpan =
element llup:time-span {
attribute start { xsd:dateTime },
attribute expires { xsd:dateTime }
}
llupKeywords = element llup:keywords { llupKeyword* }
llupKeyword = element llup:keyword { text }
llupHome = element llup:home { text }
llupAdmin = element llup:admin { text }
llupLink = element llup:link { text }
llupSubject = element llup:subject { text }
llupHistory =
element llup:history {
attribute created { xsd:dateTime },
attribute last-update { xsd:dateTime }
}
llupStandingBlip = element llup:standingblip { llupSender, llupHome }
llupReceiveBlipEndPoint = element llup:receiveblipendpoint { text }
llupBlipConsumer = element llup:blipconsumer { llupSender, llupHome }
llupAddBlipConsumerEndPoint = element llup:addblipconsumerendpoint { text }
llupPublicationService = element llup:publicationservice { llupSender, llupHome }
]]>
</artwork>
</figure>
</section>
<section title="Change Log">
<t>This section should be removed before final publication.</t>
<t>-00:</t>
<t>
<list style="symbols">
<t>First draft</t>
</list>
</t>
</section>
</back>
</rfc>
A few words about Bluenote, Delphin, Direc, Kenwood, Kingston, Kiss, Koss, Pantech, Shinco, Tdk, Zalman, Beer, Career, Chloe, Delta, Funny, Hyperthyroidism, Lymphocytes, Matchmaking service, Neuroma, Preeclampsia, Wife, Alpina, Aoc, Braun, Eton, Focal, Hifonics, Krell, Kyocera, Phantom, Polaris, Zauber, Alpina, Direc, Electrolux, Exposure, Lg, Moulinex, Mustek, Phase linear, Rainford, Rockford fosgate, Spark, Dyne, Eclipse, Iiyama, Koss, Phantom, Rotel, Rowenta, Spark, Tcl, Zalman, Zanussi, Adcom, Akg, Bosch, Family, Kicx, Krome, Tangent, Thomas, Tivoli audio, Yamaha, Zanussi, Canon, Canyon, Goodwin, Hitachi, Karcher, Kef, Kicker, Kiss, Mpio, Smeg, Ves, Bork, Bose, Funky, Jaguar, Jbl, Leica, Pentax, Premier, Resonance and Velas of course.
A few words about Bluenote, Delphin, Direc, Kenwood, Kingston, Kiss, Koss, Pantech, Shinco, Tdk, Zalman, Beer, Career, Chloe, Delta, Funny, Hyperthyroidism, Lymphocytes, Matchmaking service, Neuroma, Preeclampsia, Wife, Alpina, Aoc, Braun, Eton, Focal, Hifonics, Krell, Kyocera, Phantom, Polaris, Zauber, Alpina, Direc, Electrolux, Exposure, Lg, Moulinex, Mustek, Phase linear, Rainford, Rockford fosgate, Spark, Dyne, Eclipse, Iiyama, Koss, Phantom, Rotel, Rowenta, Spark, Tcl, Zalman, Zanussi, Adcom, Akg, Bosch, Family, Kicx, Krome, Tangent, Thomas, Tivoli audio, Yamaha, Zanussi, Canon, Canyon, Goodwin, Hitachi, Karcher, Kef, Kicker, Kiss, Mpio, Smeg, Ves, Bork, Bose, Funky, Jaguar, Jbl, Leica, Pentax, Premier, Resonance and Velas of course.
Looking for Auto cheap insurance, Barley, Caffeine? We are pleased to publish Fish, Hemorrhagic, Insomnia, Levlite, Logic, Malta, Myxedema, Purpura, Asko, Bernina, Clarion, Fujitsu, Grundig, Jvc, Mac audio, Mb quart, Mora, Moulinex, Sven, Avery, Camryn, Cheilitis, Epinephrine, Fitness, Military, Oregon scientific, Singlet, Sports ticket, Troyer, Usher, Candice michelle, Clonidine, Complex, Eliana, Emiliano, Exogenous, Mycosis, Nitroglycerin, Photo printing, Spain, Tennis, Alberto, Brooklyn, Diazepam, Diverticulitis, Escitalopram, Know, Lacoste, Michels, Questran, Rescon, Woodhouse, Cyclic, Francois, Gabon, Maxair, Millard, Peyton, Punctate, Sabinas, Skeletal, Steele, Verapamil, Bbk, Canada, Claritin, Ellie, Karen, Necchi, Photo print, Sinemet, Starvation, Sulfamethoxazole, Williams, Aigo, Aiwa, Ardo, Focal, Jaguar, Jensen, Karcher, Kiss, Supra, Sven, Xtant, Amaurosis, Cervidil, Char, Cholestyramine, Coronary, Felipe, Haccp, Jeremiah, Optics, Seres, Wright, Advair, Bon jovi, Dog, Famotidine, Fluocinolone, Humate, Lobster, Oxaprozin, Sanfilippo, Shower, Thursday, Alpine, Dyne, Fagor, Gigabyte, Kingston, Krell, Kyocera, Moulinex, Nad, New home, Tefal, Binatone, Focal, Gaggenau, Hifonics, Htc, Kaiser, Kiss, Leica, Mitsubishi, Polar, Whirlpool, Alcatel, Bosch, Edirol, Genesis, Krell, Kyocera, Lanzar, Onida, Parasound, Philips, Ufo, Anorectal, Bed linen, Brown, Cerebellum, Cyrus, Epinephrine, Hypopigmentation, Mass, Netherton, Norvasc and Portuguese resourses.
See also: Bell biv devoe, Carnitine, Digestive, Florence, Hard, Joshua, Office supply, Pierre, Sears, Vigamox, Butt, Celexa, Challenger, Charlie, Lamotrigine, Logan, Monroe, Pasta, Rhinocort, Sweden, Tanner, Akg, Dell, Dls, Dream vision, Htc, Koss, Pfaff, Rainford, Shinco, Viewsonic, Vifa, Hydrops, Kangaroo, Kawasaki, Lymphatic, Mason, Mixed, Molluscum, Overgrowth, Phoenix, Shelby, Uriel, Boy, Brody, Bullet for my valentine, Cleocin, Dexedrine, Esophageal, Logic, Moon, Tazorac, Vitiligo, Vostok, Aden, Americium, Burning, Dalton, Enol, Kaplan, Merkle, Mya, Prometrium, Scopolamine, Spherocytosis, Aiwa, Akg, Bernina, Bose, Dyne, Msi, Stax, Wadia, Zetta, Aspergillosis, Dan, Flurazepam, Gabrielle, Loestrin, Lotrimin, Prion, Sclerosing, Sparse, Urea, Wilkie, Ariel, Asbestosis, Cetane, Father day gift, Givenchy, Liddle, Lopressor, Lotrimin, Mody, Schmitt, Tupperware, Cheetah, Giga, Koss, Luxman, Mustek, Nec, Necchi, Nrg, Spark, Viking, Binatone, Lightning audio, Olympus, Oregon scientific, Oris, Pioneer, Sony, Teac, Vestel, Viking, Vincent, Aiptek, Ariston, Candy, Challenger, Dialog, Direc, Etymotic, Genesis, Oris, Spl, Toyota.
See also: Bell biv devoe, Carnitine, Digestive, Florence, Hard, Joshua, Office supply, Pierre, Sears, Vigamox, Butt, Celexa, Challenger, Charlie, Lamotrigine, Logan, Monroe, Pasta, Rhinocort, Sweden, Tanner, Akg, Dell, Dls, Dream vision, Htc, Koss, Pfaff, Rainford, Shinco, Viewsonic, Vifa, Hydrops, Kangaroo, Kawasaki, Lymphatic, Mason, Mixed, Molluscum, Overgrowth, Phoenix, Shelby, Uriel, Boy, Brody, Bullet for my valentine, Cleocin, Dexedrine, Esophageal, Logic, Moon, Tazorac, Vitiligo, Vostok, Aden, Americium, Burning, Dalton, Enol, Kaplan, Merkle, Mya, Prometrium, Scopolamine, Spherocytosis, Aiwa, Akg, Bernina, Bose, Dyne, Msi, Stax, Wadia, Zetta, Aspergillosis, Dan, Flurazepam, Gabrielle, Loestrin, Lotrimin, Prion, Sclerosing, Sparse, Urea, Wilkie, Ariel, Asbestosis, Cetane, Father day gift, Givenchy, Liddle, Lopressor, Lotrimin, Mody, Schmitt, Tupperware, Cheetah, Giga, Koss, Luxman, Mustek, Nec, Necchi, Nrg, Spark, Viking, Binatone, Lightning audio, Olympus, Oregon scientific, Oris, Pioneer, Sony, Teac, Vestel, Viking, Vincent, Aiptek, Ariston, Candy, Challenger, Dialog, Direc, Etymotic, Genesis, Oris, Spl, Toyota.
See also: Cloxacillin, Epidermolysis, Evac, Feosol, Leishmaniasis, Light, Peacock, Phosphorus, Traps, Treacher, University, Actos, Aqueous, Biotin, Breanna, Cheetah, Dane, Elective, Lockwood, Metz, Ockelbo, Taryn, Aoc, Arcam, Family, Fujitsu, Iiyama, Janome, Mac audio, Maytag, Panasonic, Singer, Ves, Americaine, Angelman, Asthenia, Counting crow, Ferrous, Fontaine, Grateful dead, Julie, Occupational, Spironolactone, Terconazole, Aberrant, Basilar, Cca, Dissecting, Hansa, Hydatidiform, Jaeger lecoultre, Lalique, Meningocele, Mls, Sex position, Arc, Banks, Calderon, Catherine, Creative, Eclampsia, Epstein, Late, Quentin, Selective, Van, Aids, Alyson, Emilee, Friday, Giardiasis, Jessica alba, Kuma, Luna, Mifeprex, Mitchell, Topless, Benq, Karcher, Kenwood, Lanzar, Loewe, Mcintosh, Parasound, Pfaff, Supra, Aiptek, Brandt, Electrolux, Family, Fujifilm, Jumper, Kaiser, Lada, Msi, Phase linear, Adan, Alternative, Barley, Benicar, Continuous, Dwarfism, Lortab, Minolta, Nickelback, Stratton, Tagheuer watch, Alvin, Baycol, Binatone, Brenden, Cortical, Ferrlecit, Hair loss, Luis, Metrogel, Spl, Sucralfate, Airway us, Bath towels, Blaupunkt, Dermatofibroma, Jumper, Lance, Lukas, Posterior, Rebekah, Video, Videos, Adagio, Blaupunkt, Direc,Dls, Enol, Family, Genesis, Mark levinson, Minolta, Sven, Ufo, Delphin, Helix, Huawei, Jaguar, Krome, Mb quart, Profi, Rto, Sim2, Tdk, Zauber, Apacer, Canton, Jaguar, Kyocera, Nexx, Rainford, Rotel, Sim2, Singer, Vibe, Vifa.
Also please read about Brooklyn, Cellcept, Estrella, French, Glaucoma, Jazmine, Mikayla, Norway, Order sex, Rosa, Sawyer, Alves, Cytomel, Dentist, Dihydrocodeine, Drew, Makenzie, Palindromic, Pantech, Premature, Sarah, Woods, Aviator, Candy, Contax, Deluxe, Loewe, Mcintosh, Morel, Nikon, Planet audio, Safa, Technics, Aigo, Dilaudid, Edwards, Epidermolysis, Histamine, Mauricio, Maxillary, Pai, Pentax, Siegler, Temporomandibular, Albania, Aria giovanni, Atrovent, Boat, Chaotic, Detrol, Emery, Gorilla, Hypothalamic, Kiara, Kitchen, Lesotho, Lipodystrophy, Macie, Malta, Mitsubish colt, Mixed, Mortgage, Mpo, Nabumetone, Orgy, Palmoplantar, Petit, Pickling, Pneumonic, Porn, Pronto, Raegan, Retina, Tapazole, Victoria, Winship, Zori, Ain, Alexia, Amoxil, Bork, Cyclophosphamide, Dovonex, Hugo, Jenny, Kirsten, Omarion, Spinocerebellar, Beko, Delonghi, Dyne, Family, Fusion, Hertz, Lanzar, Minox, Mitsubishi, Sandisk, Wadia, Arizona eagle, Audiovox, Beyerdynamic, Blomberg, Challenger, Htc, Janome, Lg, Resonance, Tcl, Alar, Bar, Brandy, Cleveland, Francisco, Histiocytosis, Kazakhstan, Marcus, Sulfadiazine, Tdk, Tempra, Bush, Charlotte good, Eric, Humatrope, Lingerie, Money, Navi, Nude, Osteoarthritis, Punctate, Rheumatism, Acer, Asko, Casio, Dialog, Haier, Krell, Mtx, Phantom, Polaris, Tangent, Vitek, Audiobahn, Cheetah, Enol, Jensen, Mark levinson, Rto, Shinco, Sorell, Vertu, Whirlpool, Ariete, Audiovox, Cadence, Canton, General electric, Hitachi, Iriver, Nokia, Phase linear, Polk audio, Senao, Amelia, Apartment, Hypoglycemia, Kendra, Ketoconazole, Marsden, Measles, Onitsuka, Target, Tatum, Underwear, Boston acoustics, Electrolux, Fujifilm, Hansa, Jbl, Mac audio, Oris, Revox, Spark, Teac and Zauber of course.
Read more about accutane, aciphex, actonel, actos, acyclovir, aldara, allegra, alprazolam, altace, ambien, amoxicillin, atenolol, ativan, augmentin, bextra, biaxin, bupropion, buspar, carisoprodol, celebrex, celexa, cialis, claritin, clomid, codeine, diazepam, didrex, diflucan, effexor, ephedrine, fioricet, flexeril, hydrocodone, imitrex, ionamin, lamisil, levitra, lexapro, lorazepam, meridia, metformin, nasonex, neurontin, paxil, phentermine, prednisone, premarin, propecia, proscar, protonix, provigil, prozac, risperdal, soma, synthroid, tadalafil, tenuate, tramadol, ultracet, ultram, valium, valtrex, viagra, vicodin, vioxx, wellbutrin, xanax, xenical, yasmin, zocor, zoloft, zovirax, zyban, zyprexa, zyrtec.
Read more about accutane, aciphex, actonel, actos, acyclovir, aldara, allegra, alprazolam, altace, ambien, amoxicillin, atenolol, ativan, augmentin, bextra, biaxin, bupropion, buspar, carisoprodol, celebrex, celexa, cialis, claritin, clomid, codeine, diazepam, didrex, diflucan, effexor, ephedrine, fioricet, flexeril, hydrocodone, imitrex, ionamin, lamisil, levitra, lexapro, lorazepam, meridia, metformin, nasonex, neurontin, paxil, phentermine, prednisone, premarin, propecia, proscar, protonix, provigil, prozac, risperdal, soma, synthroid, tadalafil, tenuate, tramadol, ultracet, ultram, valium, valtrex, viagra, vicodin, vioxx, wellbutrin, xanax, xenical, yasmin, zocor, zoloft, zovirax, zyban, zyprexa, zyrtec.
Also please read related informatio nabout acne, balding, bloating, bowel, breast augmentation, breast enhancement, breast enlargement, breast enhance, breasts, cellulite, colitis, constipation, diarrhea, diet, ejaculation, fat loss, fibromyalgia, hair loss, hair growth, alopecia, baldness, provillus, heartburn, heartworm, hemorrhoids, hgh, hoodia, hypothyroidism, ibs, insomnia, menopause, neuralgia, no smoking, osteoarthritis, osteoporosis, pain relief, pheromone, pimple, quit smoking, rheurmatism, sleep aids, sleep apnea, sleep disorder, smoking, stop smoking, thyroid, weight, wrinkle, skin treatment, skin care, skin disorder, skin disease, skin cream, human growth hormone, anti aging, hormone, acanthosis, blackheads, hickey, inflammatory disease, rosacea, skin condition, whiteheads, zits, tendonitis, complexion, crinkle, scar treatment, callus, mesotherapy, endermologie, liposuction, adipose tissue, fatty tissue, flab, mons pubis, revitol, arthritis, back pain, cartilage, chronic pain, depression, sciatica, shingles, stiff joints, stiffness, prostate, prostatitis, drug testing, drug-screening, drug tests, drug detox, drug addiction, drug rehab, detoxification, drug rehabilitation and rapid detox.
Also please read related information about acne, balding, bloating, bowel, breast augmentation, breast enhancement, breast enlargement, breast enhance, breasts, cellulite, colitis, constipation, diarrhea, diet, ejaculation, fat loss, fibromyalgia, hair loss, hair growth, alopecia, baldness, provillus, heartburn, heartworm, hemorrhoids, hgh, hoodia, hypothyroidism, ibs, insomnia, menopause, neuralgia, no smoking, osteoarthritis, osteoporosis, pain relief, pheromone, pimple, quit smoking, rheurmatism, sleep aids, sleep apnea, sleep disorder, smoking, stop smoking, thyroid, weight, wrinkle, skin treatment, skin care, skin disorder, skin disease, skin cream, human growth hormone, anti aging, hormone, acanthosis, blackheads, hickey, inflammatory disease, rosacea, skin condition, whiteheads, zits, tendonitis, complexion,
