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 属性值

4

1 回答 1

0

问题出在不同的逻辑层上。XDS 文件仅定义独立于内容的结构。不可能根据一个节点的内容来检查有多少个节点。

您可以在 XSL(T) 文件中进行检查,该文件可以计算行数并添加正确的数字或​​行数。

于 2013-09-05T18:24:45.303 回答