我必须从XML文档中获取XML架构(XSD),当我遇到类似<seller phone = "555-222-3333"> Skyway Aircraft </seller>
的问题时,我发现了问题。我一直在寻找xsd示例,以了解在XSD中进行声明的正确方法。
我那部分的代码是这个
<xs:element type='xs:string' name='seller'>
<xs:complexType>
<xs:sequence>
<xs:attribute name='phone' type='xs:integer'/>
</xs:sequence>
</xs:complexType>
</xs:element>
我一直在尝试将xs:attribute
放在xs:complexType
中。
当我转到XMLGrid并仅从<seller phone = "555-222-3333"> Skyway Aircraft </seller>
生成xsd时,它准确地向我显示了上面的代码。但是当我显示它并将其保存在Altova中时,它给了我下一个错误
The information element from element <xs:element>
can have an attribute type or a secondly element <xs:complexType>
but not both.
我希望为了用我的XSD文件生成示例XML文档,并生成具有字符串数据和字符串属性的元素。
我找到的解决方案
<xs:element name="seller">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="phone" type="xs:int"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>