LLUP / mapping / relaxng_compact_reference_schema

LLUP Relax NG Compact Reference Schema

The Relax NG compact reference schema is in the process of being updated to reflect the most current state of the LLUP specification. At present time this only includes the specific operations necessary to implement an LLUP message publication and processing service. The schema related specifically to the BLIP message format will be added to this page as soon as it becomes available.

PLEASE NOTE: The following schema is meant only to convey the general idea behind what an LLUP message publication and processing service will require. For the time being, please do not use this for anything other than general reference.

    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 }