Jump to content

XSD/XML problem using <any> element type in Schema


shiyanderu

Recommended Posts

Hi y'all,I'm a little new to XSDs and XML, so please bare with me :-)I have the following schema, where I have a note that can have a body sub-element. The body can contain any arbitrary markup from any XML namespace. So I have:

<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">	<xs:element name="note">		<xs:complexType>			<xs:sequence>				<xs:element name="to" type="xs:string" maxOccurs="unbounded"/>				<xs:element name="from" type="xs:string"/>				<xs:element name="subject">					<xs:complexType>						<xs:attribute name="date" type="xs:date" use="required" form="qualified"/>					</xs:complexType>				</xs:element>				<xs:element name="body">					<xs:complexType>						<xs:sequence>							<xs:any minOccurs="0"/>						</xs:sequence>					</xs:complexType>				</xs:element>			</xs:sequence>		</xs:complexType>	</xs:element></xs:schema>

The problem is, I now want to make an XML instance based on this schema in the following way:

<?xml version="1.0" encoding="UTF-8"?><note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="\\svpfile03\tsxc010\DO_NOT_DELETE\Desktop\note.xsd"xmlns:xs="http://www.w3.org/2001/XMLSchema">	<to>		someone	</to>	<from/>	<subject date="2006-02-15"/>	<body>		Meeting at 5pm	</body></note>

The problem is that XmlSpy seems to keep complaining that: Text 'Meeting at 5pm' is not allowed for element <body>. The element declaration's content type is 'element-only'.I tried instead putting in an xs:string element and put the text in there, but then it complained that:While validating against complex type '{anonymous}', element <xs:string> matched wildcard {##any} but no element declaration was found.Anyone know how I can make the <body> element have <any> sub-elements but also be able to handle a text field? Any help would be appreciated. Many thanks!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...