|
||
|
|
Conheça também: Onmasters . Ofertas . Divulgue! . Vai.la . Geraboleto . Baixa.la . Assista.la . Joga.la
» Início » Programação » XML » Um pouco além do XML: Introdução ao XML Schema (XSD) - Parte 5
--> |
|
Avaliação:
![]() ![]() ![]() ![]() | Publicado em: 28/12/2006Um pouco além do XML: Introdução ao XML Schema (XSD) - Parte 5
A cláusula KeyRefA definição de elementos não é nenhuma novidade. O importante é atentar-se para as definições das chaves (elementos key e keyref). Para que eles fiquem no mesmo escopo (dentro do elemento “Remessa”) é necessário que ambos sejam declarados dentro do mesmo elemento. Como ambos estão dentro do elemento “Remessa” é preciso construir expressões XPATH que naveguem até os campos necessários. Na definição da chave primária é feita a navegação pelos nós “Remessa”, “Clientes” e “Cliente” até o atributo IdCliente (acompanhado do @). Na definição da chave primária é feita a navegação pelos nós “Remessa”, “Pedidos” e “Pedido” até o atributo IdCliente (acompanhado do @). O documento XML abaixo é considerado válido segundo o esquema especificado. <?xml version="1.0"?> Para realizar uma verificação nas chaves primárias e estrangeiras, uma troca pode ser feita para que o identificador de cliente fique duplicado ou para que um pedido referencie um cliente inexistente. <?xml version="1.0"?> A cláusula KeyRef só permite referências a elementos únicos definidos pela cláusula Key ou Unique. No entanto, se o campo referenciado pela cláusula KeyRef não for obrigatório o campo poderá ser omitido e o documento XML continuará válido. No exemplo citado, a cláusula KeyRef garante que todos os clientes referenciados em pedidos têm de ser válidos, mas ela por si só não impede a existência de pedidos sem cliente. O documento XML abaixo também é considerado válido, mesmo com um pedido sem cliente. <?xml version="1.0"?> Para que a especificação de um cliente seja obrigatória em um pedido é preciso redefinir o esquema e adicionar a propriedade “use” no atributo IdCliente do elemento Pedido. Essa propriedade deve ser configurada como “required”. Este artigo é a parte 5 de 5 da seguinte série:
Uderson Luis Fermino <uderson@gmail.com>
Cara, agradeço a seu artigo por te me ajudado muito e contribuito para meu maior crescimento.
![]() ![]() ![]() ![]() ![]() Edimilson <edimilsonramos@bol.com.br>
Excelente o artigo, didático e muito util.
![]() ![]() ![]() ![]() ![]() Luiz <luiz@skora.com.br>
Parabéns pelo exelente artigo!
![]() ![]() ![]() ![]() ![]() rafael <rafapaz@gmail.com>
gostei muito dos artigos. Direto, prático e didático. Parabéns!
![]() ![]() ![]() ![]() ![]() Edemilson A. de Almeida <ede_aparecido@yahoo.com.br>
Valeu Gustavo. Este seu artigo sobre XML me ajudou muito no projeto semestral na faculdade, porque você aliou técnica e clareza nele. Parabéns.
![]() ![]() ![]() ![]() ![]() Euripedes Borges <euripedesborges@netsite.com.br>
Adorei esse artigo sobre XML, "Um pouco além do XML". Realmente foi muito bom.
![]() ![]() ![]() ![]() ![]() Rodrigo <drigo_rc@hotmail.com>
O Grande problema de algumas especificações é possuir um vocabulário muito restrito.
Esse tutorial em 5 parte é excelente para quem quer aprender e não entende bem as descrições dadas pela W3C. Parabéns ![]() ![]() ![]() ![]() ![]() Gustavo Dettenborn <gustavodettenborn@gmail.com>
Muito bom o seu artigo cara...
Mas rolou um dúvida devido a pouca experiência com XPath e schema. Pode-se referenciar outro arquivo no selector? Ex: <xsd:key name="pkLivro"> <xsd:selector xpath="outroXML:elementoLivro"/> <xsd:field xpath="@ISBN"/> </xsd:key> É possível??? Desde já agradeço... ![]() ![]() ![]() ![]() ![]() ![]() |
|
|