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

Henrik Levkowetz <henrik@levkowetz.com> Tue, 21 January 2020 08:26 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 7D5C7120071 for <xml2rfc@ietfa.amsl.com>; Tue, 21 Jan 2020 00:26:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 yFi0RmRspBrZ for <xml2rfc@ietfa.amsl.com>; Tue, 21 Jan 2020 00:26:35 -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 391B9120043 for <xml2rfc@ietf.org>; Tue, 21 Jan 2020 00:26:35 -0800 (PST)
Received: from h-202-242.a357.priv.bahnhof.se ([158.174.202.242]:60991 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 1itorm-0006Uz-1t; Tue, 21 Jan 2020 00:26:34 -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> <61971d80-1c1e-bdf7-a986-0cfe9de157e6@levkowetz.com> <6C8FDE4E-88F8-4862-A9CC-3D1E9B0DCD4C@orandom.net> <fe468ed5-3d9b-88b2-8403-f8482bb1f55b@levkowetz.com> <647a593e-8104-0a59-bd0b-fb377f49201e@levkowetz.com> <A6C1B0DF-EAE0-46DC-9539-F56A3192E336@orandom.net>
Cc: xml2rfc@ietf.org
From: Henrik Levkowetz <henrik@levkowetz.com>
Message-ID: <43f689a4-7bc5-5e8c-0ca6-0ca785a77c8e@levkowetz.com>
Date: Tue, 21 Jan 2020 09:26:22 +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: <A6C1B0DF-EAE0-46DC-9539-F56A3192E336@orandom.net>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="mwuEH3AIg7RGBhXfqOxGCJU6pf4u2cO1r"
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/vXmNxD-AikyIDDuPtvh34sBM0ak>
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: Tue, 21 Jan 2020 08:26:40 -0000

Hi Dave,

On 2020-01-21 06:51, David R. Oran wrote:
> Thanks a ton for the help. I puzzled around some more in the FAQ and
> RFC7991, getting rid of suspicious V2-ish stuff that used to be
> adorning all my draft source files and replacing the essentials with
> the right V3 constructs. However, among those was not the xmlns:ni,
> which I had copied from one of the examples in
> draft-hoffman-rfcexamples. Once that was gone the crash disappeared.
> 
> One unsolicited piece of advice is that in addition to the FAQ and
> RFC7991 itself, some templates in native V3 for people to start from
> would have saved me the pain you see in this thread. The example in
> Paul Hoffman’s draft (which I found googling “xml2rfc v3 examples” of
> course) was generated using the converter and wound up being
> extremely misleading for a “native” V3 source file.
> 
> Best, DaveO.
> 
> P.S. I did get another crash when I put my own <date> element in the
> <front> element as per “<date month='January' year='2020' /> When I
> let the converter insert the date in the output itself, no problem.

Thanks for the data and traceback; will fix the issue in the next release :-)

And yes, having v3 templates would be helpful.  I'll see if I can fix that
too.  Where would you normally grab a template?

	Henrik

> 
> 	xml2rfc draft-oran-icnrg-reflexive-forwarding.xml
> 	draft-oran-icnrg-reflexive-forwarding.xml(63): Warning: The document date (2020-01-01) is more than 3 days away from today's date
> 	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 620, in main
> 	    xmlrfc.tree = prep.prep()
> 	  File "/usr/local/lib/python2.7/site-packages/xml2rfc/writers/preptool.py", line 342, in prep
> 	    func(e, e.getparent())
> 	  File "/usr/local/lib/python2.7/site-packages/xml2rfc/writers/preptool.py", line 1123, in boilerplate_insert_status_of_memo
> 	    exp = datetime.date(year=year, month=month, day=day) + datetime.timedelta(days=185)
> 	TypeError: an integer is required
> 
> 
> On 20 Jan 2020, at 18:20, Henrik Levkowetz wrote:
> 
>> Hi again David,
>>
>> The issue is triggered by the code trying to insert the XInclude namespace
>> if it isn't defined, but your file defines the 'xi' namespace prefix not
>> as the XInclude namespace (http://www.w3.org/2001/XInclude), but as something
>> that's very close to it:  (https://www.w3.org/2001/XInclude).  The code
>> then tries to insert xmlns:xi="http://www.w3.org/2001/XInclude" which fails.
>>
>> The code should handle this better.  It's clearly a bug.  Menawhile, if you
>> change the https:// to http:// in the xmlns:xi attribute value, you should
>> be able to get further.
>>
>> Once you've fixed that, you'll find that using XInclude doesn't permit
>> any inaccuracies in the specification of the href, so you'll have to add
>> https:// to the <xi:include/> entries around line 140.  The v2 processor
>> is much more forgiving about this, but the XInclude specification doesn't
>> permit a processor to be lenient in the manner xml2rfc is for v2 input.
>>
>> Then you'll find that <tbody> isn't optional in v3 the way it is in html,
>> and other issues that should be easier to sort out.
>>
>>
>> Best,
>>
>> 	Henrik
>>
>> On 2020-01-20 23:59, Henrik Levkowetz wrote:
>>> Hi David,
>>>
>>> On 2020-01-20 23:25, David R. Oran wrote:
>>>> Thanks much. See below.
>>>
>>> Ack.  Will reply further once I've looked at the xml.  One point inline
>>> now:
>>>
>>>> On 20 Jan 2020, at 16:25, Henrik Levkowetz wrote:
>>>>
>>>>> 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.
>>>>>
>>>> attached.
>>>>
>>>>> 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.
>>>>>
>>>> No, I started from scratch…but cut a pasted a few things from an
>>>> earlier draft after checking (I thought correctly) that I was
>>>> following the strict V3 definitions. Possibly not…
>>>>
>>>> For yucks, I got rid of all that and started right off with the <rfc>
>>>> element and xml2rfc still crashes.
>>>>
>>>>> 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.
>>>
>>>> I believe that. But the output of the converter on
>>>> draft-hoffman-rfcexamples-latest left the DOCTYPE declaration in
>>>> there…
>>>
>>> I think you'll find that the DOCTYPE doesn't mention a dtd in that case,
>>> just a file which (if available) provides entity definitions.
>>>
>>> More in a moment.
>>>
>>>
>>> Best regards,
>>>
>>> 	Henrik
>>>
>>>>
>>>>>
>>>>>
>>>>> 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
>>>>>>
>>>>
>>>> DaveO
>>>>
>>>
> 
> DaveO
>