XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Many different syntaxes in XML - is that good language design?

> Phew! That is a lot of different syntaxes.

>   Is that good language design to have so many different syntaxes?

>   Dealing with lots of different syntaxes is hard. 

In 2008 I implemented a generic LR-1 parser in XSLT. It uses the XML representation of a set of parsing tables for a given LR-1 grammar. The parsing tables are generated by YACC (with a function I added to YACC's output generator).
The lexer also would use a set of monstrous-looking RegEx expressions for the terminal symbols of the specific language.

So any complaints of having to deal with a few languages that we know about in advance, fade in comparison with this LR-1 parser, written in XSLT, which (the XSLT) is actually an XML document, that uses the parsing tables of any possible (and unknown in advance) LR-1 languages and itself generates an abstract tree (in XML, of course), representing the parse.

For the case when the language to be parsed happens to be XPath 2.0:

https://github.com/dnovatchev/FXSL-XSLT2/blob/master/newWork/func-lrParse.xsl

https://github.com/dnovatchev/FXSL-XSLT2/blob/master/newWork/XPATH-Grammar.y

https://github.com/dnovatchev/FXSL-XSLT2/blob/master/newWork/XPATH-ParseTables.xml

https://github.com/dnovatchev/FXSL-XSLT2/blob/master/newWork/XPathParse1.xsl

And this is example of invoking this parser to parse one (the first) of many possible  XPath expressions contained in this transformation:

https://github.com/dnovatchev/FXSL-XSLT2/blob/master/newWork/XPathParse1.xsl

Just invoke this transformation on any XML document (not used) such as <t />



Cheers,
Dimitre
 

On Mon, Mar 7, 2022 at 4:14 AM Roger L Costello <costello@mitre.org> wrote:
Hi Folks,

There are many different syntaxes in XML:

The comment syntax:  <!-- ... -->

The PI syntax:  <? ... ?>

The CDATA section syntax:  <![CDATA[ ... ]>

The DOCTYPE syntax:  <!DOCTYPE ... >

The entity syntaxes:  &amp;  and &#x020; and &#032;

The namespace syntax:  xmlns:foo="..." and <foo:bar>...</foo:bar>

Attribute/value syntax:  x="blah"

The start-tag/end-tag syntax:

<baz>
   <widget>...</widget>
</baz>

Phew! That is a lot of different syntaxes.

Is that good language design to have so many different syntaxes?

Dealing with lots of different syntaxes is hard. For example, I never remember the syntax for CDATA sections (in fact, I had to look it up just now).

Isn't it better language design to have a small number of syntaxes?

/Roger

_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php



--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what you're doing is work or play
-------------------------------------
To achieve the impossible dream, try going to sleep.
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
Typing monkeys will write all Shakespeare's works in 200yrs.Will they write all patents, too? :)
-------------------------------------
Sanity is madness put to good use.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.
 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS