gpt4 book ai didi

xsd - 如何验证 xsd 中的空字符串值标记

转载 作者:行者123 更新时间:2023-12-04 14:20:47 30 4
gpt4 key购买 nike

我有一个 xml 文件,其中包含一些日期值和其他数据类型。

<Purchasedate Name="purcaseDate" value=""/>

我正在使用 xsd 文件验证这些 xml 文件。
在 xsd shcema 中,我为 dd/mm/yyyy 编写了一个正则表达式模式。格式。

如果 value 属性有值,这工作正常。
我的模式正在验证 value 属性。

该字段 ( purchasedate) 不是强制性的。
如果 value="",这意味着我的模式也在验证空字符串,这不是强制性的。

我需要验证可选字段
我正在使用 <xs:attribute name="PurchaseDate" use="optional">还。

当值标签不为空时,我需要验证此字段。

最佳答案

太容易了。。

您所要做的就是包括空字符串规范 在您的 pattern
这是这样做的方法..<xs:pattern value="|(Regular_pattern_goes_here)"/>
供您引用,我已经编写了一个示例代码块.. 只需通过它们..

示例 XML:

<?xml version="1.0" encoding="utf-8"?>
<xmln xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.com XMLFile1.xsd" xmlns="http://www.xsdef.com/xml/123">
<Purchasedate Name="purcaseDate" value=""/>
</xmln>

示例 XSD:(包括自定义类型 def)
<xs:schema xmlns:xsLocal="http://www.xsdef.com/xml/123" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.xsdef.com/xml/123" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="xmln">
<xs:complexType>
<xs:sequence>
<xs:element name="Purchasedate">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Name" type="xs:string" use="required" />
<xs:attribute name="value" type="xsLocal:CUSTOM_DATE" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="CUSTOM_DATE">
<xs:restriction base="xs:string">
<xs:pattern value="|((01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)/(01|02|03|04|05|06|07|08|09|10|11|12)/[1-2][0-9][0-9][0-9])"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

关于xsd - 如何验证 xsd 中的空字符串值标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260723/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com