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] What is the meaning of the first child elementfor an element that is repeatable?

I just found this in my spam folder!
That says Book contains one or more Title elements. It says nothing about ordering the <Title> elements. It does not say that the primary title must always be the first child <Title> element of <Book>.

It seems to me that there is a risk with creating applications which assume the first child <Title> element of <Book> is the primary author. Do you agree that there is a risk?

Yes, there may be a risk.  The risk is that a schema doesn't incorporate business rules, nor does it document semantic meaning.

Schematron may be able to check business rules to mitigate similar risks, but in cases like this will probably only be useful to provide some human reader an easy spot check.
To avoid the risk, do you add additional information to explicitly indicate which <Title> element holds the primary title? E.g.,

<Book>
<Title primary="true">Draft No. 4</Title>
<Title>On the Writing of Prose</Title>
</Book>

Or is that being excessively cautious?

If you have that option (control of the data model), it seems like a good start, if only because it might force someone to *think* about which is the primary title at some point, hopefully early in the workflow.  But it still won't help you tell that 'On the Writing of Prose' is more likely to be a primary title than 'Draft No. 4', or ensure that whoever captures the XML doesn't just stick the attribute on the first title child...

T

_________________
Tomos Hillman
eXpertML Ltd
+44 7793 242058
On 12 Oct 2020, 17:43 +0100, Roger L Costello <costello@mitre.org>, wrote:
Hi Folks,

A specification says that a book has one or more titles. Here is an example of how the developers implemented the specification:

<Book>
<Title>Draft No. 4</Title>
<Title>On the Writing of Prose</Title>
</Book>

The specification says that the first title is the primary title.

To obtain the primary title, the developers created an application that queries the <Book> element for the first child <Title> element. For the example, this <Title> element is fetched:

<Title>Draft No. 4</Title>

Do you agree with the developer's approach to obtaining the primary title?

The developers implemented the XML Schema this way:

<element name="Book">
<complexType>
<sequence>
<element name="Title" maxOccurs="unbounded" type="string" />
</sequence>
</complexType>
</element>

That says Book contains one or more Title elements. It says nothing about ordering the <Title> elements. It does not say that the primary title must always be the first child <Title> element of <Book>.

It seems to me that there is a risk with creating applications which assume the first child <Title> element of <Book> is the primary author. Do you agree that there is a risk?

Do you avoid the risk?

To avoid the risk, do you add additional information to explicitly indicate which <Title> element holds the primary title? E.g.,

<Book>
<Title primary="true">Draft No. 4</Title>
<Title>On the Writing of Prose</Title>
</Book>

Or is that being excessively cautious?

/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



[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