首页 文章

XML模式验证:使用maxOccurs和minOccurs依赖于其他标记

提问于
浏览
0

好的,这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<FileResults>
    <FileName>Results.xml</FileName>
    <DateTimeProcessed/>
    <TotalCount>10</TotalCount>
    <SuccessCount>8</SuccessCount>
    <FailureCount>2</FailureCount>
    <FailureRecords>
        <Record>
            <Data>
                <!--Some Data-->
            </Data>
            <Error>
                <ErrorCode>00089</ErrorCode>
                <ErrorDescription>Datatype is invalid for field: Authorization_Code</ErrorDescription>
            </Error>
        </Record>
        <Record>
            <Data>
                <!--Some Data-->
            </Data>
            <Error>
                <ErrorCode>00045</ErrorCode>
                <ErrorDescription>Data is missing for field: Customer_Comments</ErrorDescription>
            </Error>
        </Record>
    </FailureRecords>
</FileResults>

现在我的要求是验证这个XML . 我有一个这种XML的模式,它非常适合基本的验证规则 . 我还想验证FailureRecords-> Record标签的数量 . 如果FailureCount的标记值为2,那么在FailureRecords标记下应该只有两个Record标记出现 . 如何强制执行此操作 .

我知道有minOccurs和maxOccurs属性控制XML中标记的出现次数,但是如何从另一个标记(在我的例子中是FailureCount)中分配maxOccurs / minOccurs属性值

1 回答

  • 0

    问题出在不同的逻辑层上 . XDS文件只定义了内容中的结构 . 根据一个节点的内容,无法检查有多少节点 .

    您可以在XSL(T)文件中检查它是否可以计算行数并添加正确的数字或行 .

相关问题