- From: George Cristian Bina <george@oxygenxml.com>
- Date: Sat, 02 Dec 2006 08:47:49 +0200
- To: "Kassahun, Ayalew" <Ayalew.Kassahun@wur.nl>
- CC: xmlschema-dev@w3.org
Hi, You cannot do that in XML Schema. It does not work like that. Even if you use xs:any, you do not define elements with it, you can use it only to make a reference to other element definitions. The only thing that defines an element and specifies its content is xs:element with a name attribute. What you want can be expressed with Relax NG as Relax NG allows to specify the content for a whole class of elements or attributes, see below a schema that does exactly what you asked for: <?xml version="1.0" encoding="UTF-8"?> <grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <ref name="any"/> </start> <define name="any"> <element> <anyName/> <attribute name="id"/> <attribute name="name"/> <zeroOrMore> <choice> <attribute> <anyName> <except> <choice> <name>id</name> <name>name</name> </choice> </except> </anyName> </attribute> <text/> <ref name="any"/> </choice> </zeroOrMore> </element> </define> </grammar> Best Regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com Kassahun, Ayalew wrote: > Hi; > > > > How can I define anonymous elements (elements without names) in XML schema? > > > > What I would like to achieve is a schema in which the following > statements are true: > > 1. An XML document based on the schema can contain any XML element. > > 2. All XML elements should have “id” and “name” attributes. > > > > In short something like this: > > > > <xsd:schema targetNamespace="http://www.bla" > xmlns:xsd=http://www.w3.org/2001/XMLSchema> > > <!-- anonymous element --> > > <xsd:complexType name="Anonymous.Type"> > > <xsd:attribute name="id" type="xsd:string"/> > > <xsd:attribute name="name" type="xsd:string"/> > > </xsd:complexType> > > > > <xsd:element name="*" type=" Anonymous.Type"/> > > </xsd:schema> > > > > Assuming “*” indicates an “anonymous element”, but such a thing doesn’t > exist in Schema definition. > > > > How do I achieve this? > > > > Regards; > > *Ayalew* > > >
Received on Saturday, 2 December 2006 06:48:14 UTC