2010-04-13 6 views
3

이것이 가능하지 않다고 생각하지만 거기에 버릴 것이라고 생각했습니다. (이 경우, 사람 소자)에 정의 된 요소의 정확한 개수로 특성 값을 @count 강제하는 XSD에XSD를 사용하여 노드 수를 확인하십시오

<people count="3"> 
     <person>Bill</person> 
     <person>Joe</person> 
     <person>Susan</person> 
</people> 

는 것이 가능이 XML 주어? 위의 예는 분명 정확할 것이며 아래 예는 유효하지 않습니다.

<people count="5"> 
     <person>Bill</person> 
     <person>Joe</person> 
     <person>Susan</person> 
</people> 

답변

4

저는 XSD가 그렇게 할 수 없다고 확신합니다. 을 제공해야 XSD 사양 1.1을 구현

<xsl:template match="people"> 
    <xsl:attribute name="count"> 
     <xsl:value-of select="count(person)"/> 
    </xsl:attibute> 
    <xsl:apply-templates/> 
</xsl:template> 

<!-- insert your identity template here --> 
0

파서 : 당신은 당신의 카운트 속성은 그 값을 설정하여 사실 확인 할 수있는 문서에 XSLT 스타일 시트를 실행 아래 요소의 실제 수가이라고 보장 할 그러나 경우 자식 노드의 수에 대해 XML 컨텐트의 유효성을 검사하는 데 사용할 수있는 assert 함수

관련 문제