[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [office-metadata] Adding xml:id's to content.xml
Hi John, John F. Madden, MD, PhD wrote: > Hi guys, > > While I'm working on getting this example, up another quick question. > > If I am > - using the external metadata files approach; > - need to add some xml:id's to pieces of content.xml in order to > provide targets for my external RDF to point to; You reminded me that we should make it more explicitly in our draft, that the metadata manifest should be the only RDF/XML in the package that will point to the xml:id. All other RDF/XML files should use the IRI that have been bound by the meta manifest. (I gave an example in the end). The idea behind is that there exist only one RDF/XML file containing the binding between IRIs and xml:id plus path. > > there are two possible approaches. > > (a) add xml:id's to existing elements in content.xml that wrap the > content of interest > (b) insert new <text:meta-field> elements to wrap what I want and > provide a hook for an xml:id. > As you have added later yourself (c) using bookmarks that are already part of our specifications. We might want to mention m:about/m:property (a2) used to mark strings from the content as RDF literals, without duplication. > > Do you guys have any "Best Practice" in mind? > > I think (b) is probably the Best Practice, since it doesn't run the > risk of interfering with any application-assigned uses of xml:id's on > other elements. > > Would you guys agree? > My view of using the four possibilities: a) Attaches metadata to an ODF element that can bear an xml:id attribute. The common use case. a2) Uses m:about and m:property to mark the string within the element as RDF object. Eliminating the need of duplication of this string for the metadata. The next common use case. b) The text:meta-field should be used, when the content is under direct control (being generated) from a plug-in. For example, in the citation example the user can exchange the content from all citation fields of the document by changing the configuration of the citation fields from a short to a long citation. The plug-in would adapt the content upon it's user configuration. One plug-in takes responsibility of the content, owns the field. Therefore we might even want to make this more explicit in the meta manifest by adding once an RDF property like "odf:owns" instead of "odf:references". This would resolve any ambiguity. c) The bookmarks are a fall-back in case the user wants to bundle text that goes beyond paragraphs, e.g. marking arbitrary text portions of the document. Therefore I would use in your scenario a) and a2) I have adapted a part of your example. It contains the name of the Doctor, which exist as string only in the content.xml (therefore have to use m:about/m:property) and the medical note, which is represented by a paragraph. Finally the whole document is referred to by using the rdf:about from the odf:Package of the meta manifest. Meta manifest: =========== <odf:Package rdf:about="urn:uuid:224ab023-77b8-4396-a75a-8cecd85b81e3" xmlns:odf="http://docs.oasis-open.org/opendocument/meta/package#" <odf:hasPart> <odf:ContentFile rdf:about="urn:uuid:321fc314-69d3-4019-859d-29a5dc2721a0" odf:path="content.xml"> <odf:hasPart> <odf:Element rdf:about="urn:uuid:2e248b4a-99e0-487b-85e2-caecf1d2f96b" odf:idref="id-Plan-1"/> </odf:hasPart> </odf:ContentFile> </odf:hasPart> <!-- ... --> </odf:Package> RDF/XML ========= <!-- earlier http://www.odf.org/this#id-Whole-Document --> <amdo:ClinicalEncounterNote rdf:about="urn:uuid:224ab023-77b8-4396-a75a-8cecd85b81e3"> <dc:creator> <aemv:Doctor rdf:about="http://some-hospital-employee#id12345"/> </dc:creator> <dcterms:hasPart> <amdo:ClinicalMedicationNote rdf:about="urn:uuid:2e248b4a-99e0-487b-85e2-caecf1d2f96b"/> </dcterms:hasPart> <!-- ... --> </amdo:ClinicalEncounterNote> Content.xml ========== <text:p text:style-name="P3" xml:id="id-Plan-1">Hyperlipidemia - He will stay on lovastatin 20 mg daily. <text:meta m:about="http://some-hospital-employee#id12345" m:property="http://http://xmlns.com/foaf/0.1/name">Sam Jones</text:meta> thinks he would like to see his LDL cholesterol below 100.</text:p> PS: Perhaps we can even use m:data-type and m:data-value when describing the drug amount? Hope that helps. Svante
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]