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

 


Help: OASIS Mailing Lists Help | MarkMail Help

tag-comment message

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


Subject: a comment re: initial mark-up document


A few comments on the markup ideas document (v0.1)
http://www.oasis-open.org/committees/download.php/28304/Markup-Discussion-V01.doc 

The schema from Serm has a design familiar to me, being like UBL's naming and design rules.
The markup from Jacques does look a little more like what most would expect though, being
less a business document markup and more an application markup (something more likely to be
executed and not necessarily for business or even for software - and a bit like docbook or html).
I'm not sure which I prefer but either has merits. The UBL approach does limit the datatypes
overly though as it dictates what is an attribute and what is an element which doesn't seem
appropriate particularly for a Test Assertions markup. 

'testAssertion' is the only camelcase element name in Jacques' markup. Maybe it should be 
changed.

The markup from Jacques does not specify a schema and I wonder whether XML Schema
is appropriate in this case anyway: maybe a DTD is all that is necessary since there is no
hard requirement to restrict datatypes. I thought something like this (note - no prefixes
either so it looks more like html/xhtml and note also the extra 'header' element with a 
different structure to Serm's but similar function):

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % default_NS_1 "default_NS_1">
<!ENTITY % default_NS_1_prefix "">
<!ENTITY % documentElementAttributes " xmlns CDATA #IMPLIED">
<!ENTITY % header "%default_NS_1_prefix;header">
<!ENTITY % testAssertion "%default_NS_1_prefix;testAssertion">
<!ENTITY % description "%default_NS_1_prefix;description">
<!ENTITY % general "%default_NS_1_prefix;general">
<!ENTITY % interpretation "%default_NS_1_prefix;interpretation">
<!ENTITY % normsource "%default_NS_1_prefix;normsource">
<!ENTITY % precondition "%default_NS_1_prefix;precondition">
<!ENTITY % predicate "%default_NS_1_prefix;predicate">
<!ENTITY % prerequisite "%default_NS_1_prefix;prerequisite">
<!ENTITY % prescription "%default_NS_1_prefix;prescription">
<!ENTITY % quote "%default_NS_1_prefix;quote">
<!ENTITY % target "%default_NS_1_prefix;target">
<!ENTITY % tatag "%default_NS_1_prefix;tatag">
<!ENTITY % reference "%default_NS_1_prefix;reference">
<!ELEMENT %header; ((%tatag;)*, (%description;)?, (%normsource;)+, (%prescription;)?, %target;, (%prerequisite;)?, %predicate;, (%testAssertion;)+)>
<!ATTLIST %header;
	id CDATA #IMPLIED
	%documentElementAttributes; 
>
<!ELEMENT %testAssertion; ((%tatag;)*, (%description;)?, (%normsource;)*, (%prescription;)?, (%target;)?, (%prerequisite;)?, (%predicate;)?)>
<!ATTLIST %testAssertion;
	id CDATA #IMPLIED
	enabled (true | false) #IMPLIED
	%documentElementAttributes; 
>
<!ELEMENT %description; (#PCDATA)>
<!ATTLIST %description;
	%documentElementAttributes; 
>
<!ELEMENT %general; (#PCDATA)>
<!ATTLIST %general;
	%documentElementAttributes; 
>
<!ELEMENT %interpretation; (#PCDATA)>
<!ATTLIST %interpretation;
	%documentElementAttributes; 
>
<!ELEMENT %normsource; ((%reference;)?, (%quote;)*, (%interpretation;)?)>
<!ATTLIST %normsource;
	%documentElementAttributes; 
>
<!ELEMENT %precondition; (#PCDATA)>
<!ATTLIST %precondition;
	exprlang CDATA #IMPLIED
	%documentElementAttributes; 
>
<!ELEMENT %predicate; (#PCDATA)>
<!ATTLIST %predicate;
	exprlang CDATA #IMPLIED
	%documentElementAttributes; 
>
<!ELEMENT %prerequisite; ((%general;)?, (%precondition;)?)>
<!ATTLIST %prerequisite;
	%documentElementAttributes; 
>
<!ELEMENT %prescription; (#PCDATA)>
<!ATTLIST %prescription;
	level (mandatory | prefered | permitted | other) #IMPLIED
	%documentElementAttributes; 
>
<!ELEMENT %quote; (#PCDATA)>
<!ATTLIST %quote;
	%documentElementAttributes; 
>
<!ELEMENT %target; (#PCDATA)>
<!ATTLIST %target;
	name CDATA #IMPLIED
	exprlang CDATA #IMPLIED
	id CDATA #IMPLIED
	%documentElementAttributes; 
>
<!ELEMENT %tatag; (#PCDATA)>
<!ATTLIST %tatag;
	name CDATA #IMPLIED
	%documentElementAttributes; 
>
<!ELEMENT %reference; (#PCDATA)>
<!ATTLIST %reference;
	%documentElementAttributes; 
>

and the markup would then look like this

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE testAssertion SYSTEM "tag-2008-05-01.dtd">
<testAssertion id="TA-0001" enabled="true">
	<tatag name="conformanceProfile">Basic</tatag>
	<tatag name="name2">string value</tatag>
	<description>This is a sample TA for the specification statement REQ-0001</description>
	<normsource>
		<reference>REQ-0001</reference>
		<quote>string</quote>
		<interpretation>string</interpretation>
	</normsource>
	<prescription level="mandatory"/>
	<target name="widget" exprlang="xpath2" id="relative XPath expression">absolute XPath expression</target>
	<prerequisite>
		<general>some plain-text condition, subject to possible stricter syntax</general>
		<precondition exprlang="extended-xpath2">(TA:1234='true' and TA:2355:relation='true') or (TA:4444='true' and [target predicate])</precondition>
	</prerequisite>
	<predicate exprlang="xpath2">relative XPath expression</predicate>
</testAssertion>


Stephen Green





------------------------------------------------------------
Stephen Green

Senior IT Officer
Bristol City Council
Room G45, Romney House
Romney Avenue
Bristol  BS7 9TB
Tel: 0117 922 3794
Fax: 0117 922 4877
Email: stephen_green@bristol.gov.uk 


______________________________________________________________________
'Do it online' with our growing range of online services - http://www.bristol.gov.uk/services 

Sign-up for our email bulletin giving news, have-your-say and event information at: http://www.bristol.gov.uk/newsdirect 

View webcasts of Council meetings at http://www.bristol.gov.uk/webcast


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