Subject:Help with reuse Author:Dwight Seeley Date:29 Apr 2005 01:19 PM
I was wondering if anyone has see a solution for the following scenario:
A schema (say X1.xsd) exists with one empty element named x1Element. x1Element has two attributes, a1 and a2, both of which are dataTyped as integers and restricted by maxLength and both are optional.
Now comes schema X2.xsd and schema X3.xsd. Both schemas want to include/redefine X1.xsd except that when used in X2.xsd, X1.xsd's a1 attribute is not optional, it must be required while when used in X3.xsd, X1.xsd's a1 attribute must remain optional.
Is this simple and I'm just thick (I can take the critique)? But I would still like to find a solution. Two days so far and I can find no solution. Thanks in advance.
Subject:Help with reuse Author:Dwight Seeley Date:02 May 2005 05:36 PM
Thank you for the insight. It has started me down the right path. But I do have a question about your model. Let's add a twist; X1.xsd is to be reused by many schemas all/each of which exist in a different namespace. For example, let's change X2.xsd's namespace to "http://myorg2.org" and change X3.xsd's namespace to "http://myorg3.org". Both X2 and X3 have at least two includes from their respective namespaces. X1.xsd is the only schema that is reused across namespaces and must be redefined in each use. How does this change the schemas? Thanks again.
Subject:Help with reuse Author:Dwight Seeley Date:02 May 2005 06:54 PM
Thank you. Yes, I have read that. Perhaps something else is going on because as I read the spec, if X1.xsd where to be given no targetNamespace and be redefined by X2.xsd, it should be converted to X2.xsd's targetNamespace. But I can never get this to validate. If X2.xsd is used with X2 as the root, I keep being told that the attibutes of X1.xsd are undeclared. The only time when the redefines actually functions according to spec is when all xsd's are defined within the same targetNamespace as per your example. I wish I knew if this is a fault in the validator or something else that I am doing. It seems so straight forward, though. Any thoughts would be welcomed. Thanks, again.