Re: [xml2rfc] Novice bad user on device, or Catch-22?

Henrik Levkowetz <henrik@levkowetz.com> Mon, 20 January 2020 21:25 UTC

Return-Path: <henrik@levkowetz.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2F145120232 for <xml2rfc@ietfa.amsl.com>; Mon, 20 Jan 2020 13:25:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nUV3qo684Km2 for <xml2rfc@ietfa.amsl.com>; Mon, 20 Jan 2020 13:25:26 -0800 (PST)
Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [64.170.98.42]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 904CD12011D for <xml2rfc@ietf.org>; Mon, 20 Jan 2020 13:25:26 -0800 (PST)
Received: from h-202-242.a357.priv.bahnhof.se ([158.174.202.242]:59795 helo=tannat.localdomain) by zinfandel.tools.ietf.org with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <henrik@levkowetz.com>) id 1iteY0-00012b-TM; Mon, 20 Jan 2020 13:25:26 -0800
To: "David R. Oran" <daveoran@orandom.net>
References: <87E86D51-F37A-4800-BC14-6AA7E5E7EA4A@orandom.net> <751dd301-a89b-13b2-27b4-16beaced5de3@levkowetz.com> <DA4F22F5-5A43-4671-B69B-EDF61F976623@orandom.net>
Cc: xml2rfc@ietf.org
From: Henrik Levkowetz <henrik@levkowetz.com>
Message-ID: <61971d80-1c1e-bdf7-a986-0cfe9de157e6@levkowetz.com>
Date: Mon, 20 Jan 2020 22:25:17 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <DA4F22F5-5A43-4671-B69B-EDF61F976623@orandom.net>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="Fi4T6Cd3IOOLdrkHvG6EeVTod1qPgkPsI"
X-SA-Exim-Connect-IP: 158.174.202.242
X-SA-Exim-Rcpt-To: xml2rfc@ietf.org, daveoran@orandom.net
X-SA-Exim-Mail-From: henrik@levkowetz.com
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000)
X-SA-Exim-Scanned: Yes (on zinfandel.tools.ietf.org)
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/jtgP7AQJNLecMLQdmBVAbv6qWiU>
Subject: Re: [xml2rfc] Novice bad user on device, or Catch-22?
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Jan 2020 21:25:32 -0000

Hi David,

On 2020-01-20 22:03, David R. Oran wrote:
> On 20 Jan 2020, at 15:10, Henrik Levkowetz wrote:
> 
>> Hi David,
>>
>> You should simply remove "<!DOCTYPE rfc SYSTEM 'rfc2629.dtd'>" if your
>> <rfc/> element contains the "version='3'" attribute.
>>
> If I do that xml2rfc crashes (both the one on my machine and the web tool:

Oh, wow.  Ok, I'll fix that in the next release.  Could you send the full
xml file, please?  It's not obvious from your snippet where the superfluous
other definition of xmlns:xi is.

Now, you say that instead of trying the converter, you stared out right
away with v3 syntax, but neither the DOCTYPE above, nor the <?rfc ... ?>
PIs visible in your snippet are appropriate for a v3 document.  Did you
grab a v2 template to start with?  I think really going to lead you into
a number of problems if you start with a v2 template and declare it to be
v3.

Using the v2v3 converter on a v2 document, even on a v2 template, on the
other hand, should give you a proper v3 starting point, without the issues
you've run into so far.


Regards,

	Henrik

> 
> xml2rfc draft-oran-icnrg-reflexive-forwarding.xml
> Traceback (most recent call last):
>   File "/usr/local/bin/xml2rfc", line 8, in <module>
>     sys.exit(main())
>   File "/usr/local/lib/python2.7/site-packages/xml2rfc/run.py", line 612, in main
>     xmlrfc = parser.parse(remove_comments=False, quiet=True, add_xmlns=True)
>   File "/usr/local/lib/python2.7/site-packages/xml2rfc/parser.py", line 548, in parse
>     for action, element in context:
>   File "src/lxml/iterparse.pxi", line 208, in lxml.etree.iterparse.__next__ (src/lxml/lxml.etree.c:148588)
>   File "<string>", line 22
> lxml.etree.XMLSyntaxError: Attribute xmlns:xi redefined, line 22, column 59
> 
>> Regards,
>>
>> 	Henrik
>>
>> On 2020-01-20 21:00, David R. Oran wrote:
>>> I have a new Internet Draft to write, so I decided to bite the bullet
>>> and do it in V3. Rather than write in V2 and try the converter, I
>>> started out right away with V3 syntax. I didn’t get very far. I tried
>>> both the most recent xml2rfc by installing it on my machine, and the web
>>> tool and got identical errors.
>>>
>>> If I follow the described syntax in RFC7991, the RFC Editor FAQ in
>>> https://ftp.ripe.net/rfc/v3test/FAQ-2019-02.html and the example in
>>> draft-hoffman-rfcexamples-latest as below:
>>>
>>> 	<?xml version="1.0" encoding="US-ASCII"?>
>>> 	<!DOCTYPE rfc SYSTEM 'rfc2629.dtd'>
>>>
>>> 	<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
>>> 	<?rfc strict="yes" ?>
>>> 	<?rfc toc="yes"?>
>>> 	<?rfc tocdepth="4"?>
>>> 	<?rfc symrefs="yes" ?>
>>> 	<?rfc sortrefs="yes" ?>
>>> 	<?rfc compact="yes" ?>
>>> 	<?rfc subcompact="no" ?>
>>> 	<rfc
>>> 		version=‘3’
>>> 		ipr='trust200902'
>>> 		category='exp'
>>> 		submissionType='IRTF'
>>> 		docName='draft-oran-icnrg-reflexive-forwarding-00'
>>> 		xml:lang='en' xmlns:xi="https://www.w3.org/2001/XInclude">
>>>
>>> 	<front>
>>> 		<seriesInfo name='Internet-Draft'
>>> value='draft-oran-icnrg-reflexive-forwarding-00'/>
>>> 	    <title abbrev='ICN Reflexive Forwarding'>Reflexive Forwarding for
>>> CCNx and NDN Protocols
>>> 	    </title>
>>>
>>>
>>>
>>> I get
>>>
>>> 	% xml2rfc draft-oran-icnrg-reflexive-forwarding.xml
>>> 	Incompatible schema information: found "rfc2629.dtd" in <DOCTYPE> of a
>>> version 3 file.
>>>
>>> If I leave off the “version=‘3’, as below
>>>
>>> 	<?xml version="1.0" encoding="US-ASCII"?>
>>> 	<!DOCTYPE rfc SYSTEM 'rfc2629.dtd'>
>>> 	<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
>>> 	<?rfc strict="yes" ?>
>>> 	<?rfc toc="yes"?>
>>> 	<?rfc tocdepth="4"?>
>>> 	<?rfc symrefs="yes" ?>
>>> 	<?rfc sortrefs="yes" ?>
>>> 	<?rfc compact="yes" ?>
>>> 	<?rfc subcompact="no" ?>
>>>
>>> 	<rfc
>>> 		ipr='trust200902'
>>> 		category='exp'
>>> 		submissionType='IRTF'
>>> 		docName='draft-oran-icnrg-reflexive-forwarding-00'
>>> 		xml:lang='en' xmlns:xi="https://www.w3.org/2001/XInclude">
>>>
>>> 	<front>
>>> 		<seriesInfo name='Internet-Draft'
>>> value='draft-oran-icnrg-reflexive-forwarding-00'/>
>>> 	    <title abbrev='ICN Reflexive Forwarding'>Reflexive Forwarding for
>>> CCNx and NDN Protocols
>>> 	    </title>
>>>
>>> I get:
>>>
>>> 		xml2rfc draft-oran-icnrg-reflexive-forwarding.xml
>>> 		Error: Unable to validate the XML document:
>>> draft-oran-icnrg-reflexive-forwarding.xml
>>> 		 <string>: Line 23: No declaration for attribute xmlns:xi of element
>>> rfc
>>> 		 <string>: Line 25: Element front content does not follow the DTD,
>>> expecting (title , author+ , date , area* , workgroup* , keyword* ,
>>> abstract? , note*), got (seriesInfo title author author date area
>>> workgroup keyword keyword abstract )
>>> 		 <string>: Line 81: Element section content does not follow the DTD,
>>> expecting ((t | figure | texttable | iref)* , section*), got (name t )
>>> 		 <string>: Line 81: Element section does not carry attribute title
>>> 		 <string>: Line 81: No declaration for element name
>>> 		 <string>: Line 85: Element section content does not follow the DTD,
>>> expecting ((t | figure | texttable | iref)* , section*), got (name t )
>>> 		 <string>: Line 85: Element section does not carry attribute title
>>> 		 <string>: Line 85: No declaration for element name
>>> 		 <string>: Line 94: Element section content does not follow the DTD,
>>> expecting ((t | figure | texttable | iref)* , section*), got (name t
>>> section section )
>>> 		 <string>: Line 94: Element section does not carry attribute title
>>> 		 <string>: Line 94: No declaration for element name
>>> 		 <string>: Line 97: Element section content does not follow the DTD,
>>> expecting ((t | figure | texttable | iref)* , section*), got (name t
>>> table )
>>> 		 <string>: Line 97: Element section does not carry attribute title
>>> 		 <string>: Line 97: No declaration for element name
>>> 		 <string>: Line 98: No declaration for attribute keepWithNext of
>>> element t
>>> 		 <string>: Line 99: No declaration for element table
>>> 		 <string>: Line 99: No declaration for attribute title of element
>>> table
>>>
>>> Clue bat please?
>>>
>>> DaveO
>>>
>>>
>>>
>>> _______________________________________________
>>> xml2rfc mailing list
>>> xml2rfc@ietf.org
>>> https://www.ietf.org/mailman/listinfo/xml2rfc
>>>
> 
> DaveO
>