В моем xml-файле есть тег с атрибутом "containsValue", который содержит "специальные" символы, которые вы можете видеть в теме:
<original_msg_body id="msgBodySpecialCharsRule" containsValue=";ìè+òàù-<^èç°§_>!£$%&/()=?~`'#;" />
в моей XML-схеме атрибут содержит xs: string:
<xs:attribute name="containsValue" type="xs:string" />
Я использую это значение в программном обеспечении Java, которое проверяет, содержится ли это значение в другой строке.
но я всегда получаю это исключение:
javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException: The value of attribute "containsValue" associated with an element type "original_msg_body" must not contain the '<' character.]
Как я могу решить это? Я попытался изменить тип атрибута на xs: NMTOKEN, но я получаю то же исключение. Есть ли другой тип?
Я думаю, что я мог бы изменить кодировку символов, например, используя представление HTML, например <, но это может быть сложнее для сравнения строк ... </p>