OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

uddi-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [uddi-dev] tModel Definition


Clayton,

Except when using the general_keywords taxonomy, the keyName attribute 
is not significant. (The general_keywords taxomony allows you to 
categorize UDDI entities without first defining a taxonomy tModel.)

For all other taxonomies, the keyName attribute is used primarily for 
human readability. You can omit it, and you cannot use it in queries. 
The significant attributes in a keyedRereference are the tModelKey and 
keyValue. The tModelKey represents the property, and the keyValue 
supplies the property value. You need to create a separate tModel for 
each property.

To get a better sense of how keyedReferences and tModel taxonomies work, 
I suggest you read some of the UDDI Technical Notes, such as "Using WSDL 
in a UDDI Registry, V2.0". They use taxonomies extensively. You can find 
the technical notes in the UDDI-spec site at http://www.oasis-open.org.

Here's an example of keyedReferences from the WSDL technical note:

<tModel tModelKey="uddi:49662926-f4a5-4ba5-b8d0-32ab388dadda">
<name>StockQuoteSoapBinding</name>
<categoryBag>
<keyedReference
tModelKey="uddi:uddi.org:xml:namespace"
keyName=”binding namespace”
keyValue=”http://example.com/stockquote/”; />
<keyedReference
tModelKey="uddi:uddi.org:wsdl:types"
keyName=”WSDL type”
keyValue="binding" />
<keyedReference
tModelKey="uddi:uddi.org:wsdl:portTypeReference"
keyName=”portType reference”
keyValue="uddi:e8cf1163-8234-4b35-865f-94a7322e40c3" />
<keyedReference
tModelKey="uddi:uddi.org:wsdl:categorization:protocol"
keyName=”SOAP protocol”
keyValue="uddi:uddi.org:protocol:soap" />
<keyedReference
tModelKey="uddi:uddi.org:wsdl:categorization:transport"
keyName=”HTTP transport”
keyValue="uddi:uddi.org:transport:http" />
<keyedReference
tModelKey="uddi:uddi.org:categorization:types"
keyName=”tModel type”
keyValue="wsdlSpec" />
</categoryBag>
<overviewDoc>
<overviewURL useType=”wsdlInterface”>
http://location/sample.wsdl
</overviewURL>
</overviewDoc>
</tModel>

When querying the registry, you can search based on ony of the 
taxonomies used to categorize this tModel. Here's an example of a query 
that will return the above tModel. This query searches for a tModel that 
has a WSDL type of "binding" and that references the specified portType 
tModel..

<find_tModel xmlns=”urn:uddi-org:api_v3”>

<categoryBag>

<keyedReference

tModelKey=”uddi:uddi.org:wsdl:types”

keyName=”WSDL type”

keyValue=”binding” />

<keyedReference

tModelKey=”uddi:uddi.org:wsdl:portTypeReference”

keyName=”portType reference”

keyValue=”uddi:e8cf1163-8234-4b35-865f-94a7322e40c3” />

</categoryBag>

</find_tModel>


When defining a taxonomy tModel, you need to define it as a 
categorization type, and then you have a choice of defining it as 
checked or unchecked. If you want a taxonomy with open ended values, you 
should define it as unchecked. Here's an example of an unchecked 
taxonomy definition:

<tModel tModelKey="uuid:5b67c4b8-fbb8-3681-9c63-bf6b0c838dd0" >

<name>uddi.org:wsdl:types</name>

<overviewDoc>

<overviewURL>

http://uddi.org/pubs/uddi_wsdl_technical_note_v2.htm#wsdlTypes

</overviewURL>

</overviewDoc>

<categoryBag>

<keyedReference

tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4"

keyValue="unchecked"

/>

<keyedReference

tModelKey="uuid:c1acf26d-9672-4404-9d70-39b756e62ab4"

keyValue="categorization"

/>

</categoryBag>

</tModel>


Regards,
Anne

Clayton Coleman wrote:

>Hello,
>
>I am trying to develop a tModel that has specific keyNames but open 
>ended values. However, all of the tModel definition instructions I have 
>found do not really define, at least within XML Schema language, which 
>keyName/keyValue types. I ultimately want UDDI to be able to narrow a 
>search based on the keyName/keyValue pairs.
>
>For Instance:
><reference keyName="specification">
> <spec>cxoAccount</spec>
> <version>1.3.0</spec>
></reference>
>
>or 
><specification>
> <name>cxoAccountType</name>
> <value>Lite Hosting</value>
></specification>
>
>Then I could search for all services with a 
>Specification, name="cxoAccount" version="1.3.?" 
>
>I hope this is not too abstract. Ultimately I am looking for how to 
>define a tModel where some element keyNames are defined, and then some 
>are not, because the name and value will both be used to search. Any 
>help on this would be greatly beneficial.
>
>
>----------------------
>Clayton Coleman
>CXO Designs
>http://cxodesigns.net
>
>
>
>  
>





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]