XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Additional semantics

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]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS