2012-06-10 3 views
0

asmxml에 따라 질문이 있습니다. XML 파일에 스키마를 작성하려고합니다. 스키마는 다음과 같습니다 :"AsmXml"의 스키마가 잘못되었습니다.

여기
<schema> 
     <document name="XRF"> 
       <collection name="IL"> 
         <attribute name="k"/> 
         <collection name="I"> 
           <attribute name="k"/> 
           <collection name="M"> 
             <attribute name="k"/> 
             <attribute name="v"/> 
           </collection> 
           <collection name="P"> 
             <attribute name="k"/> 
             <attribute name="v"/> 
             <attribute name="t"/> 
             <attribute name="d"/> 
           </collection> 
         </collection> 
       </collection> 
     </document> 
</schema> 

XML 파일의 미리보기 :

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!--<!DOCTYPE XRF SYSTEM "/apid/xml/xrf.dtd">--> 
<XRF r="8.5.2" c="iD2" g="" u="DE23580-apiinlife03" k="918887283" d="20120523" t="235602"> 
<IL k="1">    
<I k="1007667,361,402"> 
<M k="3" v="GB0008762899"/>  
<M k="187" v="BG Group" l="4"/> 
<P k="33,3,2" v="13.065" t="181502" d="20120522" y="524" n="0" b="779"/> 
<P k="2,1,1" v="12.56" t="080025" d="20120523" z="74876" y="272" n="459" b="908"/> 
<P k="41,1,1" s="5"/>   
<P k="9,3,2" v="12.73" t="163519" d="20120522" z="8322" y="158" n="0" b="779"/>     
</I> 
</IL> 
</XRF> 

누군가가 나에게 "스키마"를 해결하는 데 도움이 수 있을까요? 내가 뭘 잘못하고 있는지 모르겠다. 미리 감사드립니다.

인사말 z.

+1

XML에 대한 멋진 점 중 하나는 요소 이름을 만들어 원하는 데이터를 스스로 문서화 할 수 있다는 것입니다. – Jake1164

답변

2

이전 질문이지만 여기에 착륙하는 일부 신규 사용자에게 도움이 될 수 있습니다. AsmXML을 사용하여 스키마를 정의하는 동안 이와 같은 컬렉션을 직접 겹쳐 쓸 수는 없습니다.

<document> 섹션 외부에서 컬렉션을 정의하여 사용할 컬렉션의 적절한 정의에 대한 참조를 연결하는 것이 좋습니다. 예를 들어, 귀하의 경우 올바른 스키마는 다음과 같습니다

<schema> 
    <collection name="M"> 
     <attribute name="k"/> 
     <attribute name="v"/> 
    </collection> 

    <collection name="P"> 
     <attribute name="k"/> 
     <attribute name="v"/> 
     <attribute name="t"/> 
     <attribute name="d"/> 
    </collection> 

    <collection name="I"> 
     <attribute name="k"/> 
     <reference name="M"/> 
     <reference name="P"/> 
    </collection> 

    <document name="XRF"> 
      <collection name="IL"> 
        <attribute name="k"/> 
        <reference name="I" /> 
      </collection> 
    </document> 
</schema> 

은 또한 당신의 수집에 필요한 모든 속성을 포함해야합니다, 당신은 또한이 작업을 수행하기 위해 그룹을 사용할 수 있습니다. 더 많은 것을 찾을 수 있습니다 : http://tibleiz.net/asm-xml/documentation.html

희망이 있습니다!

+0

'겹쳐서', whazzat? 또한, 답을 제공하기에는 너무 늦은 것이 아닙니다. 오래된 질문 일수록 사람들이 마침내 대답 할 때마다 그 점을 이해할 기회가 많아집니다. –

+0

+1 for imbricate :) @MartijnPieters : 내 생각에 Matthieu는 노드가 겹쳐서는 안된다는 것을 의미합니다 (). – unutbu

+0

@unutbu : 예, 왜 내가 사전을 집어 들지 않을지 확신하지 못했습니다. 그것은 오래되었지만 오늘 나는 새로운 단어를 배웠습니다! :-) –

관련 문제