[Home] [By Thread] [By Date] [Recent Entries]
Unfortunately the topic of schema composition is one where the spec isn't all that prescriptive, and where in consequence there are differences between implementations. Having said that, I can't see why you have three schema documents or why you are trying to use xs:redefine. You should have two schema documents, one for each namespace, and each should reference the other using an xsl:import. If your chosen tool doesn't allow that, I can only suggest you try a different tool. Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay > -----Original Message----- > From: DUNN, Mark [mailto:mark.dunn@o...] > Sent: 04 June 2009 17:35 > To: xml-dev@l... > Subject: XML schema - multiple import of module > > Hello, > > I'm new to XML Schemas, and investigating conversion of a DTD > to an XML Schema. I have a problem describing the Schema > version of the following > structure: > > <doc> > <div> > <title>Section 1</title> > <p>Some text...</p> > <p> > <law:extraxt> > <title>Title of Regulation</title> > <p>Text of regulation</p> > </law:extract> > </p> > </div> > </doc> > > > The problem is in the non-namespaced <title> and <p> elements > occurring within the namespaced <law:extract> element. They > are the same as the ones occurring outside this element, so > I'd like to define them only once. > > My attempt at expressing this structure uses three .xsd files: > > main.xsd: > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns="http://xsd.oup.com/ac-xsd/" > xmlns:law="http://xsd.oup.com/ac-law/" > targetNamespace="http://xsd.oup.com/ac-xsd/" > elementFormDefault="qualified"> > <xs:redefine schemaLocation="struct.xsd"> > <xs:group name="paragraph-content"> > <xs:choice> > <xs:group ref="paragraph-content"/> > <xs:element ref="law:extract"/> > </xs:choice> > </xs:group> > </xs:redefine> > <xs:import namespace="http://xsd.oup.com/ac-law/" > schemaLocation="law.xsd"></xs:import> > ... > </xs:schema> > > law.xsd: > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > elementFormDefault="qualified" > targetNamespace="http://xsd.oup.com/ac-law/" > xmlns:law="http://xsd.oup.com/ac-law/" > xmlns:struct="http://xsd.oup.com/ac-xsd/"> > <xs:import schemaLocation="struct.xsd" > namespace="http://xsd.oup.com/ac-xsd/"></xs:import> > <xs:element name="extract"> > <xs:complexType> > <xs:sequence> > <xs:element ref="struct:title" > minOccurs="0"/> > <xs:element ref="struct:p" > minOccurs="1"/> > </xs:sequence> > </xs:complexType> > </xs:element> > ... > </xs:schema> > > > struct.xsd: > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > elementFormDefault="qualified" attributeFormDefault="unqualified" > targetNamespace="http://xsd.oup.com/ac-xsd/" > xmlns="http://xsd.oup.com/ac-xsd/"> > <xs:group name="general-inline"> > <xs:choice> > <xs:element ref="b"/> > <xs:element ref="i"/> > </xs:choice> > </xs:group> > <xs:group name="paragraph-content"> > <xs:choice> > <xs:group ref="general-inline"></xs:group> > <!-- ... [plus others] ... ---> > </xs:choice> > </xs:group> > <xs:element name="p"> > <xs:complexType mixed="true"> > <xs:choice minOccurs="0" maxOccurs="unbounded"> > <xs:group ref="paragraph-content"/> > </xs:choice> > </xs:complexType> > </xs:element> > ... > </xs:schema> > > > When I try saving the schema files in XMLSpy 2009, I get an > error saying that <title> is already declared, presumably > because the file struct.xsd has ben imported twice. > > The W3C spec says that importing twice is legitimate, but > vendors are encouraged to raise it as an error. Fair enough - > I don't like the circularity in my description. > > But the structure itself seems reasonable, I just can't see a > way of expressing it in XML Schema. > > Can anyone help? > > > Kind regards, > > Mark Dunn > XML Data Engineer > Oxford University Press > > Oxford University Press (UK) Disclaimer > > This message is confidential. You should not copy it or > disclose its contents to anyone. You may use and apply the > information for the intended purpose only. OUP does not > accept legal responsibility for the contents of this message. > Any views or opinions presented are those of the author only > and not of OUP. If this email has come to you in error, > please delete it, along with any attachments. Please note > that OUP may intercept incoming and outgoing email communications. > > ______________________________________________________________ > _________ > > XML-DEV is a publicly archived, unmoderated list hosted by > OASIS to support XML implementation and development. To > minimize spam in the archives, you must subscribe before posting. > > [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ > Or unsubscribe: xml-dev-unsubscribe@l... > subscribe: xml-dev-subscribe@l... List archive: > http://lists.xml.org/archives/xml-dev/ > List Guidelines: http://www.oasis-open.org/maillists/guidelines.php >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |

Cart



