O que são:
- Dados Estruturados: são os dados contidos nos bancos de dados, com formato definido.
- Dados Semiestruturados: são dados que permitem adicionar atributos mesmo depois de criados.
- A diferença entre os dois então, é a forma de criação do schema.
Linguagens de Marcação
- HTML foi a primeira. Trabalha com marcadores definidos. Cuida da forma como o dado é apresentado. A visualização é sempre fixada (ex. o dado é sempre em itálico).
- XML nasceu para tratar do do conteúdo dos dados, trouxe flexibilidade, e não existe nenhuma preocupação com a apresentação dos dados. Possui uma estrutura hierárquica.
Utilização da XML
- Busca de dados na web
- Troca de dados
- Catálogos
- Automação de grandes redes (bancos, suprimentos, etc.)
Linguagens para manipular XML
- Xpath: trabalha através de grafos, para saber o caminho percorrido
- Xquery: voltada para recuperar o dados
- XSL: definir o estilo que o dados serão exibidos
Conceitos de XML
- Documento bem formado: ordem de abertura e fechamento das tags
- Documento válido: de acordo com o esquema definido
DTD (Document Type Description)
Contém as regras para elaboração do XML. Define que um XML pode conter, a ordem, obrigatoriedade, cardinalidade (número de vezes que cada valor ocorre) e unicidade (se possui valor único ou não). Pode estar dentro ou fora do arquivo XML.
Declarações contidas em uma DTD
- ELEMENT: especifica um elemento do XML
- ATTLIST: declara uma lista de atributos associados a um elemento e o valores possiveis
- ENTITY: usado para declarar uma espécie de alias dentro do doc.
- NOTATION: usado para passar dados sobre impressora, ou a forma de impressão do doc.
Descrição de cada declaração
Tag ELEMENT
<!ELEMENT S Nome S EspecificacaoConteudo S ?>
- Nome - nome do elemento
- EspecificaçãoConteudo pode ser:
- EMPTY - não possui nenhum dado no elemento
- ANY - pode ser vazio ou não
- mixed - pode ter alguma informação dentro dele ou alguns filhos
- children - subdivide-se em outros elementos
- ? (Cardinalidade) pode ser
- ? -> No máximo uma ocorrência
- * -> Nenhuma ou diversas ocorrências
- + -> No mínimo uma ocorrência
Simbolo "|" -> o elemento pode se dividir em outros elementos e eles são alternativos
Tag ATTLIST
<!ATTLIST S Nome S EspecificacaoAtributo S ?>
- Nome - nome do atributo
- EspecificacaoAtributo é composto por:
- NomeAtributo S TipoAtributo S ValorPadrão S ValorDefault
- Onde:
- NomeAtributo - nome do atributo
- TipoAtributo são os tipos:
- CDATA: dados com formato de caracteres (não pode conter tag)
- ID: identificador do elemento (possui valor único)
- IDREF: é a referencia ao ID de um atributo
- IDREFS: mais de um ID
- NMTOKEN: palavra ou conjunto de palavras sem espaço
- NMTOKENS: lista separadas por espaço
- ENUMERADO: lista enumerada
- ValorPadrão - sempre será esse valor, não muda nunca
- ValorDefault - se nao definir um valor pro atributo, ele assume esse valor padrão
- ? Cardinalidade - mesma do elemento