[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Fwd: [tamie-comment] Schema for CSD01 and a few comments
Jacques, TaMIE TC A few points which I think will still need to be addressed in both the spec and the schema: 1. If mask is allowed anywhere in scriplets then I think you will need to add mask to xtempstatement (in both spec and schema) xtempstatement = ( element xtemp:var { var_body } | element xtemp:catch { catch_body } | element xtemp:decide { decide_body } | element xtemp:eval { eval_body } | element xtemp:exit { exit_body } | element xtemp:if { if_body } | element xtemp:loop { loop_body } | element xtemp:message { message_body } | element xtemp:post { post_body } | element xtemp:wait { wait_body } | element xtemp:start { start_body } | element xtemp:call-adapter { calladapter_body } ) change to xtempstatement = ( element xtemp:mask{ mask_body } | element xtemp:var { var_body } | element xtemp:catch { catch_body } | element xtemp:decide { decide_body } | element xtemp:eval { eval_body } | element xtemp:exit { exit_body } | element xtemp:if { if_body } | element xtemp:loop { loop_body } | element xtemp:message { message_body } | element xtemp:post { post_body } | element xtemp:wait { wait_body } | element xtemp:start { start_body } | element xtemp:call-adapter { calladapter_body } ) and in the schema <xs:group name="xtempstatement_group"> <xs:choice> <xs:element ref="call-adapter"/> <xs:element ref="catch"/> <xs:element ref="decide"/> <xs:element ref="eval"/> <xs:element ref="exit"/> <xs:element ref="if"/> <xs:element ref="loop"/> <xs:element ref="message"/> <xs:element ref="post"/> <xs:element ref="start"/> <xs:element ref="var"/> <xs:element ref="wait"/> </xs:choice> </xs:group> change to <xs:group name="xtempstatement_group"> <xs:choice> <xs:element ref="mask"/> <xs:element ref="call-adapter"/> <xs:element ref="catch"/> <xs:element ref="decide"/> <xs:element ref="eval"/> <xs:element ref="exit"/> <xs:element ref="if"/> <xs:element ref="loop"/> <xs:element ref="message"/> <xs:element ref="post"/> <xs:element ref="start"/> <xs:element ref="var"/> <xs:element ref="wait"/> </xs:choice> </xs:group> I already added the mask element to the schema but it wasn't referenced from anywhere If functions need to include mask then it needs adding here fnxtemptatement = ( element xtemp:var { infn_var_body } | element xtemp:decide { infn _decide_body } | element xtemp:eval { infn_eval_body } | element xtemp:exit { infn_exit_body } | element xtemp:if { infn_if_body } | element xtemp:message { message_body } | ) change to fnxtemptatement = ( element xtemp:mask { mask_body } | element xtemp:var { infn_var_body } | element xtemp:decide { infn _decide_body } | element xtemp:eval { infn_eval_body } | element xtemp:exit { infn_exit_body } | element xtemp:if { infn_if_body } | element xtemp:message { message_body } | ) and in schema <xs:group name="xtfuncstatement_group"> <xs:choice> <xs:element name="var" type="var_function_type"/> <xs:element name="decide" type="decide_function_type"/> <xs:element name="eval" type="eval_function_type"/> <xs:element name="exit" type="exit_function_type"/> <xs:element name="if" type="if_function_type"/> <xs:element ref="message"/> </xs:choice> </xs:group> change to <xs:group name="xtfuncstatement_group"> <xs:choice> <xs:element ref="mask"/> <xs:element name="var" type="var_function_type"/> <xs:element name="decide" type="decide_function_type"/> <xs:element name="eval" type="eval_function_type"/> <xs:element name="exit" type="exit_function_type"/> <xs:element name="if" type="if_function_type"/> <xs:element ref="message"/> </xs:choice> </xs:group> 2. if the message and exit allow mixed content then I think the spec also needs to be changed to reflect this by adding 'text' to var, exit and message ( like with-param, etc which already have 'text' at the end withparam_body = attribute name {xsd:normalizedString} , attribute expr {xsd:normalizedString} ? , text ) so in message: element xtemp:message { ( eval_body | xeffectitem ) * } change to element xtemp:message { ( eval_body | xeffectitem ) *, text } likewise exit: element xtemp:exit { exit_body } exit_body = attribute message {xsd:normalizedString} ? , attribute result {xsd:normalizedString} ? ( xeffectitem ) * change to element xtemp:exit { exit_body } exit_body = attribute message {xsd:normalizedString} ? , attribute result {xsd:normalizedString} ? ( xeffectitem ) *, text and with var element xtemp:var { var_body } var_body = attribute name {NCName} , attribute type {NCName} ? attribute expr {normalizedString} ? ( xtempstatement | xeffectitem ) * change to element xtemp:var { var_body } var_body = attribute name {NCName} , attribute type {NCName} ? attribute expr {normalizedString} ? ( xtempstatement | xeffectitem ) *, element xtemp:var { var_body } var_body = attribute name {NCName} , attribute type {NCName} ? attribute expr {normalizedString} ? ( xtempstatement | xeffectitem ) *, text 3. The ucpackage still has the old schemaLocation, xsi:schemaLocation="http://docs.oasis-open.org/tamie/xtemp/200909 http://www.oasis-open.org/committees/download.php/34985/xtemp-0-6-3.xsd" in many of the xtemp examples instead of just http://docs.oasis-open.org/tamie/xtemp/200909 xtemp.xsd 4. An error of mine in the schema I sent before, sorry I missed it till now: <xs:complexType name="withparam_type" mixed="true"> <xs:group ref="xeffectitem_group"/> <xs:attribute name="expr" type="xs:normalizedString" use="optional"/> <xs:attribute name="name" type="xs:normalizedString" use="required"/> </xs:complexType> needs to be changed to <xs:complexType name="withparam_type" mixed="true"> <xs:attribute name="expr" type="xs:normalizedString" use="optional"/> <xs:attribute name="name" type="xs:normalizedString" use="required"/> </xs:complexType> This puts it in line with the spec and is necessary for the ucpackage XSLT to work when run with a schema/type-aware XSLT processor 4. Also the XSLT needs one change: not(@vptsync = 'false') should be not(@vptsync = false) because @vptsync is now a Boolean so 'false' (string) also needs to be changed to false without the quotes (Boolean) or you get a type mismatch with Saxon EE (which is schema aware and therefor type and datatype aware). Best regards Steve ---- Stephen D Green
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]