Subject: [Tools-discuss] xml version of 1id-abstracts.txt/1id-index.txt and all_id.txt

From: Tony Hansen <[email-masked]>
Date: Wed, 23 Apr 2008 18:41:26 -0400

There was some discussion recently of having an xml version of the 
internet-drafts files 1id-*.txt and all_id.txt.

Moving this further along, I'd like to make concrete proposals for the 
schema for such files. First off, for 1id-abstract, the schema would be 
(I'm not an expert at DTDs, so forgive any errors here):

<!ELEMENT internet-drafts (docs working-group-map)>
   <!ELEMENT docs (doc*)>
     <!ELEMENT doc (name, author, date, wg, file, abstract?)>
       <!ELEMENT name (#PCDATA)>
       <!ELEMENT author (#PCDATA)>
       <!ELEMENT date (#PCDATA)>
       <!ELEMENT wg (#PCDATA)>
       <!ELEMENT file (#PCDATA)>
       <!ELEMENT abstract (#PCDATA)>
   <!ELEMENT working-group-map (group*)>
     <!ELEMENT group (acronym, name)>
       <!ELEMENT acronym (#PCDATA)>
       <!ELEMENT name (#PCDATA)>

Translation:
   <internet-drafts> contains <docs> and <working-group-map>
   <docs> contains 1 or more <doc>
   <doc> contains a <name>, <author>, <date>, <wg>, <file> and <abstract>
   The <wg> contains a working group acronym.
   At the end is a map from working group acronyms to spelled out names.
   <working-group-map> contains 1 or more <group>
   Each <group> contains an <acronym> and <name>.

A sample would look like this:

     <?xml version='1.0' encoding='UTF-8'?>
     <internet-drafts>
     <docs>
     <doc>
      <name>Transmission of IP over Ethernet over IEEE
       802.16 Networks</name>	
      <author>HongSeok Jeon</author>
      <date>18-Apr-08</date>
      <wg>16ng</wg>
      <file>draft-ietf-16ng-ip-over-ethernet-over-802.16-06.txt</file>
      <abstract>
       This document describes the transmission of IPv4 over ...
     </doc>
     ...
     </docs>
     <working-group-map>
     <wg>
      <acronym>16ng</acronym>
      <name>IP over IEEE 802.16 Networks</name>
     </wg>
     <wg>
      <acronym>6man</acronym>
      <name>IPv6 Maintenance</name>
     </wg>
     ...
     </working-group-map>
     </internet-drafts>

A complete sample file can be seen at
    http://merlot.tools.ietf.org/~tonyh/internet-drafts/1id-abstracts.xml

For all_id.xml, I'm proposing this schema:

<!ELEMENT all-internet-drafts (id*)>
   <!ELEMENT id (file, date, status, tracker?, iesg?, by?, rfc?)>
     <!ELEMENT file (#PCDATA)>
     <!ELEMENT date (#PCDATA)>
     <!ELEMENT status (#PCDATA)>
     <!ELEMENT tracker (#PCDATA)>
     <!ELEMENT iesg (#PCDATA)>
     <!ELEMENT by (#PCDATA)>
     <!ELEMENT rfc (#PCDATA)>

Translation:
   <all-internet-drafts> contains one or more <id>
   Each <id> contains a <file>, a <date>, and a <status>
   Depending on the value of <status>, there may be a <tracker>, a
   <iesg>, a <by> and a <rfc>.

A sample would look like this:

   <all-internet-drafts>
     <id>
       <file>draft-adolf-dvb-urn-03</file>
       <date>2007-12-18</date>
       <status>In IESG processing</status>
       <iesg>Revised ID Needed</iesg>
     </id>
     <id>
       <file>draft-cain-post-inch-phishingextns-03</file>
       <date>2007-10-25</date>
       <status>In IESG processing</status>
       <tracker>Publication Requested</tracker>
     </id>
     <id>
       <file>draft-zorn-radius-port-type-04</file>
       <date>2006-04-04</date>
       <status>RFC</status>
       <rfc>4603</rfc>
     </id>
     <id><file>draft-yokota-mipshop-3gfh-02</file>
       <date>2008-03-03</date>
       <status>Replaced</status>
       <by>draft-ietf-mipshop-3gfh</by>
     </id>
   </all-internet-drafts>

A complete sample file can be seen at
    http://merlot.tools.ietf.org/~tonyh/internet-drafts/all_id.xml

Thoughts?

	Tony Hansen
	[email-masked]
_______________________________________________
Tools-discuss mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/tools-discuss

---

From: "Frank Ellermann" <[email-masked]>
Date: Thu, 24 Apr 2008 02:05:28 +0200

>      <!ELEMENT doc (name, author, date, wg, file, abstract?)>

Maybe one or more <author>, and an optional <wg>.  Why is the
<abstract> optional ?

>        <!ELEMENT name (#PCDATA)>

Matter of taste.  I'd use an attribute 'wg' as IDREF with an
attribute 'acronym' as ID, with that trick an undefined 'wg'
triggers a validation error.  

You have no intended status element, is that as it should be ?

>       <name>IPv6 Maintenance</name>

ITYM <group> in this example.  With my idea you would get
<group acronym="6man"> IPv6 Maintenance </group> here.

===
>        <iesg>Revised ID Needed</iesg>
[...]
>        <tracker>Publication Requested</tracker>

I'm not sure about that.  Why not use the terminology
in <https://datatracker.ietf.org/idtracker/help/state/> ?

"PubReq" is no substate of "IESG evaluation", it comes
before "AD evaluation" and "Last Call", both before the
"IESG evaluation".

AFAIK "Revised ID needed" is a generic substate, it
can happen outside of "IESG evaluation", e.g., in the
"AD evaluation".

 Frank

---

From: <[email-masked]>
Date: Thu, 24 Apr 2008 20:06:30 +0300

Here's a sample from the code I currently have:

<id xml:id="draft-ietf-xcon-framework">
  <id>draft-ietf-xcon-framework</id>
  <documentInfo>
    <docValidity>Active</docValidity>
    <revision>10</revision>
    <revisionDate>2007-11-09</revisionDate>
    <idTrackerTag>13106</idTrackerTag>
    <fileTypes>.txt</fileTypes>
    <title>A Framework for Centralized Conferencing</title>
    <author>
      <email>[email-masked]</email>
      <name>Mary Barnes</name>
    </author>
    <author>
      <email>[email-masked]</email>
      <name>Chris Boulton</name>
    </author>
    <author>
      <email>[email-masked]</email>
      <name>Orit Levin</name>
    </author>
    <abstract>
This document defines the framework for Centralized Conferencing.<br />
The framework allows participants using various call signaling<br />
protocols, such as SIP, H.323, Jabber, Q.931 or ISUP, to exchange<br />
media in a centralized unicast conference.  The Centralized<br />
Conferencing Framework defines logical entities and naming<br />
conventions.  The framework also outlines a set of conferencing<br />
protocols, which are complementary to the call signaling protocols,<br />
for building advanced conferencing applications.  The framework binds<br />
all the defined components together for the benefit of builders of<br />
conferencing systems.</abstract>
    <group>xcon</group>
  </documentInfo>
  <stateInfo type="idTracker">
    <state>IESG Evaluation</state>
    <subState>Revised ID Needed</subState>
    <lastModifiedDate>2007-11-09</lastModifiedDate>
    <idTrackerToken>Cullen Jennings</idTrackerToken>
    <intendedStatus>Proposed Standard</intendedStatus>
  </stateInfo> 
</id>

Some explanation:

"docValidity" is one of: Active, Expired, RFC, Withdrawn by submitter, 
Withdrawn by IETF, and Replaced. All Internet-Drafts are in one of
these states.

The <stateInfo type="idTracker"> describes what IESG is doing 
with the document. A document could also have similar blocks
for <stateInfo type="rfcEditor"> and <stateInfo type="iana">.

Best regards,
Pasi

> -----Original Message-----
> From: [email-masked] 
> [mailto:[email-masked]] On Behalf Of ext Tony Hansen
> Sent: 24 April, 2008 01:41
> To: [email-masked]
> Cc: Bill Fenner; Henrik Levkowetz; Glen Barney
> Subject: [Tools-discuss] xml version of 
> 1id-abstracts.txt/1id-index.txt andall_id.txt
>

---

From: Fred Baker <[email-masked]>
Date: Thu, 24 Apr 2008 10:33:20 -0700

quite a few of our documents are not submitted to working groups. Did  
you intend to have "ietf" as a potential working group? How did you  
want to handle that?

Personally, I would like to find individual submissions to working  
groups as well as working group documents here, perhaps with an  
attribute distinguishing them. The way we do this now is that working  
group documents are named draft-ietf-<wg>-... while individual  
submissions to working groups are named draft-<author>-<wg>-...  
Submissions that are not to a working group are draft-<author>-...  
and don't name a WG. But the secretariat only keeps track of the one  
category. That's mostly a database question, but it raises the  
question of an attribute that indicates working group status.

In a tool/page that used this, I would appreciate having a mailto  
link that got me to the authors, as in
     <a href="mailto:[email-masked]">authors</a>,
similar links that got me to the relevant working group chairs and  
ADs, and a link that got me to the ID tracker, as in
     <a href="https://datatracker.ietf.org/idtracker/? 
&search_filename=draft...">ID Status</a>

I don't think that has to be in the XML description of the doc, but  
is certainly derivable from the data and would be useful.

---

From: Henrik Levkowetz <[email-masked]>
Date: Thu, 24 Apr 2008 20:24:06 +0200

And below is the format which is currently used in the state.xml
files available for all current and most old drafts at 
tools.ietf.org/draft/<DRAFTNAME>/state.xml.  I think a revision
of this format which uses Pasi's schema for the <author/> tag
would be good.

Note the <state/> tag which is more complex than the other
proposals -- this is in order to be able to handle the fact that
there may be multiple simultaneous states for various phases of
the document processing, such as the IESG, IANA, and RFC-Editor
queue states.

There's also additional state information of a type which both
in the IESG case and in the RFC-editor case can exist in multiple
instances (so it's not really state information) -- I've called
this <infotag/>, and there can be multiple infotags within a
<state/> element.

<ietfdoc version="0.92">
   <id>draft-ietf-dhc-paa-option</id>
   <state>
      <phase>IESG</phase>
      <stage>RFC-queue</stage>
   </state>
   <state>
      <phase>RFC-Editor</phase>
      <stage>Auth48</stage>
      <infotag>Dependency</infotag>
   </state>
   <info>
      <abstract>This document defines new DHCPv4 and DHCPv6 options that contain a\nlist of IP addresses to locate one or more of PANA Authentication\nAgents (PAA). This is one of the methods that a PANA Client (PaC) can\nuse to locate PANA Authentication Agents (PAA).</abstract>
      <areadir>Jari Arkko</areadir>
      <author>Lionel Morand &lt;[email-masked]&gt;</author>
      <author>Alper Yegin &lt;[email-masked]&gt;</author>
      <author>Suraj Kumar &lt;[email-masked]&gt;</author>
      <author>Syam Madanapalli &lt;[email-masked]&gt;</author>
      <bytes>16022</bytes>
      <deststatus>Standards Track</deststatus>
      <idnum>13742</idnum>
      <pages>9</pages>
      <refs>draft-ietf-pana-pana[in-queue]</refs>
      <rev>05</rev>
      <source>Dynamic Host Configuration</source>
      <submitted>2006-12-18</submitted>
      <title>DHCP options for PANA Authentication Agents</title>
      <validity>Active</validity>
      <wg>dhc</wg>
   </info>
</ietfdoc>