Roger, What I think is that there should be a documentation annotation in the XSD that indicates that the first title element is for the primary title as specified in reference document [book schema standard, dated CCYY-MM-DD]. In your second example, what is the assurance that only one of the title elements will hold the primary attribute set to true? Seems like you need a different schema. If the spec says it has to be first, and it doesn't appear first, how the code is written will make a difference. One shouldn't infer what the code is doing based on what is in an XML instance document. -Nora -----Original Message----- From: Roger L Costello <costello@mitre.org> Sent: Monday, October 12, 2020 12:43 PM To: xml-dev@lists.xml.org Subject: [xml-dev] What is the meaning of the first child element for an element that is repeatable? 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
Attachment:
smime.p7s
Description: application/pkcs7-signature