LevSelector.com New York
home > XML / XSL
On this page:
<XML> * main_sites
* xml_tools
* xsl
* xslt
* saxon
* schema & DTD
* java
* xalan
* soap
* books
* more_links
Main Sites home - top of the page -

XML (eXtensible Markup Language) is a good way to send data between servers (as well as to store it for future use and maintenance).  Read those:
* java.sun.com/xml/docs/tutorial/overview/1_xml.html - Quick Intro to XML
* java.sun.com/xml - Java and XML
* www.w3.org/XML - World Wide Web Consortium's docs
* msdn.microsoft.com/xml/c-frame.htm#/xml/default.asp - MS XML Page
* wdvl.internet.com/Authoring/Languages/XML - Web Developer's Virtual Library - XML
* www.whatis.com - search for XML
* www.zdnet.com/anchordesk/story/story_4403.html - article "Get Off Your Big, Fat [Beep] and Use XML Now"
* xml.com - XML from the inside out.
* xmlhack.com -
* www.xml.org -
* zvon.vscht.cz/HTMLonly/XSLTutorial/Books/Book1/bookInOne.html this is XSL (XML) tutorial
* www.ibm.com/developer/xml/ - IBM - developer XML
* xml.apache.org/ - Xerces - XML parsers in Java, C++ (with Perl and COM bindings)
* www.jclark.com - James Clark's Home Page
* www.XMLArena.com - Hundreds of XML-related tools (Applications, Authoring Tools, B2B, Content Management, Converters, Database Utilities, Development Tools, Fundamental Components, Publishing Tools, Solutions, and tools relating to Web Infrastructure).
* http://axkit.org/ - xKit is an XML Application Server for Apache. It provides on-the-fly conversion from XML to any format, such as HTML, WAP or text using either W3C standard techniques, or flexible custom code. AxKit also uses a built-in Perl interpreter to provide some amazingly powerful techniques for XML transformation.

 
XML tools - Parsers, Processors, Frameworks, etc. home - top of the page -

XML Tools:
* www.xmlspy.com - XML Spy - IDE (Integrated Development Environment) for XML (including XSL, DTD / XML Schema)
* www.extensibility.com/tibco/solutions/xml_authority/ - use XML Authority to look after DTDs (Or schema).
* msdn.microsoft.com/xml/NOTEPAD/intro.asp - Microsoft XML Notepad
* www.breezefactor.com - Breeze XML Studio is an XML development tool that generates Java classes to do parsing, validation and loading of XML documents.
* xmlsoftware.com - listing of XML products
* alphaworks.ibm.com/ - IBM tools
* www.ultraedit.com - UltraEdit -or any similarly good text editor
* www.w3.org/People/Raggett/tidy/ - Clean up your Web pages with HTML TIDY
* https://sourceforge.net/projects/Leo/, * http://personalpages.tds.net/~edream/front.html - LEO
   ( * http://www.literateprogramming.com/ - Literate Programming)
* www.exceloncorp.com/ - B2B XML-based integration

XML Frameworks: (suites of tools)
* xml.apache.org - Apache Cocoon
* www.enhydra.org - Enhydra Application Server
* www.bluestone.com/xml - Bluestone XML Server
*users.iclway.co.uk/mhkay/saxon - Michael Kay's SAXON

SAX vs DOM:

SAX - the Simple API for XML, which is now the most widely used streaming API for XML and has been implemented in products by IBM, Oracle, Apache, and Sun, along with many others. Project was led by David Megginson.
* http://www.megginson.com/SAX/ - home for SAX
DOM - (Document Object Model) - an API for parsing XML documents into trees - and accessing those trees.

XML Parses:
* www.perl.com/CPAN-local/modules/by-module/XML/ - Perl XML modules
* www.xmltwig.cx ( mirror: www.xmltwig.com ) - XML::Twig - best way to process big XML files (combination of SAX & DOM)
* www.xml.com/pub/Benchmark/exec.html - Summary of XML Parser Performance Testing for Linux
* xml.apache.org - Apache Xercers
* alphaworks.ibm.com/tech/xml4j/ - IBM XML4J
* www.jclark.com/xml/xp - James Clark's
* www.openxml.org - OpenXML
* technet.oracle.com/tech/xml - Oracle XML Parser
* java.sun.com/products/xml - Sun Microsystems Project X
* www.textuality.com/Lark - Bray's Lark and Larval
* java.sun.com/xml/download.html - The java API for XML Processing (JAXP) (read here)
* ???? - W3C Parser

XML Processors: (to do XSLT transformations)
* xml.apache.org - Apache Xalan
* www.jclark.com/xml/xt.html - James Clark's
* alphaworks.ibm.com/tech/LotusXSL - IBM - Lotus XSL Processor
* technet.oracle.com/tech/xml - Oracle XSL Processor
* www.clc-marketing.com/xslp - Keith Visco's XSL:P
* users.iclway.co.uk/mhkay/saxon - Michael Kay's SAXON

 
XSL home - top of the page -
XSL:
(Extensible Stylesheet Language, formerly called Extensible Style Language) is a language for creating a style sheet that describes how data sent over the Web using the Extensible Markup Language (XML) is to be presented to the user.
* www.oasis-open.org/cover/xsl.html -
* msdn.microsoft.com/code/welcome.asp - codes samples from Microsoft
* msdn.microsoft.com/library/periodic/period00/xml0500.htm - (local copy) - XML Files - article

 
XSLT home - top of the page -
XSLT (Extensible Stylesheet Language Transformation) - process of merging together XML and XSL:
* www.jserv.com/jk_orr/xslt - Joe Orr's page on XSLT (see also www.screenbooks.net/jorr/js/ )
* msdn.microsoft.com/msdnmag/issues/0800/XSLT/XSLT.asp - (local copy) - table of xslt instructions
* www.ora.com/catalog/orxmlapp/chapter/ch07.html (local copy) - Chapter 7 "Transforming XML with XSLT" from O'Reilly book "Building Oracle XML Applications" by Steve Muench
* www.skonnard.com/default.asp - aaron skonnard's site (and his personal site - * staff.develop.com/aarons/)
* www.xml.com/pub/2000/08/holman/ - What is XSLT by G. Ken Holman (online book)
* www.xml.com/pub/2000/08/holman/s2_1.html#get-start - getting starting
* www.xslt.com - XSLT

 
SAXON home - top of the page -

SAXON package is a collection of tools for processing XML documents. It has XSLT processor with a number of powerful extensions, a Java library, and a slightly improved version of the Ælfred parser from Microstar.
* www.opentext.com/microstar - Microstar
*users.iclway.co.uk/mhkay/saxon - SAXON
* users.iclway.co.uk/mhkay/saxon/instant-saxon.zip - get instant saxon executable (and put it anywhere in the path)

 
Schema & DTD home - top of the page -

* www.oasis-open.org/cover/schemas.html - different schema proposals
* www.oasis-open.org/cover/sox.html -
* www.w3.org/TR/NOTE-SOX/ -

 
Java home - top of the page -

* xml.apache.org/ - Xerces - XML parsers in Java (also C++, with Perl and COM bindings).
    - Xerces - XML parsers in Java, C++ (with Perl and COM bindings)
    - Xalan - XSLT stylesheet processors, in Java and C++
    - Cocoon - XML-based web publishing, in Java (including HTML, PDF, WML, XML)
    - FOP - XSL formatting objects, in Java
    - Xang - Rapid development of dynamic server pages, in JavaScript
    - SOAP - Simple Object Access Protocol

* www.jdom.org/ - convenient DOM parser

* java.sun.com/xml/docs/tutorial/TOC.html - Sun - Working with XML (from Java)
* staff.plugged.net.au/dwood/xmlc/index.html - XMLC is a Java-based compiler that takes HTML or XML and creates Java classes that will faithfully recreate the document. The resulting Java classes can be used to insert dynamic content into the document framework at run time. XMLC, therefore, is a wonderful way to create dynamic HTML or XML documents from Java.
* www.enhydra.org - Enhydra is an Java Application Server. It is open source project. It uses XML (XMLC - compiler) for complete separation of presentation and business logic.
* ProjectX - Sun's XML parser (compare with Apache (Xerces) and IBM (XML4J))  -
* www.ibm.com/developer/xml/ - IBM - developer XML

 
XALAN (Apache) home - top of the page -
Xalan (pronounced "Zeilon") is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. Xalan-Java version 1.2.D02 represents a complete and robust reference implementation of the W3C Recommendations for XSL Transformations (XSLT) and the XML Path Language (XPath). Xalan can be used from the command line, in an applet or a servlet, or as a module in other program. By default, it uses the Xerces XML parser, but it can interface to any XML parser that conforms to the DOM level 2 or SAX level 1 specification.
* xml.apache.org/xalan/index.html- XALAN

 
SOAP home - top of the page -

SOAP (Simple Object Access Protocol):
  - defines an RPC mechanism
  - using XML documents for encoding of invocation requests and responses
  - using HTTP as the base transport

* www.develop.com/soap/

Example of call and response using SOAP:
 
POST /StockQuote HTTP/1.1 
Host: www.stockquoteserver.com
Content-Type: text/xml
Content-Length: nnnn
SOAPMethodName: Some-Namespace-URI#GetLastTradePrice

<SOAP:Envelope xmlns:SOAP="urn:schemas-xmlsoap-org:soap.v1">
  <SOAP:Body>
    <m:GetLastTradePrice xmlns:m="Some-Namespace-URI">
      <symbol>DIS</symbol>
    </m:GetLastTradePrice>
  </SOAP:Body>
</SOAP:Envelope>
==============================================================
HTTP/1.1 200 OK
Content-Type: text/xml
Content-Length: nnnn

<SOAP:Envelope xmlns:SOAP="urn:schemas-xmlsoap-org:soap.v1">
  <SOAP:Body>
    <m:GetLastTradePriceResponse xmlns:m="Some-Namespace-URI">
      <return>34.5</return>
    </m:GetLastTradePriceResponse>
  </SOAP:Body>
</SOAP:Envelope>

* www.perl.com/pub/2001/01/soap.html - Quick Start with SOAP (Perl)
* http://www.perl.com/pub/2001/04/24/soap.html - Quick Start with SOAP (Perl) part 2.

* www.xml.com/pub/2000/02/09/feature - DevelopMentor, Microsoft, and UserLand Software submitted SOAP to the IETF as an Internet Draft in December 1999.
* backend.userland.com -
* www.xml-rpc.com - XML-RPC (Remote Procedure Calling via XML)
* www.w3.org/XML/1999/XML-in-10-points
* www.xml-zone.com - good site for XML

 
BOOKS home - top of the page -

Books:
 
* Java and XML (O'Reilly Java Tools) by Brett McLaughlin, Mike Loukides
* XSLT Programmer's Reference - Michael Kay, April 2001 (2nd Edition, Wrox Press) 
* Professional XML  ( Wrox Press )
* XML and Java: Developing Web Applications by H.Maruyama, K.Tamura, N.Uramoto
* Professional Java Server Programming: with Servlets, JavaServer Pages (JSP), XML, Enterprise JavaBeans (EJB), JNDI, CORBA, Jini and Javaspaces  ( Wrox Press )
* Building Oracle XML Applications by Steve Muench (O'Reilly) - very good

 
More Links: home - top of the page -

* www.xml.com/pub/98/10/guide1.html - XML guide
* www.w3.org/TR/REC-xml - XML - Extensible Markup Language (XML) 1.0 Specification
* www.w3.org/TR/REC-xml-names/ - Namespaces in XML
* www.w3.org/TR/xml-infoset - XML Information Set
* www.w3.org/TR/WD-xptr  - XPointer - XML Pointer Language (XPointer), the language to be used as the basis for a fragment identifier for any URI reference that locates a resource of Internet media type text/xml or application/xml. XPointer, which is based on the XML Path Language (XPath), supports addressing into the internal structures of XML documents. It allows for examination of a hierarchical document structure and choice of its internal parts based on various properties, such as element types, attribute values, character content, and relative position.
* www.w3.org/TR/xlink/ - XLink - XML Linking Language (XLink), which allows elements to be inserted into XML documents in order to create and describe links between resources. It uses XML syntax to create structures that can describe the simple unidirectional hyperlinks of today's HTML, as well as more sophisticated links.
* www.w3.org/Style/XSL/ - XSL - Extensible Stylesheet Language
* www.w3.org/TR/xsl/  - XSL - Extensible Stylesheet Language
* www.w3.org/TR/xslt - XSLT - a language for transforming XML documents into other XML documents
* www.w3.org/TR/xpath - XPath - XML Path Language (XPath) - XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer.
* www.w3.org/XML/Schema.html - XML Schemas express shared vocabularies and allow machines to carry out rules made by people. They provide a means for defining the structure, content and semantics of XML documents.
* www-4.ibm.com/software/developer/library/soap/soapv11.html - SOAP: Simple Object Access Protocol
* cxml.org  - cXML - Commerce XML Resources
* www.biztalk.org  - BizTalk is an industry initiative (started by Microsoft). It is a community of users, with the goal of driving the rapid, consistent adoption of XML to enable electronic commerce and application integration, to define a set of guidelines for how to publish schemas in XML and how to use XML messages to easily integrate software programs together in order to build rich new solutions.
* www.Rosettanet.org - RosettaNet - common electronic business interfaces
* www.xml-rpc.com  - XML-RPC - Remote Procedure Call over the Internet (HTTP), code in XML.
* www.idealliance.org/ice/ - ICE current (The Information and Content Exchange (ICE) Protocol) - for online networked relationships (publishing networks, web superstores, and online reseller channels.
* www.w3.org/TR/NOTE-ice.html - ICE (The Information and Content Exchange (ICE) Protocol)
* internetalchemy.org/ocs/- OCS - Open Content Syndication (OCS) is an application of XML. The OCS Directory format is designed to enable channel listings to be constructed for use by portal sites, client based headline software and other similar applications.
* www.w3.org/TR/REC-rdf-syntax/ - RDF (Resource Description Framework) Model and Syntax Specification -  is a foundation for processing metadata; it provides interoperability between applications on the web. RDF can be used, for example : in resource discovery to provide better search engine capabilities, in cataloging for describing the content and content relationships available at a particular Web site, page, or digital library, by intelligent software agents to facilitate knowledge sharing and exchange, in content rating, in describing collections of pages that represent a single logical "document", for describing intellectual property rights of Web pages, and for expressing the privacy preferences of a user as well as the privacy policies of a Web site. RDF with digital signatures will be key to building the "Web of Trust" for electronic commerce, collaboration, and other applications.




 
Perl & XML: home - top of the page -

- http://aspn.activestate.com/ASPN/Mail/Browse/Threaded/perl-xml - perl-xml mailing list
- http://www.xmlperl.com - site devoted to Perl/XML
- http://www.oreilly.com/catalog/perlxml - book
 
 
use XML::Simple;  # 2 methods - XMLin( ), XMLout( )
my $cust_xml = XMLin('/customers.xml', forcearray=>1);
print XMLout($cust_xml);