OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-dev message

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

Subject: Re: To get things started.... Data formats

On Thu, 31 May 2001, David Lyon wrote:

> Betty,
> > The @ and the $ are not valid name characters in XML so they cannot
> > be used in either element or attribute names.
> Yes they can. XML can be made to do anything you want with it. That's why
> it's called "extensible", because it can be extended.

@ and $ are not valid 'name' characters according to the W3C XML
specification and and ISO 8876, SGML standard (XML's parent standard).
In SGML you could extend the characters allowed in elements and
attributes by modifying the SGML declaration.  XML has a static
declaration.  In SGML you could do things like $elementname$ by
modifying the declaration. 

SGML was extensible also but to cumbersome for the web.  Vendors
had a very difficult time creating software to handle all the
functionality and deviations allowed.  One of the goals of XML
was to help developers the capability of developing interoperable
code and to be used over the web.

These are the valid names according to the W3C specification:

[4]    NameChar    ::=    Letter | Digit | '.' | '-' | '_' | ':' |
CombiningChar | Extender 
[5]    Name    ::=    (Letter | '_' | ':') (NameChar)* 
[6]    Names    ::=    Name (S Name)* 
[7]    Nmtoken    ::=    (NameChar)+ 
[8]    Nmtokens    ::=    Nmtoken (S Nmtoken)* 

> It's a flexible technology that is able to adapt to modern business needs.

True!  It isn't flexible on the naming conventions of elements, 
attributes and entities which are the building blocks of XML (both
DTD's and Schema's).

> If you think the technology is static, then you should remember that in the
> old days, people said that you couldn't sail too far out to sea or you'd
> fall off the end of the earth.

It may not be static but you still have to color within the lines!

> I do admit we are stretching the bounds of XML and make no apology for it.
> Actually the '$', '@', '#', '?' specifiers don't form part of the element
> name as you say they do. They simply denote the type of data that is stored
> so that the values can be safely read and converted to a different data-type
> if that is neccessary.

It is invalid and any valid parser will reject it which means that if
you cannot go outside the bounds of your world so therefore you
are making your XML non-extensible.

Standard tools will not work with non-standard XML.

There is a serious problem with using the '$'.  This signifys an
entity within a dataflow.  Any parser who sees the $ will be
looking for the closing delimiter ';', i.e., $myentity;.  If
you have <date$> it is going to confuse the parser beyond

> Hence, Transaction_Amount can be expressed either as
> Transaction_Amount&="34.56" (a string), or as Transaction_Amount$=34.56 (a
> currency field). They're both talking about the same data element, which is
> Transaction_Amount.

See above!  Can I suggest that you pick up James Clarks SP parser at
http://www.jclark.com and try running your code through it.  James
makes the best parser known to man and if it fails his parser it
isn't valid.

If you don't want to download his parser, it is a little hard to
understand, then just try running some of your code in IE 5.0.
IE 5.0 has a conforming and a validating parser.  If you don't
reference the DTD then it is a conforming parser.

> Thanks for your comments in any case.

Your welcome

Betty Harvey                         | Phone: 410-787-9200 FAX: 9830 
Electronic Commerce Connection, Inc. |        
harvey@eccnet.com                    | Washington,DC SGML/XML Users Grp
URL:  http://www.eccnet.com          | http://www.eccnet.com/xmlug/

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

Search: Match: Sort by:
Words: | Help

Powered by eList eXpress LLC