XML - eXtensible Markup Language

XML Description & Validation

W3C XML Schema Definition (XSD)

DTD - Document Type Definition

RELAX NG

  • RELAX NG - OASIS Technical Comitee (TC)
    The specification for RELAX NG is developed by the OASIS RELAX NG TC, advancing a lightweight, easy-to-use XML schema language.
  • RELAX NG
    RELAX NG is the name for the unification of two XML schema languages: RELAX core and 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. All future development of TREX will take place as part of the RELAX NG effort.

XML Validation

XML Schema Conversion

  • 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.

XML Style & Transformation - XSL, XSLT, XSL-FO

Resource Description Framework (RDF)

RSS & Atom

RSS might stand for "Rich Site Summary", "RDF Site Summary", "Really Simple Syndication", or something else, depending upon your point of view. The two major variants include an RDF-based specification (RSS version 0.9, 1.0) and a non-RDF XML specification (RSS versions 0.91, 0.92, 0.93, 0.94, 2.0). RSS 1.0 version, RDF Site Summary (RSS), is a lightweight multipurpose extensible metadata description and syndication format. RSS 1.0 is an XML application, conforms to the W3C's RDF Specification and is extensible via XML-namespace and/or RDF based modularization.

Web Services (WS), WSDL, SOAP, UDDI



APIs para XML

  • W3C Document Object Model (DOM)
    W3C's Document Object Model (DOM) is a standard Application Programming Interface (API) to the structure of documents. DOM is a generic tree-based API for XML. See: "What is the relationship between the DOM and SAX?" (FAQ).
    DOM Frequently Asked Questions (FAQ).
  • SAX Project
    This is the official website for SAX. It replaces David Megginson's original SAX page. SAX is the Simple API for XML, originally a Java-only API. SAX was the first widely adopted API for XML in Java, and is a "de facto" standard. Currently there are SAX versions for several programming language environments other than Java.
  • The Expat XML Parser
    Expat is a portable XML parser written in C, by James Clark. It aims to be fully conforming with XML 1.0, including support for parsing external DTDs and parameter entities. Expat is Open Source Software freely available with source under the MIT License.
  • 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.)
    Authors: Erik T. Ray, Jason McIntosh
    Publisher: O'Reilly Media, April 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.