- From: John Cowan <cowan@ccil.org>
- Date: Sat, 18 Jul 2009 15:41:50 -0400
- To: Norman Walsh <ndw@nwalsh.com>
- Cc: public-xml-core-wg@w3.org
Norman Walsh scripsit:
> I've published the latest editor's draft of XLink 1.1:
>
> http://www.w3.org/XML/Group/2004/xmlcore/xlink11/
[snip]
> John, can you verify that I got the right RNC?
No, that's the one used prior to the introduction of simple conformance.
Here's what you should have:
The following RELAX NG grammar files, expressed in the compact syntax,
validate XLink 1.1. Validating against xlink-simple.rnc checks for
simple conformance; validating against xlink.rnc (which depends on
xlink-simple.rnc) checks for full conformance. These files are provided
only as a convenience for application developers; they have no normative
status.
xlink.rnc:
namespace xlink = "http://www.w3.org/1999/xlink"
include "xlink-simple.rnc" {
anyElement = simple | extended | foreignElement
}
label.att = attribute xlink:label {xsd:NCName}
from.att = attribute xlink:from {xsd:NCName}
to.att = attribute xlink:to {xsd:NCName}
extended = element * {
attribute xlink:type {"extended"},
foreign.att*, role.att?, title.att?,
(title | resource | locator | arc | anyElement | text)*
}
title = element * {
attribute xlink:type {"title"}, foreign.att*,
(anyElement | text)*
}
resource = element * {
attribute xlink:type {"resource"}, foreign.att*,
role.att?, title.att?, label.att?,
(anyElement | text)*
}
locator = element * {
attribute xlink:type {"locator"}, foreign.att*,
href.att, role.att?, title.att?, label.att?,
(title | anyElement | text)*
}
arc = element * {
attribute xlink:type {"arc"}, foreign.att*,
arcrole.att?, title.att?, from.att?, to.att?,
show.att?, actuate.att?,
(title | anyElement | text)*
}
xlink-simple.rnc:
namespace xlink = "http://www.w3.org/1999/xlink"
start = anyElement
anyElement = simple | foreignElement
foreignElement = element * - xlink:* { foreign.att*, (anyElement | text)* }
simple.type = attribute xlink:type {"simple"}
href.att = attribute xlink:href {xsd:anyURI}
role.att = attribute xlink:role {xsd:anyURI}
arcrole.att = attribute xlink:arcrole {xsd:anyURI}
title.att = attribute xlink:title {text}
show.att = attribute xlink:show {"new"|"replace"|"embed"|"other"|"none"}
actuate.att = attribute xlink:actuate {"onLoad"|"onRequest"|"other"|"none"}
foreign.att = attribute * - xlink:* {text}
simple = element * {
(simple.type | href.att | (simple.type, href.att)),
foreign.att*, role.att?, arcrole.att?, title.att?,
show.att?, actuate.att?,
(anyElement | text)*
}
> Everyone, why are we not including a DTD?
What is Appendix B, chopped liver?
That said, I think we should remove the word "sample" from Apps C and D.
The DTD validates one possible set of conventions for using XLink;
the XML Schema (I think) and the RNG (for sure) validate any XLink-using
document.
--
Unless it was by accident that I had John Cowan
offended someone, I never apologized. cowan@ccil.org
--Quentin Crisp http://www.ccil.org/~cowan
Received on Saturday, 18 July 2009 19:42:26 UTC