sexta-feira, 14 de novembro de 2008

O QUE É XML ?

XML (eXtensible Markup Language) é uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais. É um subtipo de SGML (acrônimo de Standard Generalized Markup Language, ou Linguagem Padronizada de Marcação Genérica) capaz de descrever diversos tipos de dados.

Seu propósito principal é a facilidade de compartilhamento de informações através da Internet. Entre linguagens baseadas em XML incluem-se XHTML (formato para páginas Web), RDF,SDMX ,SMIL, MathML (formato para expressões matemáticas), NCL, XBRL, XSIL e SVG (formato gráfico vetorial).

Objetivos do XML

Estimulado pela insatisfação com os formatos existentes (padronizados ou não), um grupo de empresas e organizações que se autodenominou World Wide Web Consortium (W3C) começou a trabalhar em meados da década de 1990 em uma linguagem de marcação que combinasse a flexibilidade da SGML com a simplicidade da HTML.
O principio do projeto era criar uma linguagem que pudesse ser lida por software, e integrar-se com as demais linguagens. Sua filosofia seria incorporada por vários princípios importantes:
• Separação do conteúdo da formatação
• Simplicidade e Legibilidade, tanto para humanos quanto para computadores
• Possibilidade de criação de tags sem limitação
• Criação de arquivos para validação de estrutura (Chamados DTDs)
• Interligação de bancos de dados distintos
• Concentração na estrutura da informação, e não na sua aparência
O XML é considerado um bom formato para a criação de documentos com dados organizados de forma hierárquica, como se vê frequentemente em documentos de texto formatados, imagens vetoriais ou bancos de dados.
Pela sua portabilidade, um banco de dados pode através de uma aplicação escrever em um arquivo XML, e um outro banco distinto pode ler então estes mesmos dados.

Site referência do Brasil: http://www.xmlbr.com.br/
Fonte: Wikipédia
___________________________________________________________

1. XML é para estruturar dados

São exemplos de dados estruturados planilhas, cadernos de endereços, parâmetros de configuração, transações financeiras e desenhos técnicos. XML é um conjunto de regras (você também pode encará-las como convenções ou diretrizes) para projetar formatos de texto que o permitam estruturar seus dados. XML não é uma linguagem de programação e você não precisa ser um programador para usá-la ou aprendê-la. XML torna simples para o computador gerar e ler dados, e garantir que sua estrutura não seja ambígua. XML evita os problemas mais comuns em projetos de linguagens; ela é extensível, independente de plataforma e suporta internacionalização e localização. XML é 100% conforme ao padrão Unicode.

2. XML parece um pouco com HTML

Como HTML, XML usa marcadores (palavras envoltas pelos sinais '<' e '>') e atributos (na forma nome="valor"). Mas enquanto HTML especifica o que cada marcador e atributo significa, e às vezes como seu conteúdo aparecerá num navegador, XML usa os marcadores apenas para delimitar os trechos de dados, deixando sua interpretação completamente à cargo da aplicação que os lê. Em outras palavras, ao ver "

" num arquivo XML, não assuma que é um parágrafo. Dependendo do contexto, pode ser um preço, um parâmetro, uma pessoa, um p... — ora, quem disse que a palavra tem que começar por pê?

3. XML é texto, mas não é para se ler

Programas que produzem planilhas, listas de endereços e outros dados estruturados freqüentemente os gravam em disco, usando um formato binário ou textual. Uma vantagem do formato textual é que ele permite às pessoas, se necessário, ver os dados sem usar o programa que os produziu; ou seja, você pode ler um formato textual com o seu editor de textos favorito. Formatos textuais também ajudam os desenvolvedores a depurar mais facilmente as aplicações. Como em HTML, os arquivos XML são arquivos-texto que as pessoas não deveriam precisar ler, mas podem fazê-lo em caso de necessidade. A semelhança diminui quando vemos que as regras para arquivos XML são rígidas. Um marcador esquecido ou um atributo sem aspas inutilizam um arquivo XML, enquanto em HTML tal prática é tolerada e com freqüência explicitamente permitida. A especificação oficial da XML proíbe as aplicações de tentar inferir a intenção do autor de um arquivo defeituoso; se um defeito é encontrado, a aplicação é obrigada a parar ali mesmo e sinalizar um erro.

4. XML é prolixo de propósito

Como XML é um formato textual e usa marcadores para delimitar os dados, os arquivos XML são quase sempre maiores que num formato binário equivalente. Isso é fruto de uma decisão consciente dos projetistas da XML. As vantagens de um formato textual são evidentes (vide item 3), e as desvantagens podem ser geralmente compensadas num outro nível. Espaço em disco já não é tão caro como costumava ser, e programas de compressão como zip e gzip podem comprimir arquivos rápida e eficientemente. Além disso, protocolos de comunicação modernos e o HTTP/1.1, o protocolo central da Web, podem comprimir os dados em trânsito, poupando banda tão eficientemente quanto um formato binário.

5. XML é uma família de tecnologias

XML 1.0 é a especificação que define o que são "marcadores" e "atributos". Além de XML 1.0, a "família XML" é um conjunto crescente de módulos que oferecem serviços úteis para levar a cabo tarefas importantes e muito requisitadas. Xlink descreve uma forma padronizada de inserir hiperlinques num arquivo XML. XPointer e XFragments são sintaxes em desenvolvimento para endereçar partes de um documento XML. Um XPointer parece com um URL, mas ao invés de apontar para documentos na Web, ele aponta para trechos de dados dentro de um arquivo XML. CSS , a linguagem de folhas de estilo, aplica-se tanto a XML como a HTML. XSL é uma linguagem avançada para expressar folhas de estilo. Ela é baseada em XSLT, uma linguagem de transformação usada para rearranjar, adicionar ou apagar marcadores e atributos. O DOM é um conjunto padrão de funções para manipular arquivos XML (e HTML) com uma linguagem de programação. As recomendações Esquema XML 1 e 2 ajudam os desenvolvedores a definir precisamente as estruturas de seus próprios formatos baseados em XML. Há vários outros módulos e ferramentas disponíveis ou em desenvolvimento. Mantenha-se informado na página de relatórios técnicos do W3C.

6. XML é novidade, mas nem tanto assim

O desenvolvimento de XML começou em 1996 e é uma Recomendação W3C desde fevereiro de 1998, o que pode levá-lo a crer que XML é uma tecnologia imatura. Na verdade, esta tecnologia não é muito recente. Antes de XML já existia SGML, desenvolvida no início da década de 80 e padrão ISO desde 1986, largamente utilizada em grandes projetos de documentação. O desenvolvimento de HTML começou em 1990. Os projetistas da XML simplesmente pegaram as melhores partes da SGML, guiados pela experiência acumulada com HTML, e produziram algo que não é em nada menos poderoso que SGML, e amplamente mais regular e simples de usar. Contudo, às vezes é difícil distinguir algumas evoluções de revoluções... E deve ser dito que, enquanto SGML é usada principalmente para documentação técnica e muito menos para outros tipos de dados, com XML ocorre exatamente o oposto.

7. XML leva a HTML à XHTML

Há uma importante aplicação XML que é um formato de documento: é a XHTML, a sucessora da HTML. XHTML tem muitos dos mesmos elementos que HTML, mas a sintaxe foi ligeiramente modificada para se conformar às regras da XML. Uma aplicação que é "baseada em XML" herda a sintaxe de XML e a restringe de certas formas (e.g., XHTML aceita " ", mas não ""); ela também acrescenta significado à sintaxe (XHTML reza que "

" significa "parágrafo", e não "preço", "pessoa" ou qualquer outra coisa).

8. XML é modular

XML permite que você defina um novo formato de documento combinando ou reutilizando outros formatos. Como dois formatos desenvolvidos independentemente podem ter elementos ou atributos homônimos, deve-se ter cuidado ao combinar tais formatos ("

" significa "parágrafo" deste formato ou "pessoa" daquele outro?). Para eliminar a confusão de nomes ao combinar formatos, XML provê um mecanismo de espaços nominais (namespaces). XSL e RDF são bons exemplos de formatos que usam espaços nominais. O Esquema XML foi projetado para reproduzir este suporte à modularidade no nível da definição da estrutura dos documentos XML, tornando fácil combinar dois esquemas para produzir um terceiro que represente uma estrutura de documento híbrida.

9. XML é a base de RDF e da Web Semântica

A Framework para Descrição de Recursos (RDF) é um formato textual XML para descrever recursos e aplicações de metadados, como listas de reprodução de músicas, álbuns de fotos e bibliografias. Por exemplo, RDF permite que você identifique pessoas num álbum de fotos na Web usando informação de uma lista de contatos pessoais; assim, o seu programa de correio poderia automaticamente disparar uma mensagem para essas pessoas dizendo que suas fotos estão disponíveis na Web. Assim como HTML integrou documentos, sistemas de menu e formulários para deslanchar a Web original, RDF integra aplicações e agentes numa Rede (Web) Semântica. Assim como as pessoas precisam concordar acerca do significado das palavras que utilizam para se comunicar, os computadores também necessitam pactuar o significado dos termos para poderem se comunicarem efetivamente. A descrição formal dos termos de uma certa área (comércio ou manufatura, por exemplo) são denominadas ontologias e são uma parte vital da Web Semântica. RDF, ontologias e a representação formal do significado, de modo que os computadores possam ajudar as pessoas em seus trabalhos, são todos tópicos em discussão no grupo Semantic Web Activity.

10. XML é livre de licenças, independente de plataforma e bem suportada

Ao basear um projeto em XML, você herda um vasto e crescente conjunto de ferramentas (uma das quais pode fazer exatamente o que você precisa!) e uma comunidade de engenheiros com experiência na tecnologia. Optar por XML é semelhante a escolher SQL para bancos de dados: você ainda tem que montar sua própria base de dados e os programas e rotinas para manipulá-la, mas há muitas ferramentas disponíveis e muita gente que pode ajudá-lo. E como XML é livre de licenças, você pode criar seu próprio software com ela sem ter que pagar nada a ninguém por isso. O vasto e crescente suporte significa que você não está preso a um simples fornecedor. XML não é sempre a melhor solução, mas vale sempre a pena considerá-la.

Criado em 27/03/1999 por Bert Bos
Traduzido em 19/03/2003 por Marcelo Jaccoud Amaral.

Anúncio da HMG 1.5 (build 59) - Tradução

Olá a Todos,

O setup da Harbour MiniGUI 1.5 Extended Edition (Build 59) está disponível na seguinte URL:

http://hmgextended.com/files/CONTRIB/hmg-1.5-59-setup.zip

e o da Lite build 59 (pelo FreeExtractor) na seguinte URL:
http://hmgextended.com/files/CONTRIB/hmg-1.5-59-setup-lite.zip

Este é o changelog para esse build below:2008/11/14: Build 59 (HMG 1.5 Extended Edition) Published.

* Novo: Comando SET AUTOADJUST ON OFF . Qando setado para ON, os tamanhos de controles e fontes são automaticamente ajustados no resize do form (default é OFF). Ele não opera em Windows Mdi Child e nem em Windows Virtual Dimensioned. Baseado num código emprestado da OOHG. Requesitado por Alfredo Franceschetti <franz@valgraveglia.net>.
Contribuição de Grigory Filatov <gfilatov@freemail.ru> (veja demo na pasta \samples\Basic\Color)
* Novo: Comando SET PROGRAMMATICCHANGE ON OFF . Quando setado para ON, a mudança programática do valor do controle irá executar a procedure OnChange para o Tab e Checkbox (default é ON). Requesitado por Adilson Urso <a.urso@uol.com.br>.
Contribuição de Grigory Filatov <gfilatov@freemail.ru>
* Fixado: DATEPICKER/TIMEPICKER com cláusula 'Field' tem um valor de propriedade inicial errado. Problema foi reportado por Robin D. Cain do fórum oficial da HMG.
Contribuição de Grigory Filatov <mailto:gfilatov@freemail.ru(veja demo na pasta \samples\Basic\DATA_BOUND)
* Atualizado: Limpeza de código para compatibilidade com Pelles C.
Contribuição de Eduardo Fernandes <modalsist@yahoo.com.br>
* Atualizado: HBPrinter library v.2.14 (veja fonte na pasta\source\HbPrinter):
- Fixado: GPF na C-function RR_DEVICECAPABILITIES() em alguns casos. Reportado por Jose Miguel <josemisu@yahoo.com.ar>. Baseado numa contribuição de código de V.Sadonin <sad@transbunker.ru>
- Novo: Comando GET ESCAPE STATUS TO para detectar se o usuário imprimiu o documento (somente após modo PREVIEW) Baseado num código contribuição de Joe Fanucchi <drjoe@meditrax.com>
* Atualizado: Código fonte da library HbSQLite3 (veja na pasta\Source\HbSQLite3):
- Atualizado para usar o SQLITE3 version 3.6.5
Contribuição de Grigory Filatov <gfilatov@freemail.ru> (veja demos nas pastas \samples\Advanced\SQLITE e \samples\Advanced\SQLITE_2)
* Atualizado: Adaptação da FiveWin Class TSBrowse 7.0 em HMG:
- Fixado: Iluminação da célula na mudança de coluna pelo método GoPos(). Reportado por Marcelo Giovane da Silva <drmarcelogiovane@yahoo.com.br>
* Atualizado: Harbour Compiler 1.1.0 dev (SVN 2008-11-12 23:28):
* Atualizado: Código fonte da HbSqlDD library (veja na pasta \Source\HbSqlDD).
Contribuição de Grigory Filatov <gfilatov@freemail.ru> (pesquise pelo ReadMe.txt na pasta \harbour)
* Atualizado: HMGS-IDE v.0.7.5. Project Manager e Two-Way Visual Form Designer.
Contribuição de Walter Formigoni <walter.formigoni@uol.com.br> (pesquise pelo changelog.txt na pasta \Ide)
* Novo: 'Google Directions' exemplo baseado num serviço do Google Maps em http://maps.google.com./
Contribuição de Roberto-CTBA <conexxus@yahoo.com.br> (veja na pasta \samples\Advanced\GoogleDirections)
* Atualizado: Exemplo ButtonEx ( caption em multilinha para botões standards).
Contribuição de Jacek Kubica <kubica@wssk.wroc.pl> (veja demo3.prg na pasta \samples\Basic\Buttonex)
* Atualizado: Exemplo 'Ftp Client' baseado na TIP library.
Contribuição de Walter Formigoni <walter.formigoni@uol.com.br> (veja na pasta \samples\Advanced\FtpClient)

Esta vesão da MiniGUI é considerada estável e pronta para uso em produção.

--Saudações, Grigory Filatov[MiniGUI Team]

--Tradução: Marcelo Brigatti

quinta-feira, 13 de novembro de 2008

Isso só não basta (Minigui/(x)Harbour)

Pessoal, dando continuidade ao objetivo de compartilhar conhecimentos, decidi criar uma nova seção de dicas /tutoriais do tipo O QUE É ?, PARA QUE SERVE ?, AONDE UTILIZAREI ISSO ?, com relação a algumas terminologias da área de TI que por vezes nos pegam desprevinidos.

Com isso estarei repassando noções sobre: XML, .Net, FrameWork, CSS, PHP, ASP, e o que mais for de interesse no âmbito de ligação com sistemas.

Desde já convido a todos amigos e colaboradores que quiserem enviar material a respeito desses tipos de conteúdo, façam-no para: sistemasies@gmail.com, manteremos os créditos dos respectivos autores.

Estarei publicando esses materiais (destinados a uma consulta rápida, observem, não se trata de cursos, somente orientação), simultâneamente neste blog e em meu site, no tópico, minigui/xharbour

Saudações a todos, aguardem para a semana vindoura já os primeiros trabalhos.

Marcelo Brigatti
IES - Informática e Sistemas