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

 


Help: OASIS Mailing Lists Help | MarkMail Help

cam message

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


Subject: Another worked example plus some issues raised while generating it


Hi,
	I have generated an example with the following basis:

	Imagine a BPSS step for sending in PurchaseOrders and getiing a
response.  The example is designed to cover three types of PurchaseOrder
: Provision, Cease and Move for two Products KiloStream and KiloStreamN.
	A further optional parameter allows the supplier to be fixed. 

	I encountered the following set of issues as I created it some
are problems, some are just questions of style and interpretation.

Comments and Questions as I edit a CAM Template

1) I am puzzled as to use either 	<as:constraint
action="setChoice(//sro:Features/*)"/> folowed by a <as:constraint
action="useChoice(//sro:Features/pro:Provision)"/> in a contraint or
context or just a simple useTree.  If you use useTree i) where does the
tree come from and ii) does that immediate rule out the rest of the
options at that layer.   Example in doc does not show the tree in
question within the structure.  Also I expect the tree to come from
another Structure?

2) I know I have asked this before but the order of processing is still
somthing that I need to understand:
	Defaults applied before context rules?  I hope so.

3) Could we have action settting several values ie
action="makeOptional(x) and makeOptional(y) and makeOptional(z)"
   or for constraint actually have as:constraint makeOptional="x y z"
using the XML list option.  This makes for short definitions. or change
to
	<as:constraint path="//element"
action="makeOptional();restrictValues('N','Y');"/>

4) No operation to set default value.
restrictValues(//@HousingType,'SHELF STAND ALONE WALL','SHELF') last
param is default value?

5) Lists do not work for options with spaces eg:
restrictValues(//@HousingType,'SHELF STAND ALONE WALL','SHELF')  STAND
ALONE  is one option

6) Path names become intersting when you are trying to do cross field
checks. Assuming Multiple addresses in file I want a check that says if
PremisesName is not empty then makeOptional(sro:ThoroughfareNumber) But
within the context of the address you are in.  So 
 <as:constraint
condition="greaterthan(length(//sro:BritishAddress/sro:PremisesName),0)"
action="makeOptional(sro:ThoroughfareNumber)"/>

I have resolved this by:
<as:context condition="//sro:BritishAddress"> 
	<as:constraint action="makeOptional(sro:SubPremises)"/>
	<!-- atleast sro:PremisesName or sro:ThoroughfareNumber must
exist or both -->
	<as:constraint
condition="greaterthan(length(sro:PremisesName),0)"
action="makeOptional(sro:ThoroughfareNumber)"/>
	<as:constraint
condition="greaterthan(length(sro:ThoroughfareNumber),0)"
action="makeOptional(sro:PremisesName)"/>
	<as:constraint action="makeOptional(sro:Locality)"/>
</as:context>

Define context for the following constraints i.e. any British Address
then internal ref are in the context of one British Address

7) Does this make sense:

<!-- if Site A has MoveTo section B must not have  and vice versa -->
<as:constraint condition="//sro:Site[@End='A' and sro:MoveTo]"
action="excludeTree(//sro:Site[@End='B']/sro:MoveTo)"/>
<as:constraint condition="//sro:Site[@End='B' and sro:MoveTo]"
action="excludeTree(//sro:Site[@End='A']/sro:MoveTo)"/>

8) include missing from ContentReferencing.

9) I find the equal and greatertahn a bit strang as these are available
in XPATH.  The only extra functions are begine, ends lookup, member all
the rest are available natively.

10) In the context section can the condition just be the head of a tree
indicating that all constraint addresses are based at within that tree?


Martin Roberts 
xml designer, 
BT Exact
e-mail: martin.me.roberts@bt.com 
tel: +44(0) 1473 609785  clickdial
fax: +44(0) 1473 609834
Intranet Site :http://twiki.btlabs.bt.co.uk/twiki



-----Original Message-----
From: Monica J. Martin [mailto:monica.martin@sun.com] 
Sent: 20 May 2003 17:42
To: cam@lists.oasis-open.org
Subject: Re: [cam] Groups - CAM-v1-draft-013.ZIP uploaded


Gnosis_@compuserve.com wrote:

Dave,
A few questions regarding the document update, by section or concept:

    * Section 2.5: Explain what you mean about a test harness.
    * Section 4.1.1: What is a CAM member (is this a registry object
      owner, for example - who manages this)?
    * Section 4.2.1: You have been expanding the CAM efforts/scope and
      now are not only talking about content assembly but business
      process validation. Can we do a check-balance against the charter
      - I see assembly instructions, but not validation. 
    * Section 4.6.1: Will this <choice> construct support some of the
      work coming out of other TC that actually define how references to
      code lists can be maintained (such as UBL)?
    * As I have asked in a previous email., isn't this just a assembly
      mechanism, not the validation of the processes it supports (The
      document should specify the structural processing instructions,
      not the business logic associated with the process validation,
      correct)?  My question is rooted in how this may affect semantic
      interoperability.

Thanks.



You may leave a Technical Committee at any time by visiting
http://www.oasis-open.org/apps/org/workgroup/cam/members/leave_workgroup
.php



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