【发布时间】:2018-01-28 04:14:43
【问题描述】:
首先,对不起英语,不是我的母语。
我检查了一些关于此的帖子,他们给出的解决方案就像“元素下方的属性”,但在这个 XML 中我没有属性。在我使用它的所有地方都会出现复杂类型错误。检查它:
XML
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE Layout SYSTEM "Layout.dtd">
<Layout>
<Encabezado>
<Campos1>
<campo1>FechaDelReporte</campo1>
<campo1>FechaEsperada</campo1>
</Campos1>
<TipoDatos1>
<td1>Fecha</td1>
<td1>Fecha</td1>
</TipoDatos1>
<Longitudes1>
<lenght1>10</lenght1>
<lenght1>10</lenght1>
</Longitudes1>
<Descripciones1>
<descripcion1>FechaSeRealizoReporte</descripcion1>
<descripcion1>FechaEnQueSeEsperaInformeConInformacion</descripcion1>
</Descripciones1>
</Encabezado>
<Detalle>
<Campos2>
<campo2>Matricula</campo2>
<campo2>Nombre</campo2>
<campo2>CostoCredito</campo2>
<campo2>CreditosACursar</campo2>
<campo2>MontoCreditos</campo2>
</Campos2>
<TipoDatos2>
<td2>Numerico</td2>
<td2>Alfabetico</td2>
<td2>Numerico</td2>
<td2>Numerico</td2>
<td2>Numerico</td2>
</TipoDatos2>
<Longitudes2>
<lenght2>9</lenght2>
<lenght2>50</lenght2>
<lenght2>4</lenght2>
<lenght2>2</lenght2>
<lenght2>5</lenght2>
</Longitudes2>
<Descripciones2>
<descripcion2>MatriculaEstudiante</descripcion2>
<descripcion2>NombreEstudiante</descripcion2>
<descripcion2>CostoDeCadaCredito</descripcion2>
<descripcion2>CreditosCursaraEstudianteEnCuatrimestre</descripcion2>
<descripcion2>MontoTotalCreditosCursaraEstudiante</descripcion2>
</Descripciones2>
</Detalle>
<PieDePagina>
<Campos3>
<campo3>TotalEstudiantes</campo3>
<campo3>TotalCreditos</campo3>
<campo3>MontoTotalCreditos</campo3>
</Campos3>
<TipoDatos3>
<td3>Numerico</td3>
<td3>Numerico</td3>
<td3>Numerico</td3>
</TipoDatos3>
<Longitudes3>
<lenght3>4</lenght3>
<lenght3>6</lenght3>
<lenght3>8</lenght3>
</Longitudes3>
<Descripciones3>
<descripcion3>TotalEstudiantesConCreditoEducativoEnInforme</descripcion3>
<descripcion3>TotalCreditosCursaranTodosEstudiantesEnInforme</descripcion3>
<descripcion3>MontoTotalRequeridoPorCreditosEnInforme</descripcion3>
</Descripciones3>
</PieDePagina>
</Layout>
XSD
<?xml version="1.0"?>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<xs:schema version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:complextype name='Layouttype'>
<xs:sequence>
<xs:element name='Encabezado' type='xs:Encabezadotype'> </xs:element>
<xs:element name='Detalle' type='xs:Detalletype'> </xs:element>
<xs:element name='PieDePagina' type='xs:PieDePaginatype'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Encabezadotype'>
<xs:sequence>
<xs:element name='Campos1' type='xs:Campos1type'> </xs:element>
<xs:element name='TipoDatos1' type='xs:TipoDatos1type'> </xs:element>
<xs:element name='Longitudes1' type='xs:Longitudes1type'> </xs:element>
<xs:element name='Descripciones1' type='xs:Descripciones1type'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Campos1type'>
<xs:sequence>
<xs:element name='Campo1' type='string'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='TipoDatos1type'>
<xs:sequence>
<xs:element name='td1' type='string'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Longitudes1type'>
<xs:sequence>
<xs:element name='Lenght1' type='integer'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Descripciones1type'>
<xs:sequence>
<xs:element name='Descripcion1' type='string'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Detalletype'>
<xs:sequence>
<xs:element name='Campos2' type='xs:Campos2type'> </xs:element>
<xs:element name='TipoDatos2' type='xs:TipoDatos2type'> </xs:element>
<xs:element name='Longitudes2' type='xs:Longitudes2type'> </xs:element>
<xs:element name='Descripciones2' type='xs:Descripciones2type'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Campos2type'>
<xs:sequence>
<xs:element name='Campo2' type='string'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='TipoDatos2type'>
<xs:sequence>
<xs:element name='td2' type='string'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Longitudes2type'>
<xs:sequence>
<xs:element name='Lenght2' type='integer'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Descripciones2type'>
<xs:sequence>
<xs:element name='Descripcion2' type='string'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='PieDePaginatype'>
<xs:sequence>
<xs:element name='Campos3' type='xs:Campos3type'> </xs:element>
<xs:element name='TipoDatos3' type='xs:TipoDatos3type'> </xs:element>
<xs:element name='Longitudes3' type='xs:Longitudes3type'> </xs:element>
<xs:element name='Descripciones3' type='xs:Descripciones3type'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Campos3type'>
<xs:sequence>
<xs:element name='Campo3' type='string'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='TipoDatos3type'>
<xs:sequence>
<xs:element name='td3' type='string'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Longitudes3type'>
<xs:sequence>
<xs:element name='Lenght3' type='integer'> </xs:element>
</xs:sequence>
</xs:complextype>
<xs:complextype name='Descripciones3type'>
<xs:sequence>
<xs:element name='Descripcion3' type='string'> </xs:element>
</xs:sequence>
</xs:complextype>
</xs:schema>
我也认为我的 XSD 制作不正确。
【问题讨论】: