
Dear Timothy, oXygen has an option "Enable XInclude processing" that I believe is enabled by default. When that is enables the validation against XML Schema is performed after XInclude processing, that means the XML Schema should not care about defining the xi:include element but it should take into account that the included fragment will have an xml:base attribute pointing to the location it was included from and probably also an xml:lang. So for instance if you want to have scope elements inside scopes and you plan to include scope elements from other documents using XInclude then you should define xml:base (and xml:lang) to be allowed in the scope element. When the XInclude processing is not enabled then oXygen will validate the document as it is against the specified XML Schema. In that case you need to refer to the xi:include element inside the schema, as in your sample. The problem in your case is the wrong namespace that you used in import, the correct nemespace is http://www.w3.org/2001/XInclude, that is not with 2003. Best Regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com Timothy Reaves wrote:
On Tue, July 17, 2007 10:19, Timothy Reaves wrote:
I have an xml schema I've created. I'd like to have several XML documents that are combined into a larger one (I do this with DocBook & chapters). But I can't figure out how to do this with XMLSchema.
Basically what I have is one xml document per environment (it's for configuration information). I'd like to have a parent document that has elements from the schema that are generic to the overall base, then includes the several smaller environment xml documents. Any ideas?
Thanks!
I believe I have this with
<xs:import namespace="http://www.w3.org/2003/XInclude" schemaLocation="xinclude.xsd"/>
in my xsd file, and then I have an element
<xs:element name="scopes"> <xs:complexType> <xs:sequence> <xs:element ref="xi:include" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>
but oXygen fails to validate this line
<xs:element ref="xi:include" minOccurs="0"/>
with the error
SystemID: D:\dev\workspace\JDISoarianInstallerJava\src\resources\deployment.xsd Location: 70:24 Description: src-resolve.4.2: Error resolving component 'xi:include'. It was detected that 'xi:include' is in namespace 'http://www.w3.org/2001/XInclude', but components from this namespace are not referenceable from schema document 'file:/D:/dev/workspace/JDISoarianInstallerJava/src/resources/deployment.xsd'. If this is the incorrect namespace, perhaps the prefix of 'xi:include' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'file:/D:/dev/workspace/JDISoarianInstallerJava/src/resources/deployment.xsd'. URL: http://www.w3.org/TR/xmlschema-1/#src-resolve
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com http://www.oxygenxml.com/mailman/listinfo/oxygen-user