Altova Mailing List Archives


[xml-dev] RE: When you create a markup language, what do your parent

From: "Cox, Bruce" <Bruce.Cox@-----.--->
To: "Costello, Roger L." <costello@-----.--->, "xml-dev@-----.---.---"
Date: 9/28/2011 8:02:00 PM
Seems to me, they mean whatever the business they model needs them to mean.  The terms "parent" and "child" are a convenient metaphor describing an abstraction that can model many different relationships, including (literally) parent-child, object-property, organism-organ, machine-component, heading-subheading, continent-subcontinent, molecule-atom, antecedent-consequent, husband-wife, genus-species, list-list item, state-county, congress-congress one, employer-employee, boss-subordinate, teacher-student, class-roster, set-members, galaxy-solar system, solar system-planets, planet-satellites, creator-creation, premises-conclusion, inventor-invention, and many other relationships.

I could be wrong, Roger, but it seems to me that the XSLT fragment specifies an operation, which when executed, defines a set by selecting its members.  Saying that it "defines a truth" seems a bit of a stretch, in the sense that the membership of the set will vary with the instances to which the fragment is applied.  The set could end up empty, in which case the statement "For each cost element, c, c is greater than 0" would not be true.  For XSLT, I'd say the parent-child terms are operation-output, which is always true since it includes the case where the output is null.

Bruce B Cox
Director, Usability and Design Division, OCIO, USPTO

-----Original Message-----
From: Costello, Roger L. [mailto:costello@m...] 
Sent: 2011 September 26, Monday 08:54
To: xml-dev@l...
Subject: When you create a markup language, what do your parent elements mean? What do your children elements mean?

Hi Folks,

How do you define a parent element and its children?

The Geography Markup Language (GML) defines a parent element as corresponding to a real-world object and its children as properties of the real-world object. Thus, parent-child means object-property. For example, a Bridge is a real-world object and thus is the name of the parent element. Total-length, width, and crosses are properties of Bridge and thus are the names of its children:

<?xml version="1.0" encoding="UTF-8"?>
<Bridge>
    <total-length>_____</total-length>
    <width>_____</width>
    <crosses>_____</crosses>
</Bridge>

All GML applications treat a parent element as an object and its children as properties of the object.

GML takes an Object-Oriented perspective on the meaning of markup.

(The following discussion on XSLT may be stated better and/or more accurately; I invite your revision) 

XSLT takes a different perspective. XSLT takes the perspective that markup is a definition. For example, the following XSLT makes this definition: "For each cost element, c, c is greater than 0":

<xsl:for-each select="//cost">
    <xsl:variable name="c" select="xs:integer(.)" />
    <xsl:value-of select="c &gt; 0" />
</xsl:for-each> 

Each XSLT processor treats the for-each parent element as an expression of a truth (specified by its children) over the range of values indicated in the select attribute.

XSLT takes a Functional perspective on the meaning of markup.

Recap: here are two ways of defining the meaning of markup:

1. Object-property
2. Functional definition

What other ways are there? 

When you create a markup language, what do your parent elements mean? What do your children elements mean?

/Roger

Disclaimer

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.