[Home] [By Thread] [By Date] [Recent Entries]

  • To: xml-dev@l...
  • Subject: schema to require than an element have *no* text
  • From: Ray Tayek <rtayek@a...>
  • Date: Mon, 07 Apr 2003 12:25:22 -0700

hi, i have this schema (see below). almost all of my data in attributes. so 
i would like to specify that most elements may *not* contain any text (i.e. 
they may have choldren and/or attributes only).

is there a way to do this in xmlschema?

thanks

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 3 (http://www.xmlspy.com) by Robert W. 
Murray (nanosoft) -->
<!--$Id: input.xsd,v 1.12 2003/03/29 03:59:12 ray Exp ray $-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified" attributeFormDefault="unqualified">
         <xs:element name="input">
                 <xs:annotation>
                         <xs:documentation>Input data for feb1 
program</xs:documentation>
                 </xs:annotation>
                 <xs:complexType>
                         <xs:sequence>
                                 <xs:element name="Nodes">
                                         <xs:complexType>
                                                 <xs:sequence>
                                                         <xs:element 
name="Node" maxOccurs="5">
                                                                 <xs:complexType>
                                                                         <xs:sequence>
                                                                                 <xs:element 
name="Point">
                                                                                         <xs:complexType>
                                                                                                 <xs:attribute 
name="x" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="y" type="xs:double" use="required"/>
                                                                                         </xs:complexType>
                                                                                 </xs:element>
                                                                                 <xs:element 
name="Restraints">
                                                                                         <xs:complexType>
                                                                                                 <xs:attribute 
name="Tx" type="xs:boolean" use="required"/>
                                                                                                 <xs:attribute 
name="Ty" type="xs:boolean" use="required"/>
                                                                                                 <xs:attribute 
name="Tz" type="xs:boolean" use="required"/>
                                                                                         </xs:complexType>
                                                                                 </xs:element>
                                                                                 <xs:element 
name="SingleForces">
                                                                                         <xs:complexType>
                                                                                                 <xs:attribute 
name="Fx" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="Fy" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="Mz" type="xs:double" use="required"/>
                                                                                         </xs:complexType>
                                                                                 </xs:element>
                                                                         </xs:sequence>
                                                                 </xs:complexType>
                                                         </xs:element>
                                                 </xs:sequence>
                                         </xs:complexType>
                                 </xs:element>
                                 <xs:element name="Connections">
                                         <xs:complexType>
                                                 <xs:sequence>
                                                         <xs:element 
name="Connection" maxOccurs="4">
                                                                 <xs:complexType>
                                                                         <xs:sequence>
                                                                                 <xs:element 
name="Properties">
                                                                                         <xs:complexType>
                                                                                                 <xs:attribute 
name="Ax" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="Iz" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="E" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="G" type="xs:double" use="required"/>
                                                                                         </xs:complexType>
                                                                                 </xs:element>
                                                                                 <xs:element 
name="LineForces">
                                                                                         <xs:complexType>
                                                                                                 <xs:attribute 
name="q" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="a1" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="a2" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="a" type="xs:double" use="required"/>
                                                                                         </xs:complexType>
                                                                                 </xs:element>
                                                                                 <xs:element 
name="SingleForces">
                                                                                         <xs:complexType>
                                                                                                 <xs:attribute 
name="Fx" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="Fy" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="Mz" type="xs:double" use="required"/>
                                                                                                 <xs:attribute 
name="a" type="xs:double" use="required"/>
                                                                                         </xs:complexType>
                                                                                 </xs:element>
                                                                                 <xs:element 
name="ElasticOrRigid">
                                                                                         <xs:complexType>
                                                                                                 <xs:attribute 
name="elastic" type="xs:boolean" use="required"/>
                                                                                                 <xs:attribute 
name="rigid" type="xs:boolean" use="required"/>
                                                                                         </xs:complexType>
                                                                                 </xs:element>
                                                                         </xs:sequence>
                                                                         <xs:attribute 
name="hingedAtStart" type="xs:boolean" use="required"/>
                                                                         <xs:attribute 
name="from" type="xs:positiveInteger" use="required"/>
                                                                         <xs:attribute 
name="to" type="xs:positiveInteger" use="required"/>
                                                                 </xs:complexType>
                                                         </xs:element>
                                                 </xs:sequence>
                                         </xs:complexType>
                                 </xs:element>
                         </xs:sequence>
                 </xs:complexType>
         </xs:element>
</xs:schema>


---
ray tayek http://tayek.com/ actively seeking mentoring or telecommuting work
vice chair orange county java users group http://www.ocjug.org/
hate spam? http://samspade.org/ssw/


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member