【发布时间】:2017-03-11 01:28:07
【问题描述】:
是否可以检查许多元素的不同正则表达式模式。例如:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<xsd:element name="A" type="emailAddress"/>
<xsd:element name="B" type="Name"/>
<xsd:element name="C" type="Age"/>
<xsd:element name="D" type="Number"/>
<xsd:simpleType name="emailAddress">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[^@]+@[^\.]+\..+"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
在上面的 XSD 中,我只有 4 个元素,并且我为元素 A 提供了正则表达式模式。但我的情况是我有 50 个元素,每个元素都有不同的正则表达式模式。我如何为所有这 50 个元素提供正则表达式,因为如上所述定义正则表达式太大了。请让我知道是否有任何方式提供元素?
【问题讨论】:
-
您需要为每个元素添加一个
<xsl:simpleType>。 -
如果您有 50 种不同的类型,每种类型都需要不同的正则表达式,那么您希望以何种方式改进每种类型的单独简单类型声明?是否仅仅是您试图最小化的
simpleType-restrictions-pattern结构的冗长,还是更多? -
创建
并为所有 50 个元素提供限制太复杂了。是否有任何其他替代方式以简单的方式提供模式 -
请参阅my answer below 了解选项。
标签: regex xml xsd schema xsd-validation