[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Additional semantics
- From: "Timothy W. Cook" <timothywayne.cook@gmail.com>
- To: stephengreenubl@gmail.com
- Date: Fri, 8 Mar 2013 12:57:52 -0300
Hi Stephen,
Thanks for the example. It is a similar concept. However, it seems
that they pull the definition into the schema. I don't think we want
that approach. Mainly because linking to a node in a vocabulary like
SNOMED-CT means that you get a richer context than if you just pull in
one definition.
I am not sure I see where xs:appinfo is a security risk. AFAIK, the
element itself cannot activate any processing. It only enables the
application to understand the contents. I originally did use
xs:documentation prior to thinking about adding these links. It seems
to be more of which is appropriate. In your example xs:documentation
is more appropriate, I think.
Certainly some things to think about.
--Tim
On Fri, Mar 8, 2013 at 12:47 PM, Stephen D Green
<stephengreenubl@gmail.com> wrote:
> Hi Tim
>
> In the Universal Business Language there is a similar use of xsd:annotation
> to store semantic metadata but here, rather than RDF, an ISO standard
> for data dictionary naming is used (ISO 11179 implemented via ISO 15000-5).
>
> Here it is what OASIS UBL (and ISO 15000-5) terms "DictionaryEntryName"
> that carries the semantic metadata reference
>
> e.g.
> <xsd:complexType name="BillOfLadingType">
> <xsd:annotation>
> <xsd:documentation>
> <ccts:Component>
> <ccts:ComponentType>ABIE</ccts:ComponentType>
> <ccts:DictionaryEntryName>Bill Of Lading.
> Details</ccts:DictionaryEntryName>
> <ccts:Definition>A document issued by the party who acts as
> an ....</ccts:Definition>
> <ccts:ObjectClass>Bill Of Lading</ccts:ObjectClass>
> <ccts:AlternativeBusinessTerms>House Bill of Landing, Master
> Bill, Bill</ccts:AlternativeBusinessTerms>
> </ccts:Component>
> </xsd:documentation>
> </xsd:annotation>
> <xsd:sequence>
>
> Note that the UBL method differs from yours in that it doesn't use appinfo.
> Instead it uses xsd:documentation.
>
> This was a deliberate design choice as defined in the UBL Naming and
> Design Rules:
>
> http://docs.oasis-open.org/ubl/cs01-UBL-2.0-NDR/cs01-UBL-2.0-NDR.pdf
>
> <quote>
>
> 7.10. xsd:appinfo
>
> The xsd:appinfo feature is used by schemas to convey processing instructions
> to a
>
> processing application, stylesheet, or other tool. Some users of UBL believe
> that this
>
> technique poses a security risk and have employed techniques for stripping
> xsd:appinfo
>
> from schemas. As UBL is committed to ensuring the widest possible target
> audience for its
>
> XML library, this feature is used only to convey information.
>
> [GXS12] UBL schemas SHOULD NOT use xsd:appinfo. If used, xsd:appinfo
>
> MUST be used only to convey non-normative information.
>
>
>
> </quote>
>
>
>
> Best regards
>
>
> ----
> Stephen D Green
>
>
> On 8 March 2013 14:28, Timothy W. Cook <timothywayne.cook@gmail.com> wrote:
>>
>> Hi All,
>>
>> I'd like opinions on this approach.
>> The goal is to be able to add semantics to complexType definitions via
>> links to controlled vocabularies or even Wikpedia, wherever ...
>>
>> I prefer to keep all of the information in one appinfo section of the
>> schema. The applications will then know how to extract all of the
>> metadata including references to external source used in defining the
>> concept in each complexType.
>>
>> Does this approach (below) make sense? It seems to me an application
>> can use XQuery/XPath to examine and provide links to external sources.
>> IS there a better, more standard approach to this? I want to markup
>> added to the schemas not to the instance data as some people might
>> normally think of doing.
>>
>> Basically the rdf:about refers to the complexType in the same schema.
>>
>> Thanks,
>> Tim
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>> xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>> xmlns:mlhim2="http://www.mlhim.org/xmlns/mlhim2/2_4_1"
>> targetNamespace="http://www.mlhim.org/xmlns/mlhim2/2_4_1"
>> elementFormDefault="qualified">
>>
>> <!-- Metadata section -->
>> <xs:annotation>
>> <xs:appinfo>
>> <rdf:RDF>
>> <!-- Lots of standard Dublin core metadata here -->
>> <rdf:Description rdf:about="mlhim2:ct-a">
>> <rdfs:isDefinedBy
>> rdf:resource="http://some_controlled_vocabulary.org/code_name1" />
>> <!-- possible multiple entries -->
>> </rdf:Description>
>>
>> <rdf:Description rdf:about="mlhim2:ct-b">
>> <rdfs:isDefinedBy
>> rdf:resource="http://some_controlled_vocabulary.org/code_name2"/>
>> </rdf:Description>
>>
>> </rdf:RDF>
>> </xs:appinfo>
>> </xs:annotation>
>>
>>
>> <!-- Type definitions -->
>>
>> <xs:complexType name="ct-a">
>> <!-- assume some restriction definition here -->
>> </xs:complexType>
>>
>> <xs:complexType name="ct-b">
>> <!-- assume some restriction definition here -->
>> </xs:complexType>
>> </xs:schema>
>>
>> _______________________________________________________________________
>>
>> 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]