[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Timothy W. Cook" <timothywayne.cook@g...>
  • To: stephengreenubl@g...
  • 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@g...> 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@g...> 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@l...
>> subscribe: xml-dev-subscribe@l...
>> 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]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member