CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   XML (http://www.codingforums.com/forumdisplay.php?f=3)
-   -   setting attribute in complextype restriction (http://www.codingforums.com/showthread.php?t=174172)

renting 08-10-2009 07:55 PM

setting attribute in complextype restriction
 
I have the following code:

Code:

        <xs:complexType name="Frequency">
                <xs:simpleContent>
                        <xs:extension base="xs:double">
                                <xs:attribute name="units" use="required">
                                        <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                        <xs:enumeration value="Hz"/>
                                                        <xs:enumeration value="KHz"/>
                                                        <xs:enumeration value="MHz"/>
                                                        <xs:enumeration value="GHz"/>
                                                </xs:restriction>
                                        </xs:simpleType>
                                </xs:attribute>
                        </xs:extension>
                </xs:simpleContent>
        </xs:complexType>

Code:

<xs:complexType name="ClockType">
                <xs:simpleContent>
                        <xs:restriction base="Frequency">
                                <xs:enumeration value="160"/>
                                <xs:enumeration value="200"/>
                        </xs:restriction>
                </xs:simpleContent>
        </xs:complexType>

My problem is, that for the life of me, I can't figure out how to set the units attribute when restricting Frequency in ClockType. What I want to do is have ClockType be either 160MHz or 200MHz.

Does anyone have a clue how to do this?

Thank you for any replies.

renting 08-19-2009 09:58 AM

I got some help elsewhere and figured out a way to do this:

Code:

  <xs:simpleType name="frequencyunit">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Hz" />
      <xs:enumeration value="KHz" />
      <xs:enumeration value="MHz" />
      <xs:enumeration value="GHz" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Frequency">
    <xs:simpleContent>
      <xs:extension base="xs:double">
        <xs:attribute name="units" type="frequencyunit" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="ClockType">
    <xs:simpleContent>
      <xs:restriction base="Frequency">
        <xs:enumeration value="160" />
        <xs:enumeration value="200" />
        <xs:attribute fixed="MHz" name="units" type="frequencyunit" use="required" />
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>



All times are GMT +1. The time now is 07:54 PM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.