XML - eXtensible Markup Language

Descri��o & Validação de XML

W3C XML Schema Definition (XSD)

DTD - Document Type Definition

RELAX NG

  • RELAX NG - OASIS Technical Comitee (TC)
    A especifica��o de RELAX NG � desenvolvida pelo OASIS RELAX NG TC, avan�ando uma linguagem de esquema XML leve e f�cil de usar.
  • RELAX NG
    RELAX NG � o nome da unifica��o de duas linguagens de esquema XML: RELAX core e TREX.
  • RELAX (Regular Language description for XML)
    ISO/IEC DTR 22250-1, Document Description and Processing Languages — Regular Language Description for XML (RELAX) — Part 1: RELAX Core, 2000 October. Approved in May 2001 as an ISO/IEC Technical Report.
    If you are new to RELAX, please consider RELAX NG of OASIS. RELAX NG is a schema language created by unifying RELAX Core and TREX.
  • TREX - Tree Regular Expressions for XML
    TREX has been merged with RELAX to create RELAX NG. Todo desenvolvimento futuro de TREX ter� lugar como parte do esfor�o RELAX NG.

Valida��o XML

Convers�o de XML Schema

  • Trang
    Multi-format schema converter based on RELAX NG. By Thai Open Source Software Center, written in Java. Trang converts between different schema languages for XML. It supports the following languages: RELAX NG (XML syntax), RELAX NG compact syntax, XML 1.0 DTDs, W3C XML Schema.
  • dtd2xs
    dtd2xs is a free tool to convert dtd files into XML Schema. Licensed as GPL by LuMriX.

Estilo & Transformação de XML - XSL, XSLT, XSL-FO

Resource Description Framework (RDF)

RSS & Atom

RSS pode significar "Rich Site Summary", "RDF Site Summary", "Really Simple Syndication", ou outros, dependendo do seu ponto de vista. As duas principais variantes são um especificação baseada em RDF (RSS versão 0.9, 1.0) e uma especificação de um dialeto XML não-RDF (RSS versões 0.91, 0.92, 0.93, 0.94, 2.0). RSS versão 1.0, RDF Site Summary (RSS), é um formato de descrição e syndication de metadados, simplificado, multi-uso e extensível. RSS 1.0 é uma aplicação XML, em conformidade com a Especificação RDF do W3C e é extensível via XML-namespace e/ou modularização baseada em RDF.

Web Services (WS), WSDL, SOAP, UDDI



APIs para XML

  • W3C Document Object Model (DOM)
    O Modelo de Objetos para Documentos (DOM) do W3C é uma Interface de Programação (API) padrão para a estrutura de documentos. DOM é uma API genérica baseada em árvore para XML. Veja: "Qual a relação entre DOM e SAX?" (FAQ).
    DOM Frequently Asked Questions (FAQ).
  • SAX Project
    Este é o website oficial para SAX. Ele substitui a página de SAX original de David Megginson. SAX é a Simple API for XML (interface de programação/API simples para XML), sendo originalmente uma API somente para Java. SAX foi a primeira API amplamente adotada para XML em Java, e é um padrão "de facto". Hoje existem versões de SAX para diversas linguagens e ambientes de programação além de Java.
  • The Expat XML Parser
    Expat é um parser XML portável escrito em C, por James Clark. Ele objetiva ser totalmente conformante com XML 1.0, incluindo suporte para processamento de DTDs externos e entidades de parâmetro. Expat é usado como mecanismo base de processamento XML em APIs XML de várias linguagens, como C++, Tcl, Python, Perl, PHP, Eiffel, Ruby. Expat é Software Open Source livremente disponível com código-fonte sob a MIT Licence.
  • VTD-XML
    VTD-XML is a suite of innovative XML processing technologies centered around a non-extractive XML parsing technique called Virtual Token Descriptor (VTD). Depending on the perspective, VTD-XML can be viewed as one of the following: An XML parser; A native XML indexer or a file format that uses binary data to enhance the text XML; An incremental XML content modifier; An XML slicer/splitter/assembler; An XML editor/eraser; A way to port XML processing on chip. VTD-XML is ideally suited for building SOA applications. It is memory-efficient, very fast XML processor, general-purpose true native XML indexer, and incremental-update (cut, paste, split, assembe) capable XML parser. VTD-XML is free software released under GPL, available in C, C# and Java.
    VTD-XML Blog.

Java

C / C++

  • Apache XML Project
    Apache XML Project objetiva soluções de qualidade comercial baseadas em padrões XML, desenvolvidas de forma aberta e cooperativa, bem como prover feedback às entidades de padronização (como IETF e W3C) sob uma perspectiva de implementação.
    Xerces: parsers XML em Java e C++ (mais Perl e COM), suporta as APIs padrão: Java API for XML Processing (JAXP), Document Object Model (DOM), Simple API for XML (SAX); além da interna Xerces Native Interface (XNI).
    Xalan: processadores de folhas de estilo XSL em Java & C++.
  • libxml - The XML C parser and toolkit of Gnome
    Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), it is free software available under the MIT License. Libxml2 is known to be very portable, the library should build and work on a variety of systems (Linux, Unix, Windows, CygWin, MacOS, MacOS X, OS/2, VMS, QNX, MVS etc.). Libxml2 implements a number of existing standards related to markup languages: XML, XML Namespaces, XML Base, URI (RFC 2396), XPath, HTML4, XPointer, XInclude, ISO-8859-x encodings, Relax NG, W3C XML Schemas Datatypes, xml:id.
  • Gnome DOM Engine - libgdome (gdome2)
    Libgdome is the DOM C library developped for the Gnome project. Libgdome is a DOM Level 2 implementation, written in C and released under GNU LGPL.
    Maintained by Paolo Casarini. Libgdome is based on LibXML2.
  • GMetaDOM
    GMetaDOM: A Collection of DOM Implementations, by Luca Padovani and Claudio Sacerdoti Coen. SourceForge Project.
    GMetaDOM is a collection of librares, each library providing a DOM implementation. Currently available bindings are for C++ (smart pointers) and Objective Caml.

PHP

Perl

  • XMLperl
  • Livro: Perl & XML (216 pp.)
    Autores: Erik T. Ray, Jason McIntosh
    Publisher: O'Reilly Media, Abril 2002
    ISBN: 0-596-00205-X.
  • CPAN Modules - XML
    By CPAN.
    XML::DOM, XML::LibXML, XML::GDOME, XML::Xerces, XML::Simple, DBI DBD::AnyData XML, MSXML via Win32::OLE.
  • XML-GDOME: Level 2 DOM for Perl
    By T.J. Mather. XML::GDOME is a perl module that provides the DOM Level 2 Core API for accessing XML documents. It provides a XS wrapper around the gdome2 library. XML::GDOME is fast, but primarily robust, since it uses the memory management functions of libgdome.

Python

Ruby

  • <rubyXML/>
    News and information about XML and the Ruby programming language. Ruby XML Applications.
  • REXML
    REXML is a conformant XML processor for the Ruby programming language. REXML passes 100% of the Oasis non-validating tests and includes full XPath support. It is reasonably fast, and is implemented in pure Ruby. REXML has a clean, intuitive API and is included in the standard library of Ruby. This software is distribute under the Ruby license.
  • Libxml-Ruby
    The Libxml-Ruby project provides Ruby language bindings for the GNOME Libxml2 XML toolkit. It is free software, released under the MIT License. Libxml-ruby's primary advantage over REXML is performance.
  • SOAP4R
    SOAP4R is an implementation of SOAP 1.1 for Ruby. By Hiroshi Nakamura, a.k.a. NaHi. Released under Ruby License.
    SOAP4R Documentation.
    RAA - soap4r at RAA - Ruby Application Archive.