Modified RelaxNG Mapping
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 }