[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]