Как я могу использовать схему 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>