XML GI

The Extensible Markup Language (XML) Generic Identifier (GI) – it is the syntax used for naming elements in XML; more generally XML names orbit around the issue of naming elements and attribures in an XML format. I have a few thoughts on the issue.

There are many variations one might consider when choosing XML names for concepts, for example

1 – salesperson
2 – SALESPERSON
3 – salesPerson
4 – SalesPerson
5 – SALES_PERSON (W3C P3P)
6 – sales_person
7 – Sales_Person
8 – sales_Person
9 – sales-person (W3C XSLT, W3C P3P)
10 – sales.person (OMG XMI)
11 – Sales.Person (MS XAML)
12 – etc

The primary concern I have when choosing XML names are

1 – consistency; names should follow a pattern
2 – meaningfulness; names match concepts
3 – readability; names should be very readable
4 – simplicity; names should be fairly simple

The Resource Description Framework is a good example of consistency and meaningfulness where name casing follows either Classes or properties, e.g.

<Person>
  <name>…</name>
  <friends>
    <Person>
      …
    </Person>
  </friends>
</Person>

It is easy to distinguish between classes and properties here. [I should note that the above is not RDF per se, it is just an RDF compatible fragment. RDF also doesn’t force you to use a certain casing, but the RDF schemas follow the pattern of upper-case names for classes and lower-case names for properties, such as the above.]

The first-name naming convention is also very readable, perhaps except it looks like subtraction. But Pascal camel case and the XSLT naming conventions are my favourites, I think.

Advertisements

About xosfaere

Software Developer
This entry was posted in Uncategorized and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s