Re: Major problem with schema needs immediate attention.

Leigh,

I don't understand this. Assume lax processing only.

Case 1: I have NO schema containing element definitions for the null 
namespace, AND I have this instance:

<xforms:instance>
   <foo xmlns="">
     ... more stuff ...

Case 2: I have NO schema containing element definitions for the bar 
namespace, AND I have this instance:

<xforms:instance>
   <bar xmlns="bar">
     ... more stuff ...

In both case, I expect the same behavior, i.e. the root element of 
either instance is processed in a lax way, i.e. lax processing keeps 
going and attempts to validate attributes and children elements.

What's wrong with that?

-Erik

Klotz, Leigh wrote:
> John,
> I'm having trouble following this.
>  
> I don't think special casing the xmlns="" is a good idea either, but I 
> want to make sure we've captured what current processors are doing, 
> which is the goal of 1.1/
>  
> If we don't special case the no-namespace then the use of any structure 
> schema on xmlns="" will require the use of schema structure for all 
> elements.
> That's the opposite of what your first paragraph says, I think.
>  
> I agree that fine-grained controls are for a later revision and don't 
> want to debate them now.
>  
> I don't think we've come to closure yet so I can't say what or where we 
> put in.
>  
> Leigh.
> 
> ------------------------------------------------------------------------
> *From:* John Boyer [mailto:boyerj@ca.ibm.com]
> *Sent:* Wednesday, October 31, 2007 2:00 PM
> *To:* Klotz, Leigh
> *Cc:* ebruchez@orbeon.com; Forms WG (new); public-forms-request@w3.org
> *Subject:* RE: Major problem with schema needs immediate attention.
> 
> 
> Hi Leigh,
> 
> I don't see a reason to special case no namespace and agree with Erik 
> that people have been using instances with no namespace to ease their 
> typing, and they do use both type libs and actual no-namespace schema on 
> them.
> 
> Agree they do also use instances for temp variables, but this would fall 
> under Erik's extension proposal to someday have <instance 
> validation="skip"> available, which sounds like 1.2/2.0.
> 
> Would you be able to massage this idea into something that could be 
> popped into the spec, and of course say where?
> 
>  :-)
> John M. Boyer, Ph.D.
> STSM: Lotus Forms Architect and Researcher
> Chair, W3C Forms Working Group
> Workplace, Portal and Collaboration Software
> IBM Victoria Software Lab
> E-Mail: boyerj@ca.ibm.com  
> 
> Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer
> 
> 
> 
> 
> *"Klotz, Leigh" <Leigh.Klotz@xerox.com>*
> Sent by: public-forms-request@w3.org
> 
> 10/31/2007 01:38 PM
> 
> 	
> To
> 	<ebruchez@orbeon.com>, "Forms WG (new)" <public-forms@w3.org>
> cc
> 	
> Subject
> 	RE: Major problem with schema needs immediate attention.
> 
> 
> 	
> 
> 
> 
> 
> 
> 
> Erik,
> Yes, looks good.  The question is how to decide between lax and strict. 
>  XSLT 2.0 gives the author control, but XForms 1.1 does not.
> My proposal is to use the presence of element and attribute definitions 
> (structure) as the choice as I believe this is what XForms 1.0 
> processors already do. XSLT lax validation looks like what we want for 
> cases where the schema for the namespace has no elements or attributes, 
> and strict for when it has at least one.  
> 
> Having fine-grained author control as XSLT does would be great, but I 
> think we should hold off on importing partial features from XSLT 2.0 and 
> XPath 2.0 into XForms 1.1 and intead hold off for 1.2/2.0 when we can 
> move to XSLT 2.0 and produce a much better alignment.   Many 
> implementations are moving to XPath 2.0 without WG direction, so we'd 
> better get on it.
> 
> I am OK with not special-casing the no-namespace if nobody else sees a 
> reason we might have to.
> 
> Leigh.
> 
> -----Original Message-----
> From: public-forms-request@w3.org [mailto:public-forms-request@w3.org] 
> On Behalf Of Erik Bruchez
> Sent: Wednesday, October 31, 2007 1:26 PM
> To: Forms WG (new)
> Subject: Re: Major problem with schema needs immediate attention.
> 
> 
> Ok, following-up on this:
> 
> Leigh, could you have a quick look at this section in XSLT 2.0:
> 
>   http://www.w3.org/TR/xslt20/#validating-using-validation-attribute
> 
> Especially the bullet point starting with "The value lax...". Would
> this match what you had in mind below?
> 
> If so, this would be great. We could then simply say that we validate
> instances in lax mode, period (or we could put an explanation similar
> to that in XSLT 2.0). We would be following a common validation
> pattern instead of inventing our own. And then in the future, we can
> add attributes to force "strict" or "skip" or even a particular type,
> like XSLT 2.0 does, if we think that this is a good idea.
> 
> I don't think we should have a special treatment for nodes that are in
> no namespace. Many users put their instances in one or more
> namespaces, but many put it in the null namespace. I would expect
> validation to work the same whether I am in a namespace or not, and
> this approach seems to be fully supported by XML Schema and XSLT 2.0.
> 
> -Erik
> 
> Klotz, Leigh wrote:
>  > Just cutting to the chase here:
>  >>Are you proposing that XForms 1.1 should inspect each schema to
>  > determine if it is a type lib (e.g. no top-level xs:element), and use
>  > something other than strict validation in that case?
>  > Yes. That appears to be what existing implementations do and if our goal
>  > with 1.1 is to fix these inconsistencies then we can do it with what I
>  > believe are the two rules that are being used:
>  >
>  > 1. If there are no elements in the Schema for a namespace, then it
>  > cannot be used for structural validation and *should not try*.
>  > 2. If there are elements defined in the schema, then it is presumed to
>  > define them all (the one schema file per namespace rule).
>  > These two rules seem sufficient to me and are allowed by case two of
>  > http://www.w3.org/TR/xmlschema-1/#validation_outcome and correspond to
>  > the fine-grained schema checking that I believe we are talking about.
>  > The question of whether when you have a Schema for a namespace and
>  > encounter elements in that namespace that are not in the schema is the
>  > strict/lax one, and the Schema people say it's up to the application to
>  > say this as well, but since we have the one-schema-per-namespace rule,
>  > we can defensibly say that we do not allow lax processing so that should
>  > be invalid.
>  > I suppose a reasonable person might say that we allow schemas for the ""
>  > namespace so we should allow lax processing there, and if you want that
>  > I won't disagree:
>  > 2.5 If you encounter an element in the "" namespace and the element is
>  > not mentioned in any schema for that namespace, you cannot prove it
> invalid.
>  >
>  > Test cases (note these are not additional rules but tests of the above):
>  > If you encounter an element in a namespace, if you have a schema with
>  > that target namespace and it defines elements, then you can validate
>  > that element.
>  > If you encounter an element in a namespace, if you have a schema with
>  > that target namespace and does not defines elements, then you cannot
>  > validate that element (except via bind/@type <mailto:bind/@type> or
>  > xsi:type but that's a separate issue).
>  > if you have no schema for that namespace, then you cannot validate it
>  > (though you may be able to validate its insides recursively, or do
>  > bind/@type <mailto:bind/@type> validation but that's a separate matter),
>  > so it's not invalid.
>  > If the root element XYZ in the instance is in a namespace and you have a
>  > schema for that namespace, then either you can validate every child by
>  > that schema, or it's invalid.
>  > If you had wanted lax processing of child elements of an element (even
>  > if said element is our root XYZ) you should have specified such in your
>  > schema, which you wrote.
>  > If you had wanted elements in some other namespace to appear as child
>  > elements of said element, even if you went to the trouble to mention a
>  > schema for that other namespace in the model/@schema
>  > <mailto:model/@schema> attribute, you still won't get validity because
>  > the schema defining the XYZ element doesn't allow it.
>  >
>  > If our goal is to give more control to authors about strict vs lax then
>  > we need to re-vamp things for 1.2, though I hope we do it in a way that
>  > deals with multiple Schema languages.
>  >
>  > Leigh.
>  > ------------------------------------------------------------------------
>  > *From:* John Boyer [mailto:boyerj@ca.ibm.com]
>  > *Sent:* Friday, October 19, 2007 2:29 PM
>  > *To:* Klotz, Leigh
>  > *Cc:* ebruchez@orbeon.com; Forms WG (new); public-forms-request@w3.org
>  > *Subject:* RE: Major problem with schema needs immediate attention.
>  >
>  >
>  > I agree with Erik's last call comment and his most immediate response
>  > below saying that the spec has a problem because it does not say enough
>  > about how to apply the schemas (which I have mutated slightly into the
>  > conclusion that it does not say which schemas to apply to an instance
>  > nor how to apply them).
>  >
>  > I agree with Leigh (and Noah) that strict vs. lax is more fine grain
>  > than instance level.  In fact, I pointed this out in the prior email by
>  > indicating that the XSLT 2 "validation" attribute would be better as a
>  > MIP because this would map more closely to the design of XSLT 2, which
>  > allows validation to appear on element and attribute declarations, not
>  > just on result tree declarations.
>  >
>  > I agree with Leigh that it would be better for XForms 1.1 to say
>  > something more about the method without adding more "knobs and dials".
>  >  This is why my first email on this pointed out a method we have been
>  > using to select schema.  It is not an ideal method but could be refined
>  > to our needs.
>  >
>  > It remains the case that the method I mentioned *does not do* what Erik
>  > describes. Or, at least, I don't see how it does :-)  It is not a method
>  > for "one-level lax validation".  It is a method for *selecting* the
>  > schema that will be applied.  Those that are applied are strict.  So the
>  > choice of lax or strict is a separate issue.  XSLT 2 "validation"
>  > describes how to apply *all* of the schema.
>  >
>  > However, let's go back to what Leigh just said:
>  >
>  > "Each xf:mode/@schema contributes either a type library or a schema
>  > definition that applies only to nodes in its targetNamespace."
>  >
>  > Leigh, the problem we are having is that the above statement is
>  > insufficient.  Could you tell me *how* each schema definition is applied
>  > to nodes in its target namespace?
>  >
>  > The easiest example is that if you have a "type library" schema for a
>  > target namespace, then an instance in that namespace will fail a strict
>  > validation, preventing submission.  It would be necessary to use lax
>  > validation for the type lib.  On the other hand, if the schema contains
>  > a structure definition for the target namespace, then lax validation
>  > will fail to enforce some of the expected structure rules.
>  >
>  > Are you proposing that XForms 1.1 should inspect each schema to
>  > determine if it is a type lib (e.g. no top-level xs:element), and use
>  > something other than strict validation in that case?
>  >
>  > Cheers,
>  > John M. Boyer, Ph.D.
>  > STSM: Lotus Forms Architect and Researcher
>  > Chair, W3C Forms Working Group
>  > Workplace, Portal and Collaboration Software
>  > IBM Victoria Software Lab
>  > E-Mail: boyerj@ca.ibm.com
>  >
>  > Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer
>  >
>  >
>  >
>  >
>  > *"Klotz, Leigh" <Leigh.Klotz@xerox.com>*
>  > Sent by: public-forms-request@w3.org
>  >
>  > 10/19/2007 01:50 PM
>  >
>  >                  
>  > To
>  >                  <ebruchez@orbeon.com>, "Forms WG (new)" 
> <public-forms@w3.org>
>  > cc
>  >                  
>  > Subject
>  >                  RE: Major problem with schema needs immediate attention.
>  >
>  >
>  >                  
>  >
>  >
>  >
>  >
>  >
>  >
>  > I have no quibbles with trying to do a better job in XForms 1.2, and in
>  > further alignment with XSLT 2.0 and XPath 2.0.
>  > Such changes can only help us, but they are as you say, most assuredly
>  > not for XForms 1.1.
>  >
>  > But it's not clear to me that this is a major problem that needs
>  > immediate attention, at least not in terms of making last-minute changes
>  > to add new knobs to twiddle on xf:model and xf:instance.
>  >
>  > If anything is needed, it's verbiage about how the processor decides to
>  > use lax validation.
>  >
>  > 1. Each xf:mode/@schema contributes either a type library or a schema
>  > definition that applies only to nodes in its targetNamespace.
>  > 2. Verbiage, if needed, could take the form of a template for an
>  > <xsd:schema> that expresses the above, given a list of Schemas to import
>  > or include.
>  >
>  > Some XForms processors do just that.  Others (I believe the Novell
>  > engine was reported to to this at the SAP F2F in Palo Alto), combine the
>  > Schemas in an additive form not expressible using xsd:import or
> xsd:include.
>  >
>  > And again, lax or strict is not necessarily a decision to be made on the
>  > document or instance level; as you saw from Noah Mendelsohn's
>  > discussion, it's possible to do this on a more fine-grained basis.
>  >
>  > Leigh.
>  >
>  >
>  >
>  > -----Original Message-----
>  > From: public-forms-request@w3.org [mailto:public-forms-request@w3.org]
>  > On Behalf Of Erik Bruchez
>  > Sent: Friday, October 19, 2007 1:23 PM
>  > To: Forms WG (new)
>  > Subject: Re: Major problem with schema needs immediate attention.
>  >
>  >
>  > Leigh,
>  >
>  > I think (John please correct me if I am wrong) that John and I both
>  > recognize that XForms is in charge of deciding how to apply the
>  > schema.
>  >
>  > The issue is that the current spec doesn't say how to apply the
>  > schema, and I think that we must say how, otherwise different
>  > implementations will validate differently, right?
>  >
>  > Picking a default (i.e. strict, or John's "one-level-lax") resolves
>  > the problem in a way, but not in a very satisfactory way IMO, because
>  > there are use cases for "strict", use cases for "lax", and use cases
>  > for "just skip" - three concepts already present in the Schema 1.0
>  > specification.
>  >
>  > This is why I find the XSLT 2.0 solution compelling: it does say, and
>  > in very much details, "how" to validate, and it allows the stylesheet
>  > author to better control how schema definitions are applied.
>  >
>  > -Erik
>  >
>  > Klotz, Leigh wrote:
>  >  > I don't see the need for any changes.  The XML schema processor
> doesn't
>  >  > say what interfaces must be provided by the XML schema validation
>  > software.
>  >  > This issue is assuming that the policy is strict validation and
> that the
>  >  > presence of even a single type library with no element declarations
>  >  > would invalidate all instances.
>  >  > That's simply not the case; the application itself (in this case,
>  >  > XForms) is in charge of deciding how to apply XML Schema validation.
>  >  > Granted, if you use Xerces in Java and just say "go" it will try to
>  >  > validate everything, but others, (I believe Saxon-SA) won't, and offer
>  >  > more advanced interfaces.
>  >  > But any issues I see here are about using OTS open source software
> with
>  >  > insufficienct interfaces to implement what's clearly allowed by
> the XML
>  >  > Schema standard.
>  >  >
>  >  > Take a look at what Noah has to say on this issue:
>  >  >
>  >  >  From http://www.schemavalid.com/faq/xml-schema.html#d4
>  >  >
>  >  >
>  >  >     Can schemas validate parts of an instance document?
>  >  >
>  >  > Yes, for example XSV <http://www.w3.org/2000/09/webdata/xsv>, for
>  >  > example, will use "strict" mode if every element from the root down is
>  >  > schema-validatable, but "lax" mode if the root node - or any other
>  >  > element which is allowed to appear in some context - cannot itself be
>  >  > schema-validated.
>  >  >
>  >  > [Noah Mendelsohn] From xmlschema-1
>  >  > <http://www.w3.org/TR/xmlschema-1/#validation_outcome>: "With a schema
>  >  > which satisfies the conditions expressed in Errors in Schema
>  >  > Construction and Structure (§7.1) above, the schema-validity of an
>  >  > element information item can be assessed.". It then goes on to say
>  >  > exactly how and against which declarations. Note that it says you can
>  >  > validate an "element", not necessarily the root element of a document.
>  >  >
>  >  > Net answer to your question: conforming processors can be written to
>  >  > validate any element you like. Not all processors need provide this
>  >  > service: buy or use processors that validate the information you need
>  >  > validated. By the way, the detailed rules give the processor a
> choice of
>  >  > validating the element against some particular identified element
>  >  > declaration, some particular identified complex type, or to use the
>  >  > mechanisms of strict, lax etc. to determine what to validate based on
>  >  > what declarations happen to be available. All of this is explained at
>  >  > xmlschema-1 <http://www.w3.org/TR/xmlschema-1/#validation_outcome>.
>  >  >
>  >  >
>  >  >
>  >  >
> ------------------------------------------------------------------------
>  >  > *From:* public-forms-request@w3.org
> [mailto:public-forms-request@w3.org]
>  >  > *On Behalf Of *John Boyer
>  >  > *Sent:* Thursday, October 18, 2007 5:51 PM
>  >  > *To:* ebruchez@orbeon.com
>  >  > *Cc:* Forms WG (new); public-forms-request@w3.org
>  >  > *Subject:* Re: Major problem with schema needs immediate attention.
>  >  >
>  >  >
>  >  > Hi Erik,
>  >  >
>  >  > Regarding validate vs. schema attribute on instance, are you
> saying that
>  >  > if you have
>  >  >
>  >  > A.xsd: schema targetnamespace="A"
>  >  > B.xsd: schema targetnamespace="B"
>  >  >
>  >  > <instance validation="lax">  <e xmlns="A"/>
>  >  >
>  >  > Then both schema A and B will still apply to the instance but both
> will
>  >  > be applied with lax validation?
>  >  >
>  >  > This compared to
>  >  >
>  >  > <instance schema="A.xsd"> <e xmlns="A"/>
>  >  >
>  >  > To me, the latter is more compelling.  It directly says what
> schema are
>  >  > applicable, not how to apply the schema.  It does get even more
>  >  > compelling the more instances (and hence schema) become involved.
>  >  >
>  >  > Frankly, I do actually think there is a also a use for the validation
>  >  > attribute you advocate, which is interesting because it is another
>  >  > datapoint to suggest that the two are separate things.  Still a third
>  >  > point would be that XSLTs validation attribute is designed much more
>  >  > like our type MIP.  It is actually applicable anywhere in the result
>  >  > tree, so putting it on instance may be the *wrong* choice.  I could
>  >  > easily see schema on instance and validation as a MIP.
>  >  >
>  >  > Anyway, regarding 'not invented here' syndrome, I'd have to say the
>  >  > Forms team has done a pretty good job of demonstrating that we don't
>  >  > have the problem.  Proof points would be XPath and XML Schema.  Even
>  >  > though both create a few rough edges for us, they solved many many
> more
>  >  > problems than they created.  I think the same will be true of things
>  >  > like XSLT2's validation attribute (only that's a much smaller scale).
>  >  >  If we find we need it, it'll get pulled in, but if I had to guess
> then,
>  >  > as I said above, it would probably be as a MIP.
>  >  >
>  >  > That still leaves us with selecting schemas to apply.  To that end, I
>  >  > would say that we should not be so worried about 'not invented here'
>  >  > syndrome that we refuse to adopt new ideas *because* another group
>  >  > didn't think of it first, even when faced with a problem in the same
>  >  > domain.
>  >  >
>  >  > John M. Boyer, Ph.D.
>  >  > STSM: Lotus Forms Architect and Researcher
>  >  > Chair, W3C Forms Working Group
>  >  > Workplace, Portal and Collaboration Software
>  >  > IBM Victoria Software Lab
>  >  > E-Mail: boyerj@ca.ibm.com
>  >  >
>  >  > Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer
>  >  >
>  >  >
>  >  >
>  >  >
>  >  > *Erik Bruchez <ebruchez@orbeon.com>*
>  >  > Sent by: public-forms-request@w3.org
>  >  >
>  >  > 10/18/2007 04:08 PM
>  >  > Please respond to
>  >  > ebruchez@orbeon.com
>  >  >
>  >  >
>  >  >
>  >  > To
>  >  >                  "Forms WG (new)" <public-forms@w3.org>
>  >  > cc
>  >  >
>  >  > Subject
>  >  >                  Re: Major problem with schema needs immediate
> attention.
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >
>  >  > John & all,
>  >  >
>  >  > Sorry for the over-long reply below.
>  >  >
>  >  >  > Michael Sperberg-McQueen gave a talk at XML 2005 in which he did
>  >  >  > indeed describe the appropriateness of deciding to use different
>  >  >  > schema on the same data for different purposes. It is absolutely
>  >  >  > under the control of the application to decide whether and which
>  >  >  > schema to apply to *any* XML, and it has nothing at all to do with
>  >  >  > having a "pseudo-lax" schema method.  What I believe we are talking
>  >  >  > about is how the application called XForms should decide
> whether and
>  >  >  > which schema to apply to pieces of XML that it manages.  Once the
>  >  >  > schema are selected, the validation is strict.
>  >  >
>  >  > Agreed, XForms has 100% control over how it decides to apply schema
>  >  > validation.
>  >  >
>  >  > However, a design principle I believe is good consists in leveraging
>  >  > or reuse as much as possible from existing (good) work. This has many
>  >  > benefits, including less time spent devising new solutions to existing
>  >  > problems (the XForms WG really doesn't have the bandwidth to lose time
>  >  > on such things), and consistency across specifications, in this case
>  >  > between XSLT 2.0 and XForms.
>  >  >
>  >  > This is the exact same reason I am very much against us defining new
>  >  > XPath functions to solve problems that already have been solved by
>  >  > XPath 2.0. I really don't want to duplicate the work or, even worse,
>  >  > propose solutions that are not better than existing ones but that are
>  >  > simply different.
>  >  >
>  >  > So yes, we can devise our own way of applying schemas to instance
>  >  > data, but if XSLT 2.0 has done something that can work for us, then I
>  >  > think that we should do a maximum to adopt that. And I believe at the
>  >  > moment that XSLT 2.0 does solve our issues so I am pushing things in
>  >  > that directly.
>  >  >
>  >  > The bottom line: I would like to make sure we are not having a case of
>  >  > "not invented here" syndrome.
>  >  >
>  >  >  > For my own part, I presented the method we currently use to work
>  >  >  > around the problem using a "common sense works pretty well but not
>  >  >  > perfectly" approach that does not happen to require extension
>  >  >  > attributes unsupported by the XForms schema.
>  >  >
>  >  > The reason I used "pseudo-lax" was BTW not to be derogatory, but
>  >  > because the "lax" validation algorithm does what you propose, except
>  >  > it recurses down the XML document to test all the elements and
>  >  > attributes. So your solution is a sort of "one-level lax" validation
>  >  > mode, if you prefer ;-)
>  >  >
>  >  >  > You've proposed that perhaps we should use attributes like those in
>  >  >  > XSLT 2.0.  Based on what I've seen in your last call comment and in
>  >  >  > a brief look at Section 19 of XSLT2, it doesn't look
> appropriate for
>  >  >  > XForms 1.1.  It seems like the XSLT2 attributes solve a different
>  >  >  > problem.
>  >  >
>  >  > I don't think so, and that's what I have been trying to argue!
>  >  >
>  >  >  > 1) One problem is that XML Schema 1.0 does not mandate that
>  >  >  > implementations provide an execution mode other than strict, and I
>  >  >  > know at least one mainstream schema engine that could support the
>  >  >  > XSLT 2.0 attributes as applied to XForms, which may not even have
>  >  >  > the same semantic as XSLT2 in any case.
>  >  >
>  >  > Are you saying that it would be an issue to have to require tighter
>  >  > integration with the schema validator, like XSLT mandates?
>  >  >
>  >  > If so I can relate to that. For example, at our last f2f, I expressed
>  >  > surprise at the (very late) realization that we cannot simply use a
>  >  > stock XPath validator to implement the depency system!
>  >  >
>  >  > However, my experience is that you can implement lax validation fairly
>  >  > easily with some existing validators, in our case MSV. Lax validation,
>  >  > if not directly supported by your validator, requires that you to
>  >  > obtain from the validator a list of top-level types, and then the
>  >  > capability of validating a sub-tree according to a type when you find
>  >  > a matching element or attribute.
>  >  >
>  >  >  > 2) The validate attribute seems to hit the wrong problem, the
>  >  >  > modality of the schema engine as opposed to the applicability of
>  >  >  > schema to the instance data.  I have long felt that XForms 1.0 has
>  >  >  > the design flaw that the schema attribute is attached to the model
>  >  >  > and not to the instance element.
>  >  >
>  >  >  > I think this may be left over from the good old days when a model
>  >  >  > only had one instance.  If we did go with a solution for XForms 1.1
>  >  >  > that added markup, I would rather see this:
>  >  >  >
>  >  >  > <instance id="X" schema="X.xsd Y.xsd #inline-schema"> ...
>  >  >
>  >  >  > If you don't include a schema attribute on an instance, then I
>  > think no
>  >  >  > schema should applicable to it.
>  >  >  > The schema attribute on instance would make the selection of
>  > schema for
>  >  >  > the instance direct and explicit, and it makes processing most
>  > efficient.
>  >  >
>  >  > I agree partly with this.
>  >  >
>  >  > However it is intersting to note that XSLT 2.0 actually does things
>  >  > very much the XForms way by allowing you to import a number of schemas
>  >  > into a stylesheet! Then XSLT defines with attributes how those schemas
>  >  > apply to a resulting XML documents. We have a very similar situation
>  >  > in XForms, except our resulting documents are instances. Really, the
>  >  > parallel is striking to me!
>  >  >
>  >  > Given what XSLT 2.0 has done, I now think that importing schemas at
>  >  > the top-level in an XForms model is perfectly acceptable, as long as
>  >  > we add to instances attributes similar to what was done in XSLT.
>  >  >
>  >  > Also note that XSLT allows you to also specify a @type attribute, if
>  >  > you really want to mandate a particular type for a document. This
>  >  > would do the job of selecting which exact schema definition, from the
>  >  > list of imported schemas, must apply to the root element of the
>  >  > instance.
>  >  >
>  >  > In addition, just adding a schema or list of schemas on an instance
>  >  > does seem less powerful than what XSLT 2.0 allows you do to.
>  >  >
>  >  >  > 3) I also didn't like the validation attribute because I didn't
> feel
>  >  >  > adding it to XForms is not really "futureproof".  We have long felt
>  >  >  > that we need to make the schema engine a pluggable component of
>  >  >  > XForms.  The validation attribute and its values are very XML
> Schema
>  >  >  > centric, i.e.  they configure the processing model of the XML
> schema
>  >  >  > engine, so the attribute would be useful and possibly even
> confusing
>  >  >  > when another schema engine is being used.  By comparison, a schema
>  >  >  > attribute on instance is just a schema selector to indicate which
>  >  >  > schema are applicable to the instance, so it is schema engine
>  >  >  > neutral.
>  >  >
>  >  > This is a good point.
>  >  >
>  >  > I agree we need to make sure we can be as schema-neutral as possible,
>  >  > and at least not close doors. This may be unfortunately, as Leigh
>  >  > suggested during the last call, something we must work on after 1.1
>  >  > though.
>  >  >
>  >  > We now have schemas imported on the xforms:model element. We can't
>  >  > really get rid of this feature easily I think. And we have xsi:type
>  >  > processing taking place.
>  >  >
>  >  > Still, I can see how such attributes could have a defined meaning only
>  >  > with certain schema languages. But even with Relax NG, a @type
>  >  > attribute can have meaning.
>  >  >
>  >  >  > In conclusion, if we could settle on a method a little more like
>  >  >  > what I first proposed, it might help us to provide guidance for
>  >  >  > XForms 1.0 processors today, not just XForms 1.1.
>  >  >
>  >  > I get this point. I don't dislike your solution, and it is simple, but
>  >  > I really dislike the fact that it doesn't seem to match something done
>  >  > in other specs, specifically XSLT 2.0. It is also not just a subset of
>  >  > what XSLT 2.0 does, i.e. if you then decide that lax validation is
>  >  > what you want by default (as we do now in Orbeon Forms), then the
>  >  > outcome may be different from just checking the root element.
>  >  >
>  >  >  > But if a new attribute is required, it seems to be schema and not
>  >  >  > validate that is needed.
>  >  >
>  >  > Given my blah-blah above, at the moment I don't agree with this last
>  >  > statement.
>  >  >
>  >  > -Erik
>  >  >
>  >  > --
>  >  > Orbeon Forms - Web Forms for the Enterprise Done the Right Way
>  >  > http://www.orbeon.com/
>  >  >
>  >  >
>  >  >
>  >
>  >
>  > --
>  > Orbeon Forms - Web Forms for the Enterprise Done the Right Way
>  > http://www.orbeon.com/
>  >
>  >
>  >
>  >
> 
> 
> -- 
> Orbeon Forms - Web Forms for the Enterprise Done the Right Way
> http://www.orbeon.com/
> 
> 
> 


-- 
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/

Received on Thursday, 1 November 2007 01:00:13 UTC