Как проверить почтовый идентификатор в схеме XML

Привет я создал схему для проверки на почтовый идентификатор. то, которое может проверить, если почтовым идентификатором является abc@def.com и adbc@def.co.in и abc@def.co.in.pune, Но я хочу проверить только abc@def.com и adbc@def.co.in, потому что я думаю, что электронная почта может иметь максимальные 2 точки после символ, таким образом, третий будет недопустимым почтовым идентификатором Поэтому, как проверить почтовый идентификатор с помощью схемы Ниже, является схемой

<xsd:element name="SSEM" minOccurs="0">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="CNT" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="EM" minOccurs="1" nillable="true" type ="singleEmailID"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

Спасибо Sunil Kumar Sahoo

13
задан Edward Ruchevits 30 December 2012 в 16:26
поделиться

3 ответа

Вам нужно будет определить шаблон, чтобы соответствовать действительным электронным письмам. Узоры определяются с использованием обычного синтаксиса экспрессии. После того, как вы определили простой тип (на основе XS: String ) с соответствующим рисунком, вы можете использовать это для вашего типа электронной почты.

Есть несколько мест в Интернете, которые обеспечивают несколько примеров таких типов и шаблонов. Примером типа электронной почты предусмотрен здесь .

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

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > 

  <xsd:element name="A" type="emailAddress"/> 

  <xsd:simpleType name="emailAddress"> 
    <xsd:restriction base="xsd:string"> 
      <xsd:pattern value="[^@]+@[^\.]+\..+"/> 
    </xsd:restriction> 
  </xsd:simpleType> 
</xsd:schema>
31
ответ дан 1 December 2019 в 19:02
поделиться

Вы можете использовать , основанный на строке и с паттерном регресса для проверки ваших адресов электронной почты:

<xsd:simpleType name="emailAddress">
    <xsd:restriction base="xsd:string">
        <xsd:pattern value="([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})"/>
    </xsd:restriction>
</xsd:simpleType>

Используйте любой понравившийся вам регресс электронной почты :-), см. некоторые примеры на RegexLib. Net.

Затем используйте этот тип в основной схеме XML:

<xsd:element name="email" type="emailAddress" />

Можно проверить с помощью онлайн валидатора: https://www.corefiling.com/opensource/schemaValidate.html

7
ответ дан 1 December 2019 в 19:02
поделиться

Use the below schema validator for email id validation

<xsd:simpleType name="emailAddress">
    <xsd:restriction base="xsd:string">
        <xsd:pattern value="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"/>
    </xsd:restriction>
</xsd:simpleType>
1
ответ дан 1 December 2019 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: