【问题标题】:give a simple xml example for this xsd schema file为这个 xsd 模式文件提供一个简单的 xml 示例
【发布时间】:2013-10-23 06:25:35
【问题描述】:

您好,谁能给我一个基于此 XSD 文件的简单 XML 示例,可以验证吗?或者解释一下它到底应该是什么?
我是 XSD 的初学者,不了解整个文档!但我想有一个例子来生成一个基于这个文件的 php XML 可以验证!谢谢
这是 XSD 文件:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:attribute name="id" type="xs:positiveInteger"/>
<xs:complexType name="station">
    <xs:sequence>
        <xs:element name="name" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="id" use="required"/>
</xs:complexType>
<xs:complexType name="driver">
    <xs:sequence>
        <xs:element name="name" type="xs:string" />
        <xs:element name="birth_date" type="xs:date" />
        <xs:element name="email" type="xs:string" />
        <xs:element name="phone" type="xs:string" />
        <xs:element name="avatar" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="id" use="required"/>
</xs:complexType>
<xs:element name="lvb_system">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="line" minOccurs="0" maxOccurs="unbounded" >
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="code" type="xs:string" />
                        <xs:element name="type" type="xs:string" />
                        <xs:element name="start_time_operation" type="xs:time" />
                        <xs:element name="end_time_operation" type="xs:time" />
                        <xs:element name="count_vehicles">
                          <xs:simpleType>
                            <xs:restriction base="xs:integer">
                              <xs:minInclusive value="0"/>
                              <xs:maxInclusive value="10"/>
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:element>
                        <xs:element name="map" type="xs:string" />
                        <xs:element name="start_station" type="station" minOccurs="0" maxOccurs="1" />
                        <xs:element name="end_station" type="station" minOccurs="0" maxOccurs="1" />
                        <xs:element name="intermediate_stations" type="station" minOccurs="0" maxOccurs="5" />
                        <xs:element name="vehicles_line" minOccurs="0" maxOccurs="10" >
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="name" type="xs:string" />
                                    <xs:element name="capacity" type="xs:integer" />
                                    <xs:element name="driver" minOccurs="0" maxOccurs="unbounded" type='driver' />
                                </xs:sequence>
                                <xs:attribute ref="id" use="required"/>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute ref="id" use="required"/>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:element>
</xs:schema>

【问题讨论】:

  • 模块 E :D,祝 Alireza 先生好运

标签: xml xsd


【解决方案1】:

这里的在线工具:

http://xmlgrid.net/genXml.html

在回答你的问题方面做得很好。

【讨论】:

  • 非常感谢凯先生!这正是答案;)
【解决方案2】:

您可以使用http://xmlgrid.net/genXml.html 从 xsd 生成 xml。使用该服务,您的 XSD 会导致:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Document created with online XML Editor http://xmlgrid.net 2013/10/23 8:33:18  -->
<lvb_system>
     <line null="test attribute">
           <code>test string</code>
           <type>test string</type>
           <start_time_operation>test string</start_time_operation>
           <end_time_operation>test string</end_time_operation>
           <count_vehicles>test string</count_vehicles>
           <map>test string</map>
           <start_station>
                 <name>test string</name>
           </start_station>
           <end_station>
                 <name>test string</name>
           </end_station>
           <intermediate_stations>
                 <name>test string</name>
           </intermediate_stations>
           <vehicles_line null="test attribute">
                 <name>test string</name>
                 <capacity>9</capacity>
                 <driver>
                       <name>test string</name>
                       <birth_date>2011-01-15</birth_date>
                       <email>test string</email>
                       <phone>test string</phone>
                       <avatar>test string</avatar>
                 </driver>
                 <driver>
                       <name>test string</name>
                       <birth_date>2011-01-15</birth_date>
                       <email>test string</email>
                       <phone>test string</phone>
                       <avatar>test string</avatar>
                 </driver>
                 <driver>
                       <name>test string</name>
                       <birth_date>2011-01-15</birth_date>
                       <email>test string</email>
                       <phone>test string</phone>
                       <avatar>test string</avatar>
                 </driver>
           </vehicles_line>
     </line>
     <line null="test attribute">
           <code>test string</code>
           <type>test string</type>
           <start_time_operation>test string</start_time_operation>
           <end_time_operation>test string</end_time_operation>
           <count_vehicles>test string</count_vehicles>
           <map>test string</map>
           <start_station>
                 <name>test string</name>
           </start_station>
           <end_station>
                 <name>test string</name>
           </end_station>
           <intermediate_stations>
                 <name>test string</name>
           </intermediate_stations>
           <vehicles_line null="test attribute">
                 <name>test string</name>
                 <capacity>9</capacity>
                 <driver>
                       <name>test string</name>
                       <birth_date>2011-01-15</birth_date>
                       <email>test string</email>
                       <phone>test string</phone>
                       <avatar>test string</avatar>
                 </driver>
                 <driver>
                       <name>test string</name>
                       <birth_date>2011-01-15</birth_date>
                       <email>test string</email>
                       <phone>test string</phone>
                       <avatar>test string</avatar>
                 </driver>
                 <driver>
                       <name>test string</name>
                       <birth_date>2011-01-15</birth_date>
                       <email>test string</email>
                       <phone>test string</phone>
                       <avatar>test string</avatar>
                 </driver>
           </vehicles_line>
     </line>
     <line null="test attribute">
           <code>test string</code>
           <type>test string</type>
           <start_time_operation>test string</start_time_operation>
           <end_time_operation>test string</end_time_operation>
           <count_vehicles>test string</count_vehicles>
           <map>test string</map>
           <start_station>
                 <name>test string</name>
           </start_station>
           <end_station>
                 <name>test string</name>
           </end_station>
           <intermediate_stations>
                 <name>test string</name>
           </intermediate_stations>
           <vehicles_line null="test attribute">
                 <name>test string</name>
                 <capacity>9</capacity>
                 <driver>
                       <name>test string</name>
                       <birth_date>2011-01-15</birth_date>
                       <email>test string</email>
                       <phone>test string</phone>
                       <avatar>test string</avatar>
                 </driver>
                 <driver>
                       <name>test string</name>
                       <birth_date>2011-01-15</birth_date>
                       <email>test string</email>
                       <phone>test string</phone>
                       <avatar>test string</avatar>
                 </driver>
                 <driver>
                       <name>test string</name>
                       <birth_date>2011-01-15</birth_date>
                       <email>test string</email>
                       <phone>test string</phone>
                       <avatar>test string</avatar>
                 </driver>
           </vehicles_line>
     </line>
</lvb_system>

【讨论】:

  • 此文档无法针对给定架构进行验证。
  • 不太可能,当使用 xmlgrid.net 用于构建文档的 xml 库时,文档会根据架构进行验证,这几乎已成定局。此外,简单地说它失败是相当模糊的。具体是什么失败了?您使用哪个库来验证它?
  • 'xmllint --noout --schema example.xsd example.xml' 有很多错误和验证失败的最终消息。 Xmllint 使用 libxml2 库来解析和验证 xml。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 2021-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多