2012-10-08 3 views
0

Ruby on Rails 코드에서 XML을 만들고 UTF-16 인코딩을 사용하는 XSD를 사용하여 유효성을 검사했습니다. XML에서 XML이 여러 태그를 추가하지 못하는 이유는 무엇입니까?

, 나는 그것이 작동하지만, 여러 이름을 위해 오류 발생합니다 하나의 이름 삽입 할 때 :
<city> 
    <groups> 
     <name></name> 
    </groups>...........It's working fine 
</city> 

<city>  
    <groups> 
     <name></name> 
     <name></name> 
    </groups>...........It's raise error 
<city> 

"FAILED: Error: Element 'name': This element is not expected. at :107." 

는 XML에 여러 개의 태그를 삽입에 대한 제한이 있습니까?

xml.tag!("city"){ 
       grp = map_groups(city.groups) 
       grp.each { |grp_code| 
       xml.groups{ 
        xml.name("john") 
       } 
       } unless grp.empty? 
      } 
+1

에 당신은 코드와 전체 오류 정보를 게시 할 수 있습니까? XSD 또는 다른 시점에서 유효성 검사를 시도 할 때 실패합니까? XSD가 여러 개의 ''요소를 ''아래에 허용하지 않는 것 같습니다. –

답변

1

귀하의 XSD가 여러 이름을 허용하지 않습니다

여기
<?xml version="1.0" encoding="utf-16"?>        
       <xsd:element name="city">           
       <xsd:complexType> 
        <xsd:sequence> 
        <xsd:element name="groups"> 
         <xsd:complexType> 
         <xsd:sequence> 
          <xsd:element name="name" type="xsd:string" /> 
         </xsd:sequence> 
         </xsd:complexType> 
        </xsd:element> 
        </xsd:sequence> 
       </xsd:complexType> 
       </xsd:element> 

이 모델 :

여기 내 XSD입니다.

보십시오 변화 <xsd:element name="name" type="xsd:string" /> <xsd:element name="name" type="xsd:string" maxOccurs="unbounded"/>

+0

감사합니다 @ xing,하지만 내 XSD를 변경할 권한이 없습니다. 기존 XSD로 XML을 생성 할 수있는 방법이 있습니까? –

+0

XSD 유효성 검사를 무시할 수 없다면 걱정하지 않아도됩니다. – xing

+0

고마워, 이제 XSD를 업데이트했고 제대로 작동했다. –

관련 문제