Re: Developer story: Foreign data types (example with HTML)

Aaron Optimizer Digulla <[email protected]> Sat, 16 Aug 2003 12:18:45 +0200
Newsgroups gmane.comp.programming.pragmatic
Message-ID <[email protected]>
On Mon, Aug 11, 2003 at 04:20:39PM -0400, Aryeh M. Friedman wrote:

> > The syntax extension should allow to change sematics without
> > any additional keywords. For example, when I have an XML file
> > which contain information about items in stock:
> > 
> >     <root>
> > 	<item>
> > 	    <name>CD-RW</name>
> > 	    <count>5</count>
> > 	<item>
> >     </root>
> 
> 	I was just looking at the specs for that app I mentioned as being the
> first real app for Pragmatic and it will require a lot of XML work, among several
> other paradigms and meta-paradigms, so when we get to the point where we start writing
> the first set of meta-paradigms one of the first ones will be XML thing... since I personally
> know *VERY* little about XML except it is a meta-ML language willing to help write that stuff
> so it will be almost identical to this story?

I don't know that much about the inner workings of XML myself but I'd gladly help
and answer all your questions and, provided that Pragmatic will compile and
run on a linux box, I could even write some code.

I won't make any big promises, though because my time is limited and I have
to choose on what I spend it. If Pragmatic turns out to be a great
language, however, you will find that I'm a very enthusiastic
programmer who can write a lot of high-quality code in very little
time :-)

Just to give you an idea about XML: XML is just a name for a host of
different techniques. There are:

- The XML standard which defines the basic structure of XML documents,
  encodings, etc.

- XSLT which defines how to transform XML to XML, HTML and Text (where
  Text actually is a binary form; you can directly convert XML->PDF
  if you want to).

- XPath is a definition how to select elements in an XML document
  (children, parents, siblings, previous and following, elements
  with certain attributes, etc).

- XInclude to include all or parts of other XML documents

- XPointer which is like HTML-Links for XML.

- CSS which tells how format XML documents for displaying
  (this is exactly the same as HTML CSS: Same syntax,
  everything)

- Schema to define the structure of XML documents. A Schema
  is again an XML document with a well-defined structure.
  This is the successor of the old DTD (Document Type
  Definitions).

- SAX and DOM which are two ways to process XML documents.
  SAX is a tokenizer while DOM is something which returns
  a parse tree. Both have well-defined APIs which means that
  there are a lot of implementations which use exactly the
  same names, types and sematics making it more simple to
  exchange data (This is one of the reasons why so many
  programs which read XML use a plugin to actually do it
  and why you can usually simply switch plugins).

As a good reference, I recommend "Essential XML Quick Reference" by
Aaron Skonnard and Martin Gudgin because it contains a good
overview about *all* basic XML standards (except CSS).
ISBN 0-201-74095-8, Addison Wesley

As for a good book to learn XML, I've learned it from the
Internet, so I don't know :-) I've seen a few books on XML
but most didn't answer my questions quickly enough, so I gave up
on them. 

-- 
==============================================
Sowatec AG,       CH-8330 Pfäffikon (ZH)
Witzbergstr. 7,   http://www.sowatec.com
Tel: +41-(0)1-952 55 55
Fax: +41-(0)1-952 55 66
----------------------------------------------
Aaron "Optimizer" Digulla, [email protected]
==============================================

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
Printer at Myinks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/W4wwlB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
pragmatic_lang-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/