从XSD生成的XML:相对于模式,值不是有效的]]

问题描述 投票:0回答:1

我已经从XSD生成XML。如果我验证XSD,则IntelliJ IDEA不会发现任何错误,但生成的XML无效,因为相对于指定的模式,一个字段不是有效的。

此XSD元素如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                targetNamespace="http://filmrenting.nure.ua/entity/film/"
                xmlns:tns="http://filmrenting.nure.ua/entity/film/"
                xmlns:ent="http://filmrenting.nure.ua/entity/"
                elementFormDefault="qualified">    

     <!-- other elements-->
        <xsd:simpleType name="Duration">
                <xsd:restriction base="xsd:duration">
                    <xsd:pattern value="[1-9][0-9]{0,2}M"></xsd:pattern>
                </xsd:restriction>
        </xsd:simpleType>
      <!-- other elements-->
</xsd:schema>

生成的XML看起来像这样:

<film:film id="3" xmlns:film="http://filmrenting.nure.ua/entity/film/">
  <!-- other elements -->
  <film:duration>P1Y2M6DT14H25M13S</film:duration> <!-- not valid -->
</film:film>

我检查了模式,它似乎没有错误。即使之后我在该字段上输入了正确的值,它仍然被认为是无效的。如何解决?

我已经从XSD生成XML。如果我验证XSD,则IntelliJ IDEA不会发现任何错误,但是生成的XML无效,因为相对于指定的模式,一个字段不是有效的。此XSD ...

xml intellij-idea xsd xml-validation
1个回答
0
投票

发现模式错误。仅获取分钟,您需要在其开头加“ PT”。

© www.soinside.com 2019 - 2024. All rights reserved.