¿Cuál es la diferencia entre un elemento simple y un elemento complejo en XML?

El lenguaje de marcado extensible (XML) es una caja de herramientas de almacenamiento de datos, un vehículo configurable para cualquier tipo de información y un estándar dinámico y abierto que utilizan todos, desde banqueros hasta webmasters. Para ser autodescriptivo, XML se creó para almacenar y transmitir datos.

El marcado son datos que se agregan a un documento para mejorar su significado de ciertas maneras, como identificar las piezas y cómo interactúan. Los elementos XML pueden tener atributos. Estos atributos se pueden utilizar para agregar información sobre el elemento.

En este artículo, vamos a leer sobre los diferentes tipos de elementos en XML. Puede escribir un XML, por ejemplo. sobre un libro de 2 maneras tales como:

Método 1:

<country capital="New Delhi" states="28" 
    climate="tropical monsoon"> 
</country>

Método 2:

<country>
    <capital> New Delhi </capital>
      <states> 28 </states>
      <climate> tropical monsoon </climate>
</country> 

Los dos ejemplos anteriores contienen la misma información, pero es mejor evitar el uso de atributos en XML y, en su lugar, utilizar subelementos.

Sobre la base de los atributos y subelementos, los elementos XML se pueden dividir en 2 tipos:

Elemento simple: un elemento XML sin atributos o elementos secundarios (secundarios) se conoce como elemento simple. Un elemento simple se puede utilizar para declarar un elemento simple. Los tipos simples no pueden tener contenido de elementos ni llevar atributos. Solo pueden tener contenido que esté directamente encerrado entre las etiquetas de apertura y cierre del elemento. No se les permite tener rasgos o hijos.

Existen restricciones sobre los valores permitidos para elementos y atributos en declaraciones de tipos simples, estos se denominan facetas. Cuando un elemento o atributo espera un tipo específico de entrada, se pueden utilizar las restricciones. Por ejemplo, la entrada telefónica solo permite números con un máximo de diez dígitos, los nombres de una persona solo pueden estar en alfabetos, con la primera palabra en mayúscula y el resto en caracteres pequeños.

Por ejemplo, considere XML de un FruitInventory

XML

<FruitInventory>
    <Fruit tid="1">
        <ItemNumber>1000</ItemNumber>
        <FruitName>
            <CommonName>Mango</CommonName>
            <ScientificName>
                Mangifera indica
            </ScientificName>
        </FruitName>
        <Description>
            A mango is an edible stone fruit
            produced by the tropical tree
            Mangifera indica which is believed
            to have originated from
            northeastern India.
        </Description>
        <Price>₹ 30/kg.</Price>
        <Quantity>50</Quantity>
        <Type>drupe</Type>
    </Fruit>
</FruitInventory>

Los elementos simples definidos dentro de FruitInventory son:

XML

<xsd:element name="Description" type="xs:string"/>
<xsd:element name="Price" type="xs:decimal"/>
<xsd:element name="Quantity" type="xs:integer"/>

Elementos complejos: un elemento XML con al menos un atributo de al menos un elemento secundario se denomina elemento complejo. Un elemento complejo se puede utilizar para declarar un elemento simple. Los tipos complejos pueden incluir características, contener componentes adicionales y mezclar elementos y texto, entre otras cosas.

Los componentes o atributos secundarios se definen en una forma compleja de datos. Un elemento puede tener sus propios tipos de datos y puede declararse como su propio tipo de datos. El contenido de un elemento complejo puede ser elementos vacíos, otros elementos, texto o una combinación de elementos y texto.

Un tipo complicado es una unidad lógica que combina un grupo de tipos simples. Un tipo de cliente puede incluir información como el número de cliente, el nombre, la dirección, el pueblo, la ciudad y el código postal. Un tipo complejo también puede hacer referencia a otros tipos complejos o grupos de elementos y atributos.

Tenga en cuenta, por ejemplo: consideremos nuevamente el FruitInventory

XML

<FruitInventory>
    <Fruit tid="1">
        <ItemNumber>1000</ItemNumber>
        <FruitName>
            <CommonName>Mango</CommonName>
            <ScientificName>Mangifera indica</ScientificName>
        </FruitName>
 
        <Description>
            A mango is an edible stone fruit produced
            by the tropical tree Mangifera indica
            which is believed to have originated
            from northeastern India.
        </Description>
        <Price>₹ 30/kg.</Price>
        <Quantity>50</Quantity>
        <Type>drupe</Type>
    </Fruit>
</FruitInventory>

Los elementos complejos definidos dentro de FruitInventory son:

XML

<xsd:element name="FruitName">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="CommonName" type="xsd:string"/>
            <xsd:element name="ScientificName" type="xds:string"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

Diferencia entre elementos simples y complejos:

elemento sencillo

Elemento complejo

No tiene ningún atributo. Debe tener al menos un atributo si no hay un subhijo presente.
No tiene ningún sub-hijo. Debe tener al menos un subhijo si no hay ningún atributo presente.
Un elemento simple se puede declarar con un tipo de datos simple. Un elemento simple se puede declarar con un tipo de datos complejo.
Contienen etiquetas de cierre automático. No contienen etiquetas de cierre automático.
Se puede utilizar para definir un ID, que es un número entero con un límite de valor máximo. se puede usar para definir a un estudiante y completar sus detalles como fecha de nacimiento, nombre, etc.

Publicación traducida automáticamente

Artículo escrito por archita2k1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *