[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

QA Application XML save formats.


I've got a first cut of an xml save format for my QA Assistant App.  If
Aurélien, Erik, and others interested in tools that help write QA
reports want to take a look, I'd be glad of any input.  I'm only a
novice xml author so my format could probably use some work.

The save format has three main elements:
* A checklist that specifies the checklist this save file was created
* Properties associated with this instance of a checklist (SRPM
filename, bugzilla number, etc).
* Checklist entries that have been modified.

My program uses this information to load the original checklist and then
overlay the modifications that make up this instance of the checklist.

DTD and sample file are attached and at:

Checklist DTD the qasave file is intended to work with and a checklist
that tries to conform to the Fedora QA checklist are at:

  t  o  s  h  i  o  +  t  i  k  i  -  l  o  u  n  g  e  .  c  o  m
                                                          GA->ME 1999
<?xml version='1.0' encoding='UTF-8'?>
 PUBLIC "-//BadgerWare//DTD QA Assistant Save File 0.1//EN"
 SYSTEM "http://qa-assistant.sf.net/qasave/0.1/qasave.dtd";
<!-- All possible resolutions of a QA Checklist Item -->
<!ENTITY % Resolutions '(Needs-Reviewing|Pass|Fail|Non-Blocker|Not-Applicable)'>

<!-- Root Node -->
<!ELEMENT qasave (checklist, properties?, entries)>
  <!ATTLIST qasave
    version CDATA #FIXED '0.1'

  <!-- The checklist this save file modifies. -->
  <!ELEMENT checklist (#PCDATA)>
    <!ATTLIST checklist
      name CDATA #REQUIRED
      revision CDATA #REQUIRED
  <!-- Properties associated with the checklist such as filename,
       Issue tracking number, etc. -->
  <!ELEMENT properties (property+)>
    <!ELEMENT property (#PCDATA)>
      <!ATTLIST property
        name CDATA #REQUIRED
  <!-- Entries in the checklist that have been modified by the program.
       These are meant to layer on top of the original checklist.  -->
  <!ELEMENT entries (entry+)>
    <!ELEMENT entry (states?)>
      <!ATTLIST entry
        name CDATA #REQUIRED
        display (true|false) "false"
        state %Resolutions; #REQUIRED
        <!ELEMENT states (state+)>
          <!ELEMENT state (#PCDATA)>
            <!ATTLIST state
              name %Resolutions; #REQUIRED
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE qasave SYSTEM 'qasave.dtd'>
<qasave version='0.1'>
  <checklist name='fedoraus' revision='0.1'>fedoraus.xml</checklist>
    <property name='BugzillaId'>11452</property>
    <property name='BugzillaURL'>http://bugzilla.somebugzillaurl.com/cgi-bin/bugquery</property>
    <property name='SRPM'>Pyrex-0.9-1.fdr.0.src.rpm</property>
    <entry name='Epoch' display='true' state='Fail'>
        <state name='Fail'>Epoch is incorrect</state>
        <state name='Pass'>Epoch is correct</state>
    <entry name='SRPM Signature' display='true' state='Pass'>
        <state name='Fail'>This is a failur</state>

Attachment: signature.asc
Description: This is a digitally signed message part

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]