2011-10-13 3 views
2

현재 BPMN 2.0의 사양을 읽고 있습니다. 이 스펙에서 BPMN 부분에 대한 정의는 XML 스키마로 제공됩니다. 나 한테 무슨 퍼즐하면 "name"속성의 사용이다XSD : "이름"속성은 "anyAttribute"요소의 의미는 무엇입니까?

<xsd:element name="definitions" type="tDefinitions"/> 
    <xsd:complexType name="tDefinitions"> 
    ... 
    <xsd:anyAttribute name="exporter" type="xsd:ID"/> 
    ... 

을 :

그 스키마 중 하나에서

. (표 8.3, P 54), I는 나에게 이해가되지 않는 선을 우연히 발견 "xsd : anyAttribute"요소와 함께 사용합니다. 요소의 definition을 올바르게 이해했다면 스키마에서 지정하지 않은 "알 수없는"특성을 사용할 수 있습니다. 그래서 "xsd : anyAttribute"를 그 이름의 (선택적) 속성을 직접 지정하는 대신 구체적인 이름 "exporter"로 제한하는 목적은 무엇일까?

+0

실제 스키마 파일을 다시 확인하십시오. 문서에서 실수 일 수 있습니다. –

답변

1

문서의 실수 일 가능성이 높으며 xsd:attribute을 사용하여 특성을 선언하기 위해 들여 쓰여 있습니다.

xsd:anyAttribute에는 @name이 없습니다.

<anyAttribute 
    id = ID 
    namespace = ((##any | ##other) | List of (anyURI | (##targetNamespace | ##local))) : ##any 
    processContents = (lax | skip | strict) : strict 
    {any attributes with non-schema namespace . . .}> 
    Content: (annotation?) 
</anyAttribute> 
+0

확인해 주셔서 감사합니다! 저도 제게 깊은 인상을 심어주었습니다. 그러나 XSD에 대한 이해가 불충분하다는 점은 확실하지 않았습니다. ;-) – elsvene

+0

OMG 웹 사이트에 제공된 [XML Schemas] (http://www.omg.org/spec/BPMN/20100501/BPMN20.xsd)가 실제로 xsd : attribute 대신에'xsd : attribute'를 사용한다는 것을 발견했습니다. anyAttribute'! 그래서 @Mads, 당신은 완벽하게 맞았습니다. 그것은 사양서의 실수입니다. – elsvene

+0

차가움. 게시자에게 오류를 알리기 위해 게시자에게 메모를 보내야합니다. 그러면 오류를 수정하고 수정 된 문서를 게시 할 수 있습니다. –

0

anyAttribute 요소를 사용하면 작성자는 스키마에서 지정하지 않은 속성으로 XML 문서를 확장 할 수 있습니다.

출처 : 여기에

http://www.w3schools.com/schema/el_anyattribute.asp 당신이 알아야 할 모든 것! 와일드 카드처럼 anyAttribute를 봐야합니다.

+0

필자의 질문에 "anyAttribute"라는 정의를 읽었으며 요소의 "이름"속성을 지정하지 않았기 때문에 혼란 스러웠습니다. – elsvene

+0

네, 와일드 카드로 사용할 수 있다고 말했듯이, XML 공간에 어떤 속성을 부여합니다. 그래서 속성 X 또는 Y는 중요하지 않습니다! – Wesley

+0

하지만 작동하지 않습니다. http://stackoverflow.com/q/14872678/306488 – lisak