Sólo quiero saber por qué y cuando: se utilizaSignificado de xsd: simpleContent
<xsd:simpleContent>
...
</xsd:simpleContent>
.
Sólo quiero saber por qué y cuando: se utilizaSignificado de xsd: simpleContent
<xsd:simpleContent>
...
</xsd:simpleContent>
.
Como Jordan ha dicho que permite extender tipoCompuesto, por ejemplo:
<xsd:complexType name="SizeType">
<xsd:simpleContent>
<xsd:extension base="xsd:integer">
<xsd:attribute name="system" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
Sugiero ver estos ejemplos, han sido muy útil a mí:
Básicamente le permite extender un elemento complexType. Si tiene un complexType "decimal", puede ampliarlo con simpleContent para que sea de tipo "moneda" agregando un signo de moneda como $ o € y un código como USD o EUR. 4.75 como decimal se convertiría en algo así como $ 4.75 USD con esas extensiones.
el artículo de Microsoft es bueno para una comprensión básica: http://msdn.microsoft.com/en-us/library/ms256106.aspx
Thx amigos para las respuestas, pero todavía no lo entiendo. Cuando tengo un tipo complejo, puedo hacer todo esto sin el simple contenido? – Gobliins
Si desea un elemento cuyo valor es una fecha, y que tiene atributos, como esto:
<event type="birthday">2011-07-17</event>
entonces necesita un tipo complejo con contenido simple (CT-SC). Se define tomando el tipo de contenido - xs: date - y extendiéndolo con una definición de atributo para el atributo "tipo".
<xsd:simpleContent>
se usa cuando tiene un elemento que puede contener marcas estructurales (= tipo complejo) y el elemento no puede contener elementos secundarios. En otras palabras, el tipo de contenido de los elementos solo permite atributos y contenido de texto. Ejemplo: <foo bar="baz">foobar</foo>
es un elemento definido con <xsd:complexType>
y <xsd:simpleContent>
.
Es cierto que el uso de <xsd:simpleContent>
implica la creación de un tipo, ya sea por restricción o por extensión, pero en realidad todos los tipos complejos son implícitamente restricciones o extensiones. La extensión o restricción simplemente no es necesaria explícitamente escrita en el código porque hay una sintaxis abreviada que permite dejarlas fuera.
Thx amigos para las respuestas, pero todavía no lo entiendo. Cuando tengo un tipo complejo, puedo hacer todo esto sin el simple contenido? – Gobliins
Creo que depende del tipo de complexType que desee. Vea este ejemplo, está el xml que desea y el correspondiente xsd: http: //www.datypic.com/books/defxmlschema/chapter13.html Como puede ver, no hay ningún contenido simple aquí. – Shilaghae
descubrí que el contenido simple se usa cuando se usa la extensión o la base de restricción. – Gobliins