XML схема для фиксированного элемента с фиксированным атрибутом?

StackOverflow https://stackoverflow.com//questions/9695635

  •  13-12-2019
  •  | 
  •  

Вопрос

Что было бы правильной декларацией XML Schema 1.0 для A

<notice xml:lang="en">Banana banana banana</notice>
.

Где:

  1. XML: атрибут Lang является обязательным
  2. значение "en" является фиксированным и обязательным
  3. Содержание уведомления - простой текст.
  4. Содержание уведомления исправлено (как указано выше) и обязательно?
  5. Мои лучшие (но неверные) усилия - следующий фрагмент:

    <xs:element name="notice" use="required" fixed="Banana banana banana">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension>
            <xs:attribute ref="xml:lang" use="required" fixed="en"/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>
    
    .

Это было полезно?

Решение

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" />
  <xs:element name="notice" type="notice"/>
    <xs:complexType name="notice">
      <xs:simpleContent>
        <xs:extension base="CONTENT">
          <xs:attribute ref="xml:lang" use="required" fixed="en"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  <xs:simpleType name="CONTENT">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Banana banana banana"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top