[
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>
|