好的,这是我的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-&gt;记录标记的计数。如果FailureCount的标记值为2,那么在FailureRecords标记下应该只有两个Record标记出现。如何执行此操作。
我知道有minOccurs和maxOccurs属性控制XML中标记的出现次数但是如何从另一个标记(在我的例子中是FailureCount)中分配maxOccurs / minOccurs属性值
答案 0 :(得分:0)
问题在于不同的逻辑层。 XDS文件只定义了内容中的结构。根据一个节点的内容,无法检查有多少节点。
您可以在XSL(T)文件中检查它是否可以计算行数并添加正确的行数。