Я пытаюсь проверить ввод XML по схеме XML в SQL Server 2005 и получаю сообщение об ошибке при проверке электронной почты:
Сообщение 6926, уровень 16, состояние 1,Строка 4
Проверка XML: недопустимое значение простого типа: 'john_doe@yahoo.com'.Расположение: / : xxx [1] / : ггг [1] / *: Email [1]
Поле электронной почты определено в схеме как:
<xsd:simpleType name="EMailType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />
</xsd:restriction>
</xsd:simpleType>
Каждый адрес электронной почты, соответствующий регулярному выражению, считается действительным, за исключением того, что в нем есть символы подчеркивания (johnDoe@yahoo.com
в порядке, john.doe@yahoo.com
в порядке, но john_doe@yahoo.com
нет).
ЕслиЯ удаляю подчеркивание, что XML проверен.
Я протестировал свое регулярное выражение (которое вы можете найти в MSDN для проверки электронной почты) с помощью различных инструментов, и все они говорят, что это правильно.Но не SQL Server.
Почему он не проверяет подчеркивания?Что-то особенное, что я должен сделать в SQL Server?