Схема XML Как объявить цену и валюту

Я создаю схему XML, в которой хранится информация о домах.

Я хочу сохранить цену и валюту .

На мой взгляд, имеет смысл заявить об этом, указав валюту в качестве атрибута элемента цены.

Кроме того, я хочу ограничить значения, которые могут быть введены в качестве валюты , фунтами, евро или долларами.

EG:

<price currency="euros">10000.00</price>

Итак, на данный момент я объявляю это в своей схеме XML как:

<!-- House Price, and the currency as an attribute -->
<xs:element name="price">
    <xs:complexType>
        <xs:attribute name="currency">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="pounds" />
                    <xs:enumeration value="euros" />
                    <xs:enumeration value="dollars" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
</xs:element>

Проблема, которая у меня возникает с этим:

  • Я не совсем уверен, ограничит ли это элемент атрибута до фунтов, евро или долларов
  • Кажется, я не могу указать тип в цене на двойную, так как я хотел бы из-за ошибки:

    Элемент 'цена' имеет как атрибут «тип», так и дочерний элемент «анонимный тип». Для элемента разрешен только один из них.

Должен ли я просто быть простым и объявить их как отдельные элементы:

<price>10000.00</price>
<currency>euros</currency>

... или я на правильном пути?

8
задан Luke 16 January 2012 в 17:03
поделиться