making reference to other elements...

Pablo Gomes Ludermir

Usenet Archive
Joined
Nov 27, 2004
Messages
3
Reaction score
0
Hello,

I have the following case that I am trying to put in XML Schema. I have the classes HelpItem, Document and Message that work as follows:

One HelpItem contains several Document and Message instances. Thus, in XML Document and Message are child elements of HelpItem.

However, a Message may have a reference to one or several existing Docuemnt instances, and also may have a reference to one or several Message instances (its replies) and another Message that it is the parent Message (the Message that I am replying to).

How can I make the references to the documents and other messages (I hope that the reference to the messages is correct in the example bellow)?

The following information is to keep it more clear:

class Message
- referencedDocuments List
- conversation List //messages that reply the current one (optional)
- parentMessage Message //the message that I am replying to end class

<xs:element name="Document" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="id" type="xs:ID" use="required"/> ... other attributes here </xs:complexType> </xs:element>

<xs:element name="Message" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="id" type="xs:ID" use="required"/> <xs:attribute name="parentMessage" type="xs:IDREF" use="optional"/> <xs:attribute name="conversation" type="xs:IDREFS" use="optional"/> ... other attributes here </xs:complexType> </xs:element>
 

Martin Honnen

Usenet Archive
Joined
Apr 8, 2000
Messages
6,174
Reaction score
0
Pablo Gomes Ludermir wrote:

I have the following case that I am trying to put in XML Schema. I have the classes HelpItem, Document and Message that work as follows:

One HelpItem contains several Document and Message instances. Thus, in XML Document and Message are child elements of HelpItem.

However, a Message may have a reference to one or several existing Docuemnt instances, and also may have a reference to one or several Message instances (its replies) and another Message that it is the parent Message (the Message that I am replying to).

How can I make the references to the documents and other messages (I hope that the reference to the messages is correct in the example bellow)?

The following information is to keep it more clear:

class Message
- referencedDocuments List
- conversation List //messages that reply the current one (optional)
- parentMessage Message //the message that I am replying to end class

<xs:element name="Document" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="id" type="xs:ID" use="required"/> ... other attributes here </xs:complexType> </xs:element>

<xs:element name="Message" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="id" type="xs:ID" use="required"/> <xs:attribute name="parentMessage" type="xs:IDREF" use="optional"/> <xs:attribute name="conversation" type="xs:IDREFS" use="optional"/> ... other attributes here </xs:complexType> </xs:element>

On a first look your use of xs:ID and xs:IDREF and xs:IDREFS seems fine to me. Or are you getting any error messages from a schema processor?
 

Pablo Gomes Ludermir

Usenet Archive
Joined
Nov 27, 2004
Messages
3
Reaction score
0
Well, XMLSpy did not make any complaints. But the point was that I don't know how to figure out the reference from the message to the document element. And another thing is that the ID is not on the local scope of the element, but of the whole document. Is there a way to keep the ID unique on the scope of the element?

Regards,
Pablo
 

Martin Honnen

Usenet Archive
Joined
Apr 8, 2000
Messages
6,174
Reaction score
0
Pablo Gomes Ludermir wrote:

And another thing is that the ID is not on the local scope of the element, but of the whole document. Is there a way to keep the ID unique on the scope of the element?

xs:ID needs to be unique inside of the complete document but you can use xs:key to define keys in the scope of an element, see the example in http://www.w3.org/TR/xmlschema-0/#specifyingKeysAndtheirRefs
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
548,208
Messages
3,104,799
Members
249,594
Latest member
henrywalsh

Latest Threads

Top