OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] Help Needed to create an XSD

[ Lists Home | Date Index | Thread Index ]
  • To: <xml-dev@lists.xml.org>
  • Subject: RE: [xml-dev] Help Needed to create an XSD
  • From: "Cyril" <cyrilw@technicost.com>
  • Date: Tue, 4 Oct 2005 14:23:25 -0400
  • In-reply-to: <20051004180753.CE6AA65CA3@mail.business.allstream.net>
  • Thread-index: AcW643yOq1uWnXyoSgaFepVlU0ukcwABvc1gA4WMYiAAAxVIgAAApfEA

Thanks Michael and Anne T.

Just to consolidate my understanding about namespaces I think this is where
I was confused.

In my XML Data when there is no namespace prefix in the xml tag (for
<rptTransmit/>), doesn't it use the default namespace? I figured since my
default namespace has no definition of any element called rptTransmit, this
would be invalid. 

I saw from your example you use a reference eg ref="foo:rptTransmit" or
ref="i:rptTransmit" with the prefix , should this prefix appear in the XML
Data I am creating ie <foo:rptTransmit> instead of just <rptTransmit>? Or is
the latter valid? I'm having trouble understanding how the parser would know
that the <rptTransmit> is from the external XSD since it has no prefix for
the namespace.

Cyril

-----Original Message-----
From: Michael Kay [mailto:mike@saxonica.com] 
Sent: October 4, 2005 2:01 PM
To: 'Cyril'; xml-dev@lists.xml.org
Subject: RE: [xml-dev] Help Needed to create an XSD 

 
> 
> 
> Now I need to create my own XSD that contains some info in 
> addition to the
> XML file I get from the 3rd party. It should look something like this
> 
> <myrpt>
> <id>0000</id>
> <status>pending</status>
> 
> <rptTransmit xmlns="http://www.foo.ca/XMLSchemas "
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="http://www.foo.ca/XMLSchemas
> http://www.foo.ca/XMLSchemas/UAT/Transmit.xsd";>
> :
> </rptTransmit>
> </myrpt>
> 
> 
> 
> How will I create the XSD schema with the namespace of my 
> tags and taking
> into consideration of the 3rd party namespace? Can anyone 
> give me a sample
> XSD that will match what I 'd like to achieve
> 

Something like this:

<xs:schema>

<xs:import namespace="http://www.foo.ca/XMLSchemas";
        schemaLocation="http://www.foo.ca/XMLSchemas/UAT/Transmit.xsd"/>

<xs:element name="myrpt">
  <xs:sequence>
    <xs:element name="id"/>
    <xs:element name="status"/>
    <xs:element ref="i:rptTransmit" xmlns:i="http://www.foo.ca/XMLSchemas"/>
  </xs:sequence>
</xs:element>

</xs:schema>

That's just a sketch leaving out all the noise, but I hope you get the idea.

Michael Kay
http://www.saxonica.com/



-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://www.oasis-open.org/mlmanage/index.php>






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS