2012-07-06 3 views
0

XSD/XMl을 처음 사용하고 내가 함께 사용하는 프로젝트에 사용되는 XML 파일의 템플릿을 만들려고했습니다. 이 스키마는 Visual Studio 내에서 몇 명의 동료가 사용하게 될 것이며 내 주요 목표는 오류 검사 및 자동 완성 기능을 갖는 것입니다.xml 내용을 기반으로하는 XSD 제한

그러나 XSD에 갖고 싶은 my xml 템플릿의 기능이 하나 있지만 가능한지 여부는 알 수 없습니다. 나는 그렇지 않다고 생각하지만, 나는 단지 확신하고 싶다.

기본적으로, XML은 다음과 같을 것이다 :

<root> 
    <parameters> 
     <parameter name="@param1"/> 
     <parameter name="@param2"/> 
     <parameter name="@param3"/> 
    </parameters> 

    <test> 
     <parameter_value parameter_name="@param1" value="whatever"/> 
     <parameter_value parameter_name="@param2" value="whatever"/> 
    </text> 

</root> 

아이디어는 먼저 사용자가 매개 변수를 "정의"라는이며, 그는 그들이 특정 테스트에서 값 할당합니다. 내 질문은 날씨 또는 아닙니다 "parameter_name"특성에 대한 제한을 정의하여이 특정 XML의 선언 된 매개 변수 만 입력 할 수 있습니다. 이것이 가능한가?

안부 카를로스 JOURDAN

답변

0

예, XSD 1.0에서이 작업을 수행 할 수 있습니다. 이 같은 일반적으로 뭔가 :

<xs:element name="root"> 
    <...> 
    <xs:key name="paramName"> 
    <xs:selection xpath="parameters/parameter"/> 
    <xs:field xpath="@name"/> 
    </xs:key> 
    <xs:keyref refer="paramName"> 
    <xs:selection xpath="text/parameter_value"/> 
    <xs:field xpath="@parameter_name"/> 
    </xs:keyref> 
</xs:element> 

이 메모리에서, 그래서 좋아하는 XSD 텍스트 책에서 올바른 구문을 찾아 볼 수 있도록 준비.