<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 129.75pt 72.0pt 129.7pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-CA link=blue vlink=purple><div class=WordSection1><p class=MsoPlainText>That's precisely why I don't use <redefine>. Using the group method does allow you to redefine the nested element while importing a top-level element.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Imported schema:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>element "foo"<o:p></o:p></p><p class=MsoPlainText> complex-content<o:p></o:p></p><p class=MsoPlainText> group ref="foo-content"<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Importing schema B:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>include "imported.xsd"<o:p></o:p></p><p class=MsoPlainText>element "bar"<o:p></o:p></p><p class=MsoPlainText><a name="_MailEndCompose"> complex-content<o:p></o:p></a></p><p class=MsoPlainText> sequence<o:p></o:p></p><p class=MsoPlainText> element ref="foo"<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>group "foo-content"<o:p></o:p></p><p class=MsoPlainText> sequence<o:p></o:p></p><p class=MsoPlainText> element "baz"<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Importing schema A:<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>include "imported.xsd"<o:p></o:p></p><p class=MsoPlainText>element "gruznatz"<o:p></o:p></p><p class=MsoPlainText> complex-content<o:p></o:p></p><p class=MsoPlainText> sequence<o:p></o:p></p><p class=MsoPlainText> element ref="foo"<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>group "foo-content"<o:p></o:p></p><p class=MsoPlainText> sequence<o:p></o:p></p><p class=MsoPlainText> element "bonk"<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Now the valid content model for documents using schema A is /bar/foo/baz, and the valid content model for documents using schema B is /gruznats/foo/bonk.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Thus element foo is reused in both schemas, but with a different content model. (Obviously this does not make sense if you change the entire content model, as this example does, but it makes perfect sense if you want to redefine part of the content model of foo depending on where you import it.)<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Mark<o:p></o:p></p><p class=MsoPlainText> <o:p></o:p></p><p class=MsoPlainText>> <span lang=EN-US style='mso-fareast-language:EN-CA'>-----Original Message-----</span></p><p class=MsoPlainText>> <span lang=EN-US style='mso-fareast-language:EN-CA'>From: Olumide [mailto:videohead@mail.com]</span></p><p class=MsoPlainText>> <span lang=EN-US style='mso-fareast-language:EN-CA'>Sent: November 22, 2012 10:30 AM</span></p><p class=MsoPlainText>> <span lang=EN-US style='mso-fareast-language:EN-CA'>To: Mark Baker; oxygen-user@oxygenxml.com</span></p><p class=MsoPlainText>> <span lang=EN-US style='mso-fareast-language:EN-CA'>Subject: Re: [oXygen-user] Automatically generating XML schemas using</span></p><p class=MsoPlainText>> <span lang=EN-US style='mso-fareast-language:EN-CA'>XSLT</span></p><p class=MsoPlainText>> </p><p class=MsoPlainText>> On 21/11/2012 20:35, Mark Baker wrote:</p><p class=MsoPlainText>> > Briefly (I can supply more detail later if you want).</p><p class=MsoPlainText>> </p><p class=MsoPlainText>> Thanks Mark. Unfortunately I'm still getting lost in the details. I have</p><p class=MsoPlainText>> however googled chameleon schema (never heard of it) and found this</p><p class=MsoPlainText>> article <a href="http://www.xfront.com/ZeroOneOrManyNamespaces.html"><span style='color:windowtext;text-decoration:none'>http://www.xfront.com/ZeroOneOrManyNamespaces.html</span></a>, which</p><p class=MsoPlainText>> also</p><p class=MsoPlainText>> introduced the <redefine> element. Now if only there was a way to</p><p class=MsoPlainText>> redefine an inner (nested) element while importing a top level element.</p><p class=MsoPlainText>> </p><p class=MsoPlainText>> - Olumide</p><p class=MsoPlainText><o:p> </o:p></p></div></body></html>