OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xri message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [xri] RelaxNG schemas for XRI resolution


+1 to Gabe's proposal.

=Drummond 

> -----Original Message-----
> From: John Bradley [mailto:jbradley@mac.com]
> Sent: Thursday, October 25, 2007 2:50 PM
> To: OASIS XRI TC
> Subject: Re: [xri] RelaxNG schemas for XRI resolution
> 
> Agreed for what its worth.  The potential for collision always
> bothered me.
> 
> =ve7jtb
> On 25-Oct-07, at 2:23 PM, Tan, William wrote:
> 
> > I agree that we should not allow extension attributes that are no
> > namespace qualified, if for no other reason than to be able to tell
> > them apart from the "built-in" ones.
> >
> > =wil
> >
> > Gabe Wachob wrote:
> >>
> >> Besides the attribute extension and missing redirect attribute
> >> issues, I also realized that the "extension" attribute pattern in
> >> the original schema was wrong, I THINK.
> >>
> >> Here's the thing - if we allow "extension" attributes - what
> >> attributes do we allow exactly?
> >>
> >> Do we allow **any** attribute, whether local or namespace
> >> qualified? What are your thoughts? My feeling is that you are
> >> asking for trouble if you start sprinkling around non-namespaced
> >> attributes as **extension* *attributes.. (its fine when they are
> >> in elements YOU define).
> >>
> >> So my preference I think is to allow only extension attributes
> >> that are namespace qualified, and NOT in the xrd/xrds namespaces
> >> (we don't define **any** attributes that are namespace qualified
> >> with the xrd or xrds namespaces) . Anyone gotta problem with THAT?
> >>
> >> -Gabe
> >>
> >> ---------------------------------------------------------------------
> >> ---
> >>
> >> *From:* Gabe Wachob [mailto:gabe.wachob@amsoft.net]
> >> *Sent:* Monday, October 22, 2007 6:18 PM
> >> *To:* 'OASIS XRI TC'
> >> *Subject:* [xri] RelaxNG schemas for XRI resolution
> >>
> >> I went ahead and threw together two RelaxNG schemas (one for XRDS,
> >> one for XRD). Please check carefully - this is a very rough cut
> >> and I had to guess at element ordering in many places.
> >>
> >> I note that in the document, there are a lot of places where
> >> attributes are referred to by qualified name - I missed in this in
> >> my last review, but I believe the XML schema and our decision was
> >> to make them **unqualified** - so in section 4.1, you wouldn't use
> >> @xrds:ref, you'd simply use @ref
> >>
> >> Anyway here's the two schemas cut n pasted in:
> >>
> >> xrds.rnc
> >>
> >> namespace xrds = "xrd://$xrds"
> >>
> >> datatypes xs = "http://www.w3.org/2001/XMLSchema-datatypes";
> >>
> >> anyelement =
> >>
> >> element * {
> >>
> >> (attribute * { text }
> >>
> >> | text
> >>
> >> | anyelement)*
> >>
> >> }
> >>
> >> start = element xrds:XRDS {
> >>
> >> attribute ref { xs:anyURI },
> >>
> >> anyelement *
> >>
> >> }
> >>
> >> xrd.rnc
> >>
> >> default namespace = "xrd://$xrd*($v*2.0)"
> >>
> >> namespace xrd = "xrd://$xrd*($v*2.0)"
> >>
> >> namespace saml = "urn:oasis:names:tc:SAML:2.0:assertion"
> >>
> >> namespace ds = "http://www.w3.org/2000/09/xmldsig#";
> >>
> >> datatypes xs = "http://www.w3.org/2001/XMLSchema-datatypes";
> >>
> >> datatypes rd = "http://relaxng.org/ns/compatibility/datatypes/1.0";
> >>
> >> start=XRD
> >>
> >> anyelementbody =
> >>
> >> (attribute * {text}
> >>
> >> | text
> >>
> >> | element * {anyelementbody} )*
> >>
> >> non.xrd.element = element * - xrd:* {
> >>
> >> anyelementbody
> >>
> >> }
> >>
> >> non.xrd.attribute = attribute * - xrd:* {text}
> >>
> >> # XRD Element
> >>
> >> # XXX Need to check order of the following
> >>
> >> XRD=element XRD {
> >>
> >> attribute xml:id {rd:ID} ?,
> >>
> >> attribute idref {rd:IDREF} ?,
> >>
> >> attribute version { "2.0" } ?,
> >>
> >> Query ?,
> >>
> >> Status ?,
> >>
> >> ServerStatus ?,
> >>
> >> Expires ?,
> >>
> >> ProviderID ?,
> >>
> >> (Redirect | Ref) ?,
> >>
> >> LocalID *,
> >>
> >> EquivID *,
> >>
> >> CanonicalID ?,
> >>
> >> CanonicalEquivID ?,
> >>
> >> Service *,
> >>
> >> element saml:Assertion {anyelementbody} ?,
> >>
> >> non.xrd.element *
> >>
> >> }
> >>
> >> Query=element Query {
> >>
> >> non.xrd.attribute *,
> >>
> >> text
> >>
> >> }
> >>
> >> statuspattern = attribute code {xs:integer},
> >>
> >> attribute cid { "absent" | "off" | "verified" | "failed" },
> >>
> >> attribute ceid { "absent" | "off" | "verified" | "failed" },
> >>
> >> text
> >>
> >> Status=element Status {
> >>
> >> statuspattern
> >>
> >> }
> >>
> >> ServerStatus = element ServerStatus {
> >>
> >> statuspattern
> >>
> >> }
> >>
> >> Expires = element Expires {
> >>
> >> xs:dateTime
> >>
> >> }
> >>
> >> Redirect = element Redirect {
> >>
> >> attribute priority {xs:integer}?,
> >>
> >> xs:anyURI
> >>
> >> }
> >>
> >> Ref = element Ref{
> >>
> >> attribute priority {xs:integer}?,
> >>
> >> xs:anyURI
> >>
> >> }
> >>
> >> ProviderID = element ProviderID {
> >>
> >> xs:anyURI
> >>
> >> }
> >>
> >> # not specifying requirements for saml:Assertion - maybe we should?
> >>
> >> LocalID = element LocalID {
> >>
> >> attribute priority {xs:integer},
> >>
> >> xs:anyURI
> >>
> >> }
> >>
> >> EquivID = element EquivID {
> >>
> >> attribute priority {xs:integer},
> >>
> >> xs:anyURI
> >>
> >> }
> >>
> >> CanonicalID = element CanonicalID {
> >>
> >> xs:anyURI
> >>
> >> }
> >>
> >> CanonicalEquivID = element CanonicalEquivID {
> >>
> >> xs:anyURI
> >>
> >> }
> >>
> >> Service = element Service {
> >>
> >> attribute priority {xs:integer}?,
> >>
> >> ProviderID?,
> >>
> >> LocalID *,
> >>
> >> Type *,
> >>
> >> Path *,
> >>
> >> MediaType *,
> >>
> >> (URI+|Redirect+|Ref+)?,
> >>
> >> element ds:KeyInfo {anyelementbody}?,
> >>
> >> non.xrd.element *
> >>
> >> }
> >>
> >> URI = element URI {
> >>
> >> attribute priority {xs:integer}?,
> >>
> >> xs:anyURI
> >>
> >> }
> >>
> >> selection.attributes = attribute match {"any" | "default" | "non-
> >> null" | "null" },
> >>
> >> attribute select { xs:boolean}
> >>
> >> Type = element Type {
> >>
> >> selection.attributes,
> >>
> >> xs:anyURI
> >>
> >> }
> >>
> >> Path = element Path {
> >>
> >> selection.attributes,
> >>
> >> xs:string
> >>
> >> }
> >>
> >> MediaType = element MediaType {
> >>
> >> selection.attributes,
> >>
> >> xs:string
> >>
> >> }
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe from this mail list, you must leave the OASIS TC that
> > generates this mail.  You may a link to this group and all your TCs
> > in OASIS
> > at:
> > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]