- From: David Orchard <dorchard@bea.com>
- Date: Mon, 23 Apr 2007 13:24:08 -0700
- To: "Dan Connolly" <connolly@w3.org>
- Cc: <www-tag@w3.org>
Html:block would be namens:personName, and my:box would be namens:personNameWithMiddle. I'm trying to use the same example styles that are in the versioning-xml doc, hence the name selection. I agree the distributed nature is key for our concerns and is a central aspect from version pov. What I meant by "heart of it" is scoped to the design style or template that uses an abstract element, non-abstract elements, and substitution groups. This appears to me to be broken from a distributed aspect. I fail to see how the "new" type can be used as if it was the "old" type with just an instance document. Whether it's a new schema with a substitution group or a new schema with an xsd:extension or a new schema with a new type that respecifies and extends the old, there's still a new schema that has to be communicated to the processor that doesn't know about the new type. Cheers, Dave > -----Original Message----- > From: Dan Connolly [mailto:connolly@w3.org] > Sent: Monday, April 23, 2007 1:11 PM > To: David Orchard > Cc: www-tag@w3.org > Subject: Re: Use of Substitution Groups > > On Mon, 2007-04-23 at 12:56 -0700, David Orchard wrote: > > Henry, Dan, etc., > > > > Is this the scenario that you are talking about? > > > > personName and personNameWithMiddle are of 2 different > types that are > > in the substitution group for AbstractPersonName. It's more > > interesting when the personNameWithMiddle is in a different > schema doc > > and namespace, but this is the heart of it. > > Well, to my mind, the distributed nature of the use case is > the heart of it. The schema syntax is a detail that I have > trouble focusing on. > > Which of AbstractPersonName and such corresponds to my:box > and html:block in the example I gave? > > [[ > I'm interested in a form of extensibility where a markup > language designer can make a new my:box element and say "it's > an HTML block element"; then, when a document containing a > my:block element is checked for syntactic happiness, the > checking tool uses normal HTML schemas until it gets to > my:box; then it looks up my:box in the web, finds that it's > declared to be an HTML block, and find than an HTML block is > allowed here, and carries on happily. > ]] > -- > http://lists.w3.org/Archives/Public/public-xml-versioning/2007 > Feb/0000.html > > > <?xml version="1.0" encoding="UTF-8"?> <xs:schema > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > > targetNamespace="http://www.example.org/name/1" > > xmlns:namens="http://www.example.org/name/1"> > > > > <xs:element name="AbstractPersonName" abstract="true"/> > <xs:element > > name="personName" type="namens:nameType" > > substitutionGroup="namens:AbstractPersonName"/> > > > > <xs:complexType name="nameType"> > > <xs:sequence minOccurs="0" maxOccurs="unbounded"> > > <xs:choice> > > <xs:element ref="namens:given" /> > > <xs:element ref="namens:family" /> > > </xs:choice> > > </xs:sequence> > > <xs:anyAttribute namespace="##any" processContents="strict" /> > > > > </xs:complexType> > > > > <xs:element name="given" type="xs:string"/> > > <xs:element name="family" type="xs:string"/> > > > > <xs:complexType name="nameWithMiddleType"> > > <xs:sequence minOccurs="0" maxOccurs="unbounded"> > > <xs:choice> > > <xs:element ref="namens:given" /> > > <xs:element ref="namens:family" /> > > <xs:element ref="namens:middle" minOccurs="0"/> > > </xs:choice> > > </xs:sequence> > > <xs:anyAttribute namespace="##any" processContents="strict" /> > > </xs:complexType> > > > > <xs:element name="middle" type="xs:string"/> > > <xs:element name="personNameWithMiddle" > > type="namens:nameWithMiddleType" > > substitutionGroup="namens:AbstractPersonName"/> > > > > </xs:schema> > > > > Cheers, > > Dave > -- > Dan Connolly, W3C http://www.w3.org/People/Connolly/ > D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E > >
Received on Monday, 23 April 2007 20:24:17 UTC