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