0

Ruby on Rails コードで XML を作成し、UTF-16 エンコーディングの XSD を使用して検証しました。

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 に複数のタグを挿入する際の制限はありますか?

これが私の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>

モデルは次のとおりです。

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

1 に答える 1

1

XSD では複数の名前を使用できません。

に変更 <xsd:element name="name" type="xsd:string" /> して みてください<xsd:element name="name" type="xsd:string" maxOccurs="unbounded"/>

于 2012-10-08T15:43:01.737 に答える