relaton / relaton-ietf

RFCBib: retrieve RFC Standards for bibliographic use using the BibliographicItem model
BSD 2-Clause "Simplified" License
2 stars 0 forks source link

Test cases for RFC XML authorship conversion (input: `rfc-index.xml`) #103

Closed ronaldtse closed 2 years ago

ronaldtse commented 2 years ago

The previous xml2rfc-bibxml tools provide a set of expectations on the authorship conversions from rfc-index.xml as mentioned by @rjsparks:

https://github.com/ietf-tools/bibxml-service/issues/296#issuecomment-1275227694

We should integrate these test cases from rfc-index.xml and their expected outputs in the rspec, in terms of:

https://github.com/ietf-tools/xml2rfc-bibxml/blob/318639ce7663bf9b043bce225c04f890d0f2ac64/bibxml/bibxml-rfcs/gen-bibxml-rfcs-via-rfc-index#L44-L331

Organizations:

        <name>Network Information Center. Stanford Research Institute</name> becomes
        <author><organization>Network Information Center. Stanford Research Institute</organization></author>

Information Sciences Institute University of Southern California
<author><organization>Information Sciences Institute University of Southern California</organization></author>

0804 International Telegraph and Telephone Consultative Committee of the International Telecommunication Union
<author><organization>International Telegraph and Telephone Consultative Committee of the International Telecommunication Union</organization></author>
0806 National Bureau of Standards
<author><organization>National Bureau of Standards</organization></author>
0892 International Organization for Standardization
<author><organization>International Organization for Standardization</organization></author>
0939 National Research Council
<author><organization>National Research Council</organization></author>
0940 Gateway Algorithms and Data Structures Task Force
<author><organization>Gateway Algorithms and Data Structures Task Force</organization></author>
0941 International Organization for Standardization
<author><organization>International Organization for Standardization</organization></author>
0985 National Science Foundation
<author><organization>National Science Foundation</organization></author>
0985 Network Technical Advisory Group
<author><organization>Network Technical Advisory Group</organization></author>
1001 NetBIOS Working Group in the Defense Advanced Research Projects Agency
<author><organization>NetBIOS Working Group in the Defense Advanced Research Projects Agency</organization></author>
1001 Internet Activities Board
<author><organization>Internet Activities Board</organization></author>
1001 End-to-End Services Task Force
<author><organization>End-to-End Services Task Force</organization></author>
1002 NetBIOS Working Group in the Defense Advanced Research Projects Agency
<author><organization>NetBIOS Working Group in the Defense Advanced Research Projects Agency</organization></author>
1002 Internet Activities Board
<author><organization>Internet Activities Board</organization></author>
1002 End-to-End Services Task Force
<author><organization>End-to-End Services Task Force</organization></author>
1083 Defense Advanced Research Projects Agency
<author><organization>Defense Advanced Research Projects Agency</organization></author>
1083 Internet Activities Board
<author><organization>Internet Activities Board</organization></author>
1255 The North American Directory Forum
<author><organization>The North American Directory Forum</organization></author>
1330 ESCC X.500/X.400 Task Force
<author><organization>ESCC X.500/X.400 Task Force</organization></author>
1330 ESnet Site Coordinating Comittee (ESCC)
<author><organization>ESnet Site Coordinating Comittee (ESCC)</organization></author>
1330 Energy Sciences Network (ESnet)
<author><organization>Energy Sciences Network (ESnet)</organization></author>
1417 The North American Directory Forum
<author><organization>The North American Directory Forum</organization></author>
1517 Internet Engineering Steering Group
<author><organization>Internet Engineering Steering Group</organization></author>
1616 RARE WG-MSG Task Force 88
<author><organization>RARE WG-MSG Task Force 88</organization></author>
1758 The North American Directory Forum
<author><organization>The North American Directory Forum</organization></author>
1797 Internet Assigned Numbers Authority (IANA)
<author><organization>Internet Assigned Numbers Authority (IANA)</organization></author>
1811 Federal Networking Council
<author><organization>Federal Networking Council</organization></author>
1889 Audio-Video Transport Working Group
<author><organization>Audio-Video Transport Working Group</organization></author>
2319 KOI8-U Working Group
<author><organization>KOI8-U Working Group</organization></author>
2339 The Internet Society
<author><organization>The Internet Society</organization></author>
2339 Sun Microsystems
<author><organization>Sun Microsystems</organization></author>

Persons:

0912 M. St. Johns
<author initials='M.' surname='St. Johns' fullname='M. St. Johns'><organization /></author>
1392 T. LaQuey Parker
<author initials='T.' surname='LaQuey Parker' fullname='T. LaQuey Parker'><organization /></author>
1438 A. Lyman Chapin
<author initials='A.' surname='Lyman Chapin' fullname='A. Lyman Chapin'><organization /></author>
1455 D. Eastlake 3rd
<author initials='D.' surname='Eastlake 3rd' fullname='D. Eastlake 3rd'><organization /></author>
1468 E. van der Poel
<author initials='E.' surname='van der Poel' fullname='E. van der Poel'><organization /></author>
1917 P. Nesser II
<author initials='P.' surname='Nesser II' fullname='P. Nesser II'><organization /></author>
1918 G. J. de Groot
<author initials='G. J.' surname='de Groot' fullname='G. J. de Groot'><organization /></author>
1953 F. Ching Liaw
<author initials='F.' surname='Ching Liaw' fullname='F. Ching Liaw'><organization /></author>
1985 J. De Winter
<author initials='J.' surname='De Winter' fullname='J. De Winter'><organization /></author>
2145 J. C. Mogul
<author initials='J. C.' surname='Mogul' fullname='J. C. Mogul'><organization /></author>
2170 J. Le Boudec
<author initials='J.' surname='Le Boudec' fullname='J. Le Boudec'><organization /></author>
2239 K. de Graaf
<author initials='K.' surname='de Graaf' fullname='K. de Graaf'><organization /></author>
2244 J. G. Myers
<author initials='J. G.' surname='Myers' fullname='J. G. Myers'><organization /></author>
2317 G. de Groot
<author initials='G.' surname='de Groot' fullname='G. de Groot'><organization /></author>
2322 K. van den Hout
<author initials='K.' surname='van den Hout' fullname='K. van den Hout'><organization /></author>
2611 D. van Gulik
<author initials='D.' surname='van Gulik' fullname='D. van Gulik'><organization /></author>
2626 P. Nesser II
<author initials='P.' surname='Nesser II' fullname='P. Nesser II'><organization /></author>
2836 F. Le Faucheur
<author initials='F.' surname='Le Faucheur' fullname='F. Le Faucheur'><organization /></author>
2839 F. da Cruz
<author initials='F.' surname='da Cruz' fullname='F. da Cruz'><organization /></author>
2877 T. Murphy Jr.
<author initials='T.' surname='Murphy Jr.' fullname='T. Murphy Jr.'><organization /></author>
2884 J. Hadi Salim
<author initials='J.' surname='Hadi Salim' fullname='J. Hadi Salim'><organization /></author>
2903 C. de Laat
<author initials='C.' surname='de Laat' fullname='C. de Laat'><organization /></author>
2904 B. de Bruijn
<author initials='B.' surname='de Bruijn' fullname='B. de Bruijn'><organization /></author>
2926 P. St. Pierre
<author initials='P.' surname='St. Pierre' fullname='P. St. Pierre'><organization /></author>
2963 S. De Cnodder
<author initials='S.' surname='De Cnodder' fullname='S. De Cnodder'><organization /></author>
3156 D. Del Torto
<author initials='D.' surname='Del Torto' fullname='D. Del Torto'><organization /></author>
3175 F. Le Faucheur
<author initials='F.' surname='Le Faucheur' fullname='F. Le Faucheur'><organization /></author>
3203 P. De Schrijver
<author initials='P.' surname='De Schrijver' fullname='P. De Schrijver'><organization /></author>
3229 A. van Hoff
<author initials='A.' surname='van Hoff' fullname='A. van Hoff'><organization /></author>
3245 J.C.R. Bennet
<author initials='J.C.R.' surname='Bennet' fullname='J.C.R. Bennet'><organization /></author>
3246 J.Y. Le Boudec
<author initials='J.Y.' surname='Le Boudec' fullname='J.Y. Le Boudec'><organization /></author>
3265 A. B. Roach
<author initials='A. B.' surname='Roach' fullname='A. B. Roach'><organization /></author>
3270 F. Le Faucheur
<author initials='F.' surname='Le Faucheur' fullname='F. Le Faucheur'><organization /></author>
3300 A. De La Cruz
<author initials='A.' surname='De La Cruz' fullname='A. De La Cruz'><organization /></author>
3304 R. P. Swale
<author initials='R. P.' surname='Swale' fullname='R. P. Swale'><organization /></author>
<author initials='P. A.' surname='Mart' fullname='P. A. Mart'><organization /></author>
3304 P. A. Mart
<author initials='R. P.' surname='Swale' fullname='R. P. Swale'><organization /></author>
<author initials='P. A.' surname='Mart' fullname='P. A. Mart'><organization /></author>
3351 A. van Wijk
<author initials='A.' surname='van Wijk' fullname='A. van Wijk'><organization /></author>
3571 K. Ho Chan
<author initials='K.' surname='Ho Chan' fullname='K. Ho Chan'><organization /></author>
3638 C. M. Heard
<author initials='J.' surname='Flick' fullname='J. Flick'><organization /></author>
<author initials='C. M.' surname='Heard' fullname='C. M. Heard'><organization /></author>
3640 J. van der Meer
<author initials='J.' surname='van der Meer' fullname='J. van der Meer'><organization /></author>
3997 R. K. deBry
<author initials='R. K.' surname='deBry' fullname='R. K. deBry'><organization /></author>
4038 E. M. Castro
<author initials='M-K.' surname='Shin' fullname='M-K. Shin' role='editor'><organization /></author>
<author initials='Y-G.' surname='Hong' fullname='Y-G. Hong'><organization /></author>
<author initials='E. M.' surname='Castro' fullname='E. M. Castro'><organization /></author>
4080 S. Van den Bosch
<author initials='S.' surname='Van den Bosch' fullname='S. Van den Bosch'><organization /></author>
4082 J. D. Tygar
<author initials='J. D.' surname='Tygar' fullname='J. D. Tygar'><organization /></author>
4105 J.-L. Le Roux
<author initials='J.-P.' surname='Vasseur' fullname='J.-P. Vasseur' role='editor'><organization /></author>
<author initials='J.-L.' surname='Le Roux' fullname='J.-L. Le Roux' role='editor'><organization /></author>
4117 A. van Wijk
<author initials='A.' surname='van Wijk' fullname='A. van Wijk'><organization /></author>
4124 F. Le Faucheur
<author initials='F.' surname='Le Faucheur' fullname='F. Le Faucheur' role='editor'><organization /></author>
4140 K. El Malki
<author initials='K.' surname='El Malki' fullname='K. El Malki'><organization /></author>
4171 C. Du Laney
<author initials='C.' surname='Du Laney' fullname='C. Du Laney'><organization /></author>
4176 Y. El Mghazli
<author initials='Y.' surname='El Mghazli' fullname='Y. El Mghazli' role='editor'><organization /></author>
4240 J. Van Dyke
<author initials='J.' surname='Van Dyke' fullname='J. Van Dyke'><organization /></author>
4382 H. van der Linde
<author initials='H.' surname='van der Linde' fullname='H. van der Linde' role='editor'><organization /></author>
4452 H. Van de Sompel
<author initials='H.' surname='Van de Sompel' fullname='H. Van de Sompel'><organization /></author>
4653 A. L. N. Reddy
<author initials='A. L. N.' surname='Reddy' fullname='A. L. N. Reddy'><organization /></author>
4657 J.L. Le Roux
<author initials='J.L.' surname='Le Roux' fullname='J.L. Le Roux' role='editor'><organization /></author>
4659 J. De Clercq
<author initials='J.' surname='De Clercq' fullname='J. De Clercq'><organization /></author>
4659 F. Le Faucheur
<author initials='F.' surname='Le Faucheur' fullname='F. Le Faucheur'><organization /></author>
4662 A. B. Roach
<author initials='A. B.' surname='Roach' fullname='A. B. Roach'><organization /></author>
4672 S. De Cnodder
<author initials='S.' surname='De Cnodder' fullname='S. De Cnodder'><organization /></author>
4674 J.L. Le Roux
<author initials='J.L.' surname='Le Roux' fullname='J.L. Le Roux' role='editor'><organization /></author>
4712 M. Rahman,Y. Kim
<author initials='M.' surname='Rahman' fullname='M. Rahman'><organization /></author>
<author initials='Y.' surname='Kim' fullname='Y. Kim'><organization /></author>
4719 M. Dos Santos
<author initials='M.' surname='Dos Santos' fullname='M. Dos Santos' role='editor'><organization /></author>
4720 N. Del Regno
<author initials='N.' surname='Del Regno' fullname='N. Del Regno'><organization /></author>
4722 J. Van Dyke
<author initials='J.' surname='Van Dyke' fullname='J. Van Dyke'><organization /></author>
4777 T. Murphy Jr.
<author initials='T.' surname='Murphy Jr.' fullname='T. Murphy Jr.'><organization /></author>
4798 J. De Clercq
<author initials='J.' surname='De Clercq' fullname='J. De Clercq'><organization /></author>
4829 J. de Oliveira
<author initials='J.' surname='de Oliveira' fullname='J. de Oliveira' role='editor'><organization /></author>
<author initials='JP.' surname='Vasseur' fullname='JP. Vasseur' role='editor'><organization /></author>
4864 G. Van de Velde
<author initials='G.' surname='Van de Velde' fullname='G. Van de Velde'><organization /></author>
4874 S. De Cnodder
<author initials='CY.' surname='Lee' fullname='CY. Lee'><organization /></author>
<author initials='S.' surname='De Cnodder' fullname='S. De Cnodder'><organization /></author>
4881 K. El Malki
<author initials='K.' surname='El Malki' fullname='K. El Malki' role='editor'><organization /></author>
4927 J.-L. Le Roux
<author initials='J.-L.' surname='Le Roux' fullname='J.-L. Le Roux' role='editor'><organization /></author>
4976 A. B. Roach
<author initials='A. B.' surname='Roach' fullname='A. B. Roach'><organization /></author>
5022 J. Van Dyke
<author initials='J.' surname='Van Dyke' fullname='J. Van Dyke'><organization /></author>
5023 B. de hOra
<author initials='B.' surname='de hOra' fullname='B. de hOra' role='editor'><organization /></author>
5073 J.L. Le Roux
<author initials='J.P.' surname='Vasseur' fullname='J.P. Vasseur' role='editor'><organization /></author>
<author initials='J.L.' surname='Le Roux' fullname='J.L. Le Roux' role='editor'><organization /></author>
5088 JL. Le Roux
<author initials='JL.' surname='Le Roux' fullname='JL. Le Roux' role='editor'><organization /></author>
<author initials='JP.' surname='Vasseur' fullname='JP. Vasseur' role='editor'><organization /></author>
5194 A. van Wijk
<author initials='A.' surname='van Wijk' fullname='A. van Wijk' role='editor'><organization /></author>
5212 JL. Le Roux
<author initials='JL.' surname='Le Roux' fullname='JL. Le Roux'><organization /></author>
5283 JL. Le Roux
<author initials='JL.' surname='Le Roux' fullname='JL. Le Roux'><organization /></author>
6001 JL. Le Roux
<author initials='JL.' surname='Le Roux' fullname='JL. Le Roux'><organization /></author>
6053 J. Hadi Salim
<author initials='J.' surname='Hadi Salim' fullname='J. Hadi Salim'><organization /></author>
6105 G. Van de Velde
<author initials='G.' surname='Van de Velde' fullname='G. Van de Velde'><organization /></author>
6108 B. Van Lieu
<author initials='B.' surname='Van Lieu' fullname='B. Van Lieu'><organization /></author>
6146 I. van Beijnum
<author initials='I.' surname='van Beijnum' fullname='I. van Beijnum'><organization /></author>
6198 A.J. Elizondo Armengol
<author initials='A.J.' surname='Elizondo Armengol' fullname='A.J. Elizondo Armengol'><organization /></author>
6283 A. Jerman Blazic
<author initials='A.' surname='Jerman Blazic' fullname='A. Jerman Blazic'><organization /></author>
6284 T. Van Caenegem
<author initials='T.' surname='Van Caenegem' fullname='T. Van Caenegem'><organization /></author>
6285 B. Ver Steeg
<author initials='B.' surname='Ver Steeg' fullname='B. Ver Steeg'><organization /></author>
6291 H. van Helvoort
<author initials='H.' surname='van Helvoort' fullname='H. van Helvoort'><organization /></author>
6339 L. Hornquist Astrand
<author initials='L.' surname='Hornquist Astrand' fullname='L. Hornquist Astrand'><organization /></author>
6344 H. van Helvoort
<author initials='H.' surname='van Helvoort' fullname='H. van Helvoort'><organization /></author>
6348 JL. Le Roux
<author initials='JL.' surname='Le Roux' fullname='JL. Le Roux' role='editor'><organization /></author>
6841 AM. Eklund Lowinder
<author initials='AM.' surname='Eklund Lowinder' fullname='AM. Eklund Lowinder'><organization /></author>
6894 JL. Le Roux
<author initials='JL.' surname='Le Roux' fullname='JL. Le Roux'><organization /></author>
7058 S P. Romano
<author initials='S P.' surname='Romano' fullname='S P. Romano'><organization /></author>
7059 R. van Rein
<author initials='R.' surname='van Rein' fullname='R. van Rein'><organization /></author>
7059 I. van Beijnum
<author initials='I.' surname='van Beijnum' fullname='I. van Beijnum'><organization /></author>
7079 N. Del Regno
<author initials='N.' surname='Del Regno' fullname='N. Del Regno' role='editor'><organization /></author>
8515 M.A. Reina Ortega
<author initials='M.A.' surname='Reina Ortega' fullname='M.A. Reina Ortega'><organization /></author>
8585 H. M.-H. Liu
<author initials='H. M.-H.' surname='Liu' fullname='H. M.-H. Liu'><organization /></author>
8846 S P. Romano
<author initials='S P.' surname='Romano' fullname='S P. Romano'><organization /></author>
8885 A. de la Oliva
<author initials='A.' surname='de la Oliva' fullname='A. de la Oliva'><organization /></author>
<author initials='JC.' surname='Zúñiga' fullname='JC. Zúñiga'><organization /></author>
8907 D.C. Medway Gash
<author initials='D.C.' surname='Medway Gash' fullname='D.C. Medway Gash'><organization /></author>
8979 D. von Hugo

The last one should probably be:

8979 D. von Hugo
<author initials='D.' surname='von Hugo' fullname='D. von Hugo'><organization /></author>
andrew2net commented 2 years ago

@ronaldtse I see what we need to test person fullnames parsing, right? But what should we test against the list of organizations?

ronaldtse commented 2 years ago

@andrew2net for organizations, we want to ensure that they are indeed encoded as organizations.

andrew2net commented 2 years ago

@ronaldtse if you mean the case when the organizations are represented as aouthor[@fullname] then the list of organizations doesn't include names from the issue https://github.com/relaton/relaton-ietf/issues/101#issuecomment-1247849853

ronaldtse commented 2 years ago

For example, I want to ensure that we have these tests:

  1. When parsing rfc-index.xml entry RFC0806, Relaton will treat the author as an organization author of "National Bureau of Standards".

  2. When generating BibXML output, the RFC 0806 author will be encoded as:

<author><organization>National Bureau of Standards</organization></author>
andrew2net commented 2 years ago
4712 M. Rahman,Y. Kim
<author initials='M.' surname='Rahman' fullname='M. Rahman'><organization /></author>
<author initials='Y.' surname='Kim' fullname='Y. Kim'><organization /></author>

@ronaldtse does the example mean that an author[@fullname] attribute can contain 2 names and we need to transform the 2 names into 2 author elements?

ronaldtse commented 2 years ago

(This is relevant to #102)

ronaldtse commented 2 years ago

@ronaldtse does the example mean that an author[@fullname] attribute can contain 2 names and we need to transform the 2 names into 2 author elements?

This is very strange. Perhaps it's a bug at the RPC. Let me find out.

ronaldtse commented 2 years ago

@ronaldtse does the example mean that an author[@fullname] attribute can contain 2 names and we need to transform the 2 names into 2 author elements?

I've checked rfc-index.xml. The current encoding is correct and nothing special should be done for it:

    <rfc-entry>
        <doc-id>RFC4712</doc-id>
        <title>Transport Mappings for Real-time Application Quality-of-Service Monitoring (RAQMON) Protocol Data Unit (PDU)</title>
        <author>
            <name>A. Siddiqui</name>
        </author>
        <author>
            <name>D. Romascanu</name>
        </author>
        <author>
            <name>E. Golovinsky</name>
        </author>
        <author>
            <name>M. Rahman</name>
        </author>
        <author>
            <name>Y. Kim</name>
        </author>
        <date>
            <month>October</month>
            <year>2006</year>
        </date>