Как я могу использовать схему XSD / XML, чтобы ограничить XML-элемент строковым содержимым ограниченной длины?

У меня есть схема XSD, в которой я пытаюсь реализовать базовую проверку.

Предоставленный код выглядит следующим образом:

<xs:complexType>
    <xs:sequence>
          <xs:element name="PersonID" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="AgreementID" type="xs:string" minOccurs="1" maxOccurs="1"/>

Я хочу добавить некоторую проверку, чтобы элемент PersonID мог иметь максимальную длину не более 8 символов. Соглашение ID, чтобы иметь 7 и так далее.

Какой самый простой способ реализовать это? Я попытался посмотреть на длину, но это не похоже на проверку при создании файла.

Спасибо

1 ответ

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           version="1.0">

  <xs:simpleType name="PersonIDType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="AgreementIDType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="7" />
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="TestType">
    <xs:sequence>
      <xs:element name="PersonID" type="PersonIDType" minOccurs="1" maxOccurs="1"/>
      <xs:element name="AgreementID" type="AgreementIDType" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

</xs:schema>
Другие вопросы по тегам