<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>XSD &#8211; Oscar Blancarte &#8211; Software Architecture</title>
	<atom:link href="https://www.oscarblancarteblog.com/category/xsd/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.oscarblancarteblog.com</link>
	<description>Software Architect &#38; FullStack developer</description>
	<lastBuildDate>Wed, 16 Jul 2014 00:13:04 +0000</lastBuildDate>
	<language>es-MX</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.5.5</generator>

<image>
	<url>https://www.oscarblancarteblog.com/wp-content/uploads/2019/03/cropped-ob-32x32.png</url>
	<title>XSD &#8211; Oscar Blancarte &#8211; Software Architecture</title>
	<link>https://www.oscarblancarteblog.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">89905023</site>	<item>
		<title>Que es un Schema en XML</title>
		<link>https://www.oscarblancarteblog.com/2014/07/16/que-es-un-schema-en-xml/</link>
					<comments>https://www.oscarblancarteblog.com/2014/07/16/que-es-un-schema-en-xml/#comments</comments>
		
		<dc:creator><![CDATA[oblancarte]]></dc:creator>
		<pubDate>Wed, 16 Jul 2014 00:13:04 +0000</pubDate>
				<category><![CDATA[XSD]]></category>
		<category><![CDATA[Schema]]></category>
		<category><![CDATA[XML]]></category>
		<guid isPermaLink="false">http://javamex.wordpress.com/?p=26</guid>

					<description><![CDATA[<p>Si bien la mayoría de nosotros que ha trabajado con XML ha escuchado el termino Schema y es que prácticamente XML y Schema van de la mano debido a que en un Schema se definen las reglas de como el XML tendrá que ser creado. Un Schema tiene varios elementos que deberemos entender muy bien [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.oscarblancarteblog.com/2014/07/16/que-es-un-schema-en-xml/">Que es un Schema en XML</a> appeared first on <a rel="nofollow" href="https://www.oscarblancarteblog.com">Oscar Blancarte - Software Architecture</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>				Si bien la mayoría de nosotros que ha trabajado con XML ha escuchado el termino Schema y es que prácticamente XML y Schema van de la mano debido a que en un Schema se definen las reglas de como el XML tendrá que ser creado.</p>
<p>Un Schema tiene varios elementos que deberemos entender muy bien para poder explotar al máximo las ventajas que ofrece.</p>
<p>En este post hablaremos de los puntos mas importantes que debemos de tomar en cuenta para entenderlos.<span id="more-26"></span></p>
<p>&nbsp;</p>
<p><strong>ComplexType: </strong>Sirve para definir estructuras complejas donde podremos agrupas un conjunto de elementos u otros CompleType.</p>
<p>Un ComplexType lo podemos ver como la definición de una clase ya que en este definimos la estructura que deberá tener un tipo y esta pensado para ser reutilizado.</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-27" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/complextype.png" alt="ComplexType" width="340" height="148" /></p>
<p><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/complextypesource.png"><img loading="lazy" class="aligncenter size-full wp-image-28" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/complextypesource.png" alt="ComplexTypeSource" width="442" height="240" /></a></p>
<p>Las siguientes figuras muestran de forma grafica y el fuente(Source) de como esta generado el CompleType, En la imagen podemos apreciar que se trata de un tipo Login el cual tiene un elemento para almacenar el usuario y otro para el password.</p>
<p>Si prestamos mas atención veremos que el elemento usuario es de tipo UserNameType el cual es un SimpleType del cual hablaremos mas adelante y elemento para el password de tipo String.</p>
<p>Apartir de este ComplexType podremos generar instancias o elementos para poder ser reutilizadas en otros Schemas o ComplexType.</p>
<p>&nbsp;</p>
<p><strong>Element: </strong>Los elements los podemos ver como clases anónimas ya que están basada en un tipo previamente definido y no pueden ser reutilizados en otros ComplexType ni Schema&#8217;s, Los elements son utilizados cuando queremos definir algo que solo lo utilizaremos una vez.</p>
<p><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/element.png"><img loading="lazy" class="aligncenter size-full wp-image-29" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/element.png" alt="Element" width="383" height="190" /></a></p>
<p><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/elementsource.png"><img loading="lazy" class="aligncenter size-full wp-image-30" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/elementsource.png" alt="ElementSource" width="315" height="20" /></a></p>
<p>En las siguientes figuras vemos como esta compuesto un Element de forma gráfica y en fuente(Source), Podemos apreciar que el element login es de tipo LoginType por lo que hereda su estructura.</p>
<p>Los Elements pueden ser de cualquier ComplexType o SimpleType e incluso no tener un tipo por lo que se denomina AnyType ( Cualquier Tipo) y automáticamente heredaran su estructura</p>
<p><strong>SimpleType: </strong>Los SimpleType o Tipos Simples estan diseñados para crear nuestros propios tipos de datos simples, es decir tipos de datos que representen un solo nodo de nuestro XML.</p>
<p><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/simpletype.png"><img loading="lazy" class="aligncenter size-full wp-image-32" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/simpletype.png" alt="SimpleType" width="158" height="91" /></a><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/simpletypesource.png"><img loading="lazy" class="aligncenter size-full wp-image-33" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/simpletypesource.png" alt="SimpleTypeSource" width="288" height="101" /></a></p>
<p>En este caso Usuario es de tipo UserNameType el cual es un tipo simple y define dos reglas, Mínimo 8 caracteres y Máximo 20, ademas esta basado en un String, esto nos dice que si ponemos cualquier valor en este nodo que su longitud sea menor de 8 y mayor de 20 el schema nos arrojara que el documento es invalido.</p>
<p>Los SimpleType nos pueden ayudar a definir muchas cosas como por ejemplo el formato del RFC (Con expresiones regulares), Moneda  (Numero de dígitos y fracciones), El número de una tarjeta de crédito, etc.</p>
<p>&nbsp;</p>
<p><strong>Attribute: </strong>Los atributos son utilizados a nivel de ComplexType o Element y sirven para representar algún datos que sea relevante a nivel de CompletType o Element, En este caso el Element Usuario tiene un Atribute llamado Token y representa el Token del usuario para darle mayor seguridad al servicio de Login.</p>
<p>&nbsp;</p>
<p><strong>TargetNameSpace: </strong>Al igual que en los lenguajes de programación, Los schemas también tiene NameSpace ( En Java Package) en cual define el dominio al que pertenecen todos los elementos de nuestro Schema.</p>
<p>El NameSpace nos sirve para distinguir entre los distintos tipos que puedan estar definidos en otros Schemas y que por alguna razón tengan los mismo nombres que en nuestro schema. O te imaginas una clase con el mismo nombre y en el mismo paquete? Entonces el namespace seria el paquete y nombre del elemento seria el nombre de la clase si lo queremos ver como programadores Java.</p>
<p>&nbsp;</p>
<p>Finalmente y una vez terminado nuestro Schema podemos crear XML basados en nuestros tipos y validar que sean correctos a nivel sintácticos y semántico.</p>
<p>A continuación un XML Valido para el Element login</p>
<p><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/validxml1.png"><img loading="lazy" class="aligncenter size-full wp-image-36" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/validxml1.png" alt="ValidXML" width="439" height="87" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;		</p>
<p>The post <a rel="nofollow" href="https://www.oscarblancarteblog.com/2014/07/16/que-es-un-schema-en-xml/">Que es un Schema en XML</a> appeared first on <a rel="nofollow" href="https://www.oscarblancarteblog.com">Oscar Blancarte - Software Architecture</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.oscarblancarteblog.com/2014/07/16/que-es-un-schema-en-xml/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">26</post-id>	</item>
	</channel>
</rss>
