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

  • From: "G. Ken Holman" <gkholman@C...>
  • To: xml-dev@l...
  • Date: Wed, 23 Mar 2011 10:27:25 -0700

At 2011-03-23 09:48 -0700, trubliphone wrote:
>Hello.  Is there any way to use variables w/in XSD?
>
>I would like to bind the maxOccurs attribute of an element to a value
>defined elsewhere in the XSD file.  It could either be defined as its
>own variable or as a computed value.  I've been working in XSL for so
>long, I just sort of assumed I could do this:
>
><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
>
>   <xs:element name="root">
>     <xs:complexContent>
>       <xs:sequence>
>         <xs:element name="foo" minOccurs="0" maxOccurs="$n"/>
>       </xs:sequence>
>     </xs:complexContent>
>   </xs:element>
>
>   <!-- I know this is wrong -->
>   <xs:variable name="n">23</xs:variable>
>
></xs:schema>
>
>Obviously, this won't work.  But is there any way it could work?  I
>don't think so, I just thought I'd double-check.

Computed values aren't possible, but string replacement certainly is 
in any XML file:

<!DOCTYPE xs:schema
[
<!ENTITY n "unbounded">
]>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

   <xs:element name="root">
     <xs:complexContent>
       <xs:sequence>
         <xs:element name="foo" minOccurs="0" maxOccurs="&n;"/>
       </xs:sequence>
     </xs:complexContent>
   </xs:element>

</xs:schema>

I hope this helps.

. . . . . . . . . . . Ken

--
Contact us for world-wide XML consulting & instructor-led training
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/x/
G. Ken Holman                 mailto:gkholman@C...
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


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