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