Herencia entre Schemas
Tengo un Schema XML, con un elemento que quiero que sea abstracto (Data) y luego quiero a traves de otro Schema "implementarlo" osea, como en la programacion orientada a objetos de toda la vida, cuando declaras un metodo abstracto y despues heredas e implementas.
Querria que Data, en unos XML pudiese ser asi:
<Data>
<Nombre>David</Nombre>
</Data>
...y en otros sitios asi:
<Data>
<Ingrediente>Sal</Ingrediente>
</Data>
Tengo un "padre" (Card.xsd") y uno de los hijos ("PersonalCard.xsd")
en Card.xsd:
<xs:element name="Data" type="xs:anyType" abstract="true"/>
y el hijo, personalCard.xsd:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xs:redefine schemaLocation="Card.xsd">
<xs:complexType name="Data">
<xs:complexContent>
<xs:extension base="Data">
<xs:sequence>
<xs:element name="Nombre" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:redefine>
</xs:schema>
¡pero falla, me da error, no puedo validarlo ¿que pasa?
Querria que Data, en unos XML pudiese ser asi:
<Data>
<Nombre>David</Nombre>
</Data>
...y en otros sitios asi:
<Data>
<Ingrediente>Sal</Ingrediente>
</Data>
Tengo un "padre" (Card.xsd") y uno de los hijos ("PersonalCard.xsd")
en Card.xsd:
<xs:element name="Data" type="xs:anyType" abstract="true"/>
y el hijo, personalCard.xsd:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xs:redefine schemaLocation="Card.xsd">
<xs:complexType name="Data">
<xs:complexContent>
<xs:extension base="Data">
<xs:sequence>
<xs:element name="Nombre" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:redefine>
</xs:schema>
¡pero falla, me da error, no puedo validarlo ¿que pasa?