forked from dajobe/raptor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.10
1019 lines (744 loc) · 34.6 KB
/
ChangeLog.10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2009-11-29 Dave Beckett <dave@dajobe.org>
* Merge from raptor 1.4.20 release SVNr15728 to trunk
2009-11-28 Dave Beckett <dave@dajobe.org>
* Merge RDFa changes from Raptor branch raptor1 (r15719)
* Snapshotted raptor_1_4_20 for 1.4.20 release (SVN 15727)
* tests/rdfa/0172.out, tests/rdfa/0172.xhtml, tests/rdfa/0173.out,
tests/rdfa/0173.xhtml, tests/rdfa/0174.out, tests/rdfa/0174.xhtml,
tests/rdfa/Makefile.am:
Added unapproved RDFa tests from librdfa upstream test suite:
0172: empty datatype attribute
0173: empty xml:lang attribute on plain literal
0174: single character namespace prefixes
0172 and 0173 test
Issue#0000306 http://bugs.librdf.org/mantis/view.php?id=306
0174 tests
Issue#0000310 http://bugs.librdf.org/mantis/view.php?id=310
* librdfa/rdfa.c:
(start_element): For raptor, turn a NULL language to "" which is
what librdfa expects.
* librdfa/curie.c, librdfa/language.c, librdfa/rdfa.c,
librdfa/triple.c:
Apply librdfa GIT commits up to
5823cb8bffe50fb1b46960f237f7274388cb5f93
commit 5823cb8bffe50fb1b46960f237f7274388cb5f93
Fixed @property CURIE processing unit tests to match code
updates.
commit a85d8e9e2e3d28452ad03d1ca64fdd98eed1c180
Fixed CURIE processing bug for TC 174.
The bug caused single-character prefixed CURIEs to be processed
incorrectly. Also fixed @property processing to not use reserved
words specified in a very early version of the RDFa spec. Fixed
a small bug related to processing CURIEs that have ':' as the
second character in the URI string.
commit f384b28bf916a2e0c7a7dbc99101a1a44c301965
Fixed plain literal bug uncovered by TC 172.
This bug caused plain literals to not be generated when
datatype="" was specified and when the content inside the element
contained XHTML child nodes.
* librdfa/language.c:
Apply librdfa GIT commit
9960791ee4beca8e52e5d3a9766aba73d33f0063
Fixed bug that caused unreviewed TC 173 to partially fail.
The currently active language, specified via xml:lang, was not
being cleared when xml:lang="" was specified.
Related to Redland Issue#0000306
http://bugs.librdf.org/mantis/view.php?id=306
2009-11-25 Dave Beckett <dave@dajobe.org>
* librdfa/rdfa.c, src/raptor_abbrev.c: Casts for C++
2009-11-25 Lauri Aalto <laalto@iki.fi>
* src/raptor_abbrev.c:
(raptor_abbrev_subject_lookup): Free node if
raptor_new_abbrev_subject() ownership transfer did not succeed.
* src/raptor_abbrev.c:
(raptor_abbrev_subject_find): Check for failures.
* src/raptor_serialize_turtle.c:
(raptor_turtle_emit): Free iterators on before returning an error.
* src/raptor_abbrev.c, src/raptor_avltree.c:
(raptor_avltree_sprout): Always take ownership of passed in node
data - free it if malloc fails. Make sure free_fn is not null
before calling it.
(raptor_abbrev_node_lookup,raptor_abbrev_subject_add_property):
raptor_avltree_add() now always takes ownership of added nodes.
* src/raptor_internal.h, src/raptor_serialize_rdfxmla.c:
fixed indent tabs -> spaces
* src/raptor_abbrev.c:
(raptor_abbrev_subject_invalidate): Return value expected
2009-11-24 Dave Beckett <dave@dajobe.org>
* many files: Merge from raptor branch raptor1
2009-11-23 Dave Beckett <dave@dajobe.org>
* src/raptor_abbrev.c, src/raptor_internal.h,
src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c,
tests/feeds/test01-result.ttl, tests/feeds/test02-result.ttl,
tests/feeds/test03-result.ttl, tests/feeds/test04-result.ttl,
tests/rdfxml/Makefile.am, tests/turtle/Makefile.am: Apply SVN
r15690 to raptor head
2009-11-15 Dave Beckett <dave@dajobe.org>
* utils/rdfdiff.c: Apply SVN 15667 to raptor trunk
2009-10-10 Dave Beckett <dave@dajobe.org>
* src/raptor_grddl.c:
(raptor_grddl_run_grddl_transform_uri): Fix XML parser context
resource leak if raptor_grddl_fetch_uri fails.
* src/raptor_grddl.c:
(raptor_grddl_parse_chunk): Save and restore error handlers
properly - restore loop was broken. Remove memcpy for clarity in
copying.
2009-08-25 Dave Beckett <dave@dajobe.org>
* autogen.sh: Update common autogen.sh
2009-08-21 Lauri Aalto <laalto@iki.fi>
* src/raptor_www.c:
(raptor_www_set_http_cache_control): Avoid dangling pointers
2009-08-03 Lauri Aalto <laalto@iki.fi>
* src/raptor_internal.h: Fixed comment
2009-07-27 Dave Beckett <dave@dajobe.org>
* src/turtle_parser.y
(main): Terminate parser
* src/turtle_lexer.l
(main): Init world and namespaces so turtle lexing test does not
die.
* src/raptor_parse.c
(raptor_parse_file): Simplify, no need for O_LARGEFILES flag and
open/fdopen sequence.
* configure.ac:
Check for fcntl.h and AC_SYS_LARGEFILE to get large file checks
* src/raptor_parse.c:
(raptor_parse_file): Use open(2) and apply O_LARGEFILE option to
allow 32bit systems to read multi-gigabyte files.
2009-07-23 Dave Beckett <dave@dajobe.org>
* Changelog entries above this are on BRANCH raptor1
* Create raptor 1 branch (SVN r15287)
2009-07-19 Dave Beckett <dave@dajobe.org>
* Tagged for raptor 1.4.19 (SVN r15280)
* Snapshotted raptor_1_4_19 for 1.4.19 release (SVN 15279)
* src/raptor_serialize_rss.c:
(raptor_rss10_emit_item): Handle C++'s picky casting between enum
types - that are really integers - to ints.
* src/raptor_rss_common.c: static data raptor_rss_fields_info:
semantic data errors found by C++'s more strict aliasing.
- Fix author item class.
- Set URI flag value for atom:schema and atom:href
* src/raptor_namespace.c:
(raptor_namespaces_init_v2, raptor_namespace_stack_to_array):
Casts for C++ in returns from RAPTOR_CALLOC for namespace stacks
* src/raptor_grddl.c:
(raptor_grddl_run_grddl_transform_doc): Cast for C++ for arg to
xsltSetCtxtSecurityPrefs.
* src/raptor_rfc2396.c:
(raptor_uri_resolve_uri_reference): Use memmove for overlapping
copy, not memcpy. [valgrind]
* src/raptor_serialize_json.c: raptor_json_context - use
raptor_statement_v2 for last statement.
(raptor_json_serialize_avltree_visit): Make V1 statements for the
stored V2 statements.
Improve fatal error messages.
* src/raptor_statement.c:
(raptor_free_statement): Restore actually freeing statement memory
- resource leak.
* configure.ac: libtool version change.
was: current 2 revision 0 age 1
rules steps:
3. source code changed: revision++ = 3
4. interfaces added and changed: current++ = 3, revision = 0
5. interfaces added: age++ = 2
6. interfaces removed: no
now: current 3 revision 0 age 2
* docs/libraptor.3: 1.4.19 changes
* src/raptor_turtle_writer.c:
(raptor_turtle_writer_literal): More silly games to prevent stupid
gcc warning: ignoring return value of 'strtol', declared with
attribute warn_unused_result so use the value and then discard it
in a stupid expression. Ditto strtod.
* src/raptor_uri.c:
(raptor_uri_print_v2): Silly games to prevent stupid gcc warning:
ignoring return value of 'fwrite', declared with attribute
warn_unused_result but right now there is nowhere to return the
error too.
* src/raptor_rss.c:
(raptor_rss_uplift_fields): Comment out variables used only in
debugging.
* src/raptor_turtle_writer.c:
(raptor_turtle_writer_literal): Ignore unused return values from
strtol and strtod used for checking.
* utils/rapper.c: Revert r15252 and reapply r14951 on rapper to
use experimental V2 APIs again
* configure.ac, src/Makefile.am, src/raptor_internal.h,
src/raptor_v2.h: Remove raptor_v2.h again - no need to dup this
for an internal build. Instead use -DRAPTOR_V2_EXPERIMENTAL when
building
* src/Makefile.am, src/raptor.h, src/raptor_internal.h,
src/raptor_v2.h: Added raptor_v2.h again - internal only and put
scary warning about V2 things into raptor.h
* src/raptor.h: use -DRAPTOR_V2_EXPERIMENTAL to enable the V2
structs and functions
* src/Makefile.am: Remove raptor_v2.h - bad idea for now
* src/Makefile.am, src/raptor.h, src/raptor_internal.h,
src/raptor_v2.h: Move public V2 structs and prototypes to internal
raptor_v2.h
* utils/rapper.c: Revert r14951 on rapper to use V1 APIs only for now
* COPYING, COPYING.LIB: Add specific versions of GPL (2) and
LGPL (2.1) to source control
2009-07-16 Dave Beckett <dave@dajobe.org>
* docs/raptor-docs.xml, docs/raptor-sections.txt,
docs/tmpl/section-general.sgml, docs/tmpl/section-parser.sgml,
docs/tmpl/section-serializer.sgml, docs/tmpl/section-world.sgml:
Add new functions. Add section world for init/cleanup and V2
world stuff
* src/raptor.h, src/raptor_grddl.c, src/raptor_sequence.c:
(raptor_new_sequence_v2): Renamed from
raptor_new_sequence_with_handler_context
* tests/rdfxml: Ignore automake outputs
* tests/ntriples: Ignore automake outputs
* tests/feeds: Ignore ttl outputs
* tests/feeds/Makefile.am: (check-serialize-atom): Make test use
generated file from build dir.
* utils/rapper.c: calloc another feature_value
* tests/feeds/Makefile.am: set result=1 on failures
* utils/rapper.c: calloc feature_value so that fields are
initialised to 0/NULL
* Raptor passes 'make check' test suite as of SVN r15234
* src/raptor_serialize_rss.c: Guess whether <atom:summary> on
input is xml or not based on if it starts with <
* tests/feeds/test02-result.atom, tests/feeds/test02-result.ttl,
tests/feeds/test02.rdf: Add <div>...</div> once to descs
* tests/feeds/test02.rdf: use <div>...</div> in descriptions
* tests/feeds/test03-result.atom: fix relative atom:link @href in
expected output
* src/raptor_serialize_rss.c:
(raptor_rss10_emit_atom_feed): Output relative URIs for
<atom:link @href>
* src/raptor_serialize_rss.c: Extra/tidy debug messages
2009-07-15 Dave Beckett <dave@dajobe.org>
* src/raptor_serialize_rss.c:
(raptor_rss10_serialize_statement, raptor_rss10_build_items): Use
raptor_rss_item_set_uri to always assign item identifier and uri
fields correctly.
* src/raptor_rss.h, src/raptor_rss_common.c:
(raptor_rss_item_set_uri): Added to set the item identifier fields
plus the item->uri field correctly.
2009-07-13 Dave Beckett <dave@dajobe.org>
* autogen.sh: Add SHAVE support - disabled by default and enabled
for maintainers.
libtool V2 needed
Add -Wall to automake args
Reorder args to remove dups
Find config_aux_dir and config_macro_dir and use them for copying in
config.{sub,guess} and adjusting aclocal args respectively.
2009-06-21 Dave Beckett <dave@dajobe.org>
* src/raptor_serialize_rss.c:
(raptor_rss10_move_statements, raptor_rss10_store_statement): When
mapping fields rss to atom, do not copy into a field that has a
value already.
2009-06-13 Dave Beckett <dave@dajobe.org>
* src/raptor_parse.c:
(raptor_get_name): Use factory method if present.
* src/raptor_guess.c:
(raptor_guess_guess_get_name): Implement get_name by passing it on
to internal guessed parser.
(raptor_guess_parser_register_factory): Register get_name
* src/raptor_internal.h: struct raptor_parser_factory_s gains
get_name method
* src/raptor_guess.c:
(raptor_guess_parse_chunk): docs
* src/raptor_grddl.c:
(raptor_grddl_run_grddl_transform_doc): Init userCtxt *after*
sheet is defined as not NULL. GRDDL transforms now work again.
* utils/rapper.c:
(main): If counting, do not use a serializer at all.
2009-05-16 Dave Beckett <dave@dajobe.org>
* src/raptor_serialize_rss.c: autodocs
* src/raptor_rss.c:
(raptor_rss_insert_rss_link): Added to add rss:link from atom:id
or <link rel=self>
(raptor_rss_insert_identifiers): Call above for channel and items.
* tests/feeds/test04-result.ttl: items and rss:links point to url
not tag: uri
* tests/feeds/test05-result.ttl: Moved dc:date to top
* tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
Added more atom:entrymap values
2009-05-12 Dave Beckett <dave@dajobe.org>
* src/raptor_rss.c:
(raptor_rss_insert_identifiers): Add an rss:link with
/atom:link[@rel="self"]/@href string contents if not already
present.
* src/raptor_rss.c:
(raptor_rss_emit_block): Add resource parameter for the subject of
the triples to set. Do not try to play save/restore games with
the statement.subject
(raptor_rss_emit_item): Pass in item identifier to above.
2009-05-11 Dave Beckett <dave@dajobe.org>
* src/raptor_rss.c:
(raptor_rss_emit_item): Set the atom author output node type by a
quick hack to alter the URIs.
2009-05-10 Dave Beckett <dave@dajobe.org>
* src/raptor_rss.c: raptor_rss_uplift_map merged into
raptor_atom_to_rss
(raptor_rss_copy_field): Added to do field copy/conversion with
pair
(raptor_rss_uplift_fields): Iterate over list of conversions and
call raptor_rss_copy_field.
* src/raptor_rss_common.c:
(raptor_rss_field_conversion_date_uplift): Added for converting
from junk date to ISO dates.
(raptor_rss_date_uplift): Deleted, replaced by above.
raptor_atom_to_rss: gains fields from raptor_rss_uplift_map and
uses above conversion function to fix rss:pubdate to dc:date
* src/raptor_rss.h: Add raptor_rss_field_conversion for converting
field values and add to raptor_field_pair
* tests/feeds/test05-result.ttl: Add dc:date, atom:id, atom:title
fields
2009-05-09 Dave Beckett <dave@dajobe.org>
* tests/feeds/test04-result.ttl: add both rss and renamed atom
fields rather than just one:
- dc:date & atom:updated
- rss:title & atom:title
- atom:id
- atom:summary
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Remove renaming of atom terms
to rss
(raptor_rss_uplift_fields): Add copying of atom to rss terms, not
renaming.
* src/raptor_rss_common.c: atom:author is a container, not a block
raptor_rss_items_info - set value type to RAPTOR_RSS_ITEM_CONTAINER
raptor_rss_fields_info - set class to RAPTOR_RSS_RDF_ATOM_AUTHOR_CLASS
raptor_rss_block_fields_info - remove author from list of blocks
* tests/feeds/test04.atom: Restore xhtml namespace to div
2009-05-01 Dave Beckett <dave@dajobe.org>
* docs/tmpl/section-general.sgml: update tmpls
* tests/turtle/Makefile.am, tests/turtle/test-32-out.ttl,
tests/turtle/test-32.ttl: Added test-32 based on test for
http://bugs.librdf.org/mantis/view.php?id=274
* src/raptor_serialize_turtle.c:
(raptor_turtle_emit_subject_collection_items): Notice when a new
subject happens and reset property iterator.
(raptor_turtle_emit_subject): Look for trees with 2 or more
properties to be a potential collection.
Fixes Issue#0000277 http://bugs.librdf.org/mantis/view.php?id=277
* src/raptor_parse.c:
(raptor_get_feature): Return raw parser int feature.
Fixes Issue#0000288 http://bugs.librdf.org/mantis/view.php?id=288
* src/raptor_feature.c: raptor_features_list use bit 16 to record
that an int is not a boolean flag. Should refactor these flags
for Raptor V2 and alter the raptor_feature_value_type() return.
2009-04-30 Dave Beckett <dave@dajobe.org>
* tests/feeds/Makefile.am: Add atom to turtle expected results to
EXPECTED_TTLS
* tests/turtle/Makefile.am: Add $(TURTLE_SERIALIZE_RDF_FILES) to dist
* tests/turtle/Makefile.am: More fixes for make distcheck testing
* tests/turtle/Makefile.am:
(check-turtle-parse-ntriples, check-turtle-serialize-rdf): Get
filenames from invoking Makefiles in nearby build-dirs not
src-dirs, which won't have makefiles in 'make distcheck' mode
* tests/ntriples/Makefile.am: Revert r15175
* tests/ntriples/Makefile.am: Make print-nt-test-files work in
'make distcheck' mode
* src/raptor_sax2.c:
(raptor_sax2_parse_chunk): Make undeclared entity not fatal in
parsing - errors are still thrown by the error callback, but
parsing continues. Makes
http://bugs.librdf.org/mantis/view.php?id=303 easier to deal with
- primary data gets out when errors are present; when DTDs are not
loaded.
* src/raptor_libxml.c:
(raptor_libxml_xmlStructuredErrorFunc): Hunt for error_handlers in
parser context user data too.
* src/raptor_sax2.c:
(raptor_new_sax2): Save correct libxml error handlers
2009-04-24 Dave Beckett <dave@dajobe.org>
* src/raptor.h: Revert raptor_error_handlers ABI change for now
2009-04-23 Dave Beckett <dave@dajobe.org>
* src/raptor.h, src/raptor_general.c, src/raptor_internal.h,
src/raptor_sax2.c: Protect calls to xmlSetStructuredErrorFunc()
and xmlSetGenericErrorFunc() by libxml flags and if enabled, save
and restore the previous values. Added
raptor_set_libxml_flags() (raptor V1) and
raptor_world_set_libxml_flags() (raptor V2) to set these flags.
Flags are defined in new enum raptor_libxml_flags.
Fixes Issue#000299 http://bugs.librdf.org/mantis/view.php?id=299
* docs/tmpl/section-feature.sgml, src/raptor.h,
src/raptor_general.c, src/raptor_grddl.c, src/raptor_internal.h,
src/raptor_parse.c: Use context-specific libslt security
configuration to avoid calling xsltSetDefaultSecurityPrefs().
Also allow user to set the policy for raptor globally with new API
function raptor_set_libxslt_security_preferences() (and in Raptor V2
with raptor_world_set_libxslt_security_preferences method on the
world class)
Fixes Isssue#0000296 http://bugs.librdf.org/mantis/view.php?id=296
2009-04-21 Dave Beckett <dave@dajobe.org>
* src/raptor_libxml.c:
(raptor_libxml_init, raptor_libxml_init_sax_error_handlers): Init
per-context structured error handlers to go to
raptor_libxml_xmlStructuredErrorFunc
* configure.ac: Use RAPTOR_LDFLAGS for rest of internally linked
libs for libm, curl, fetch, libxml, expat, libxslt, libinn (for
parsedate)
* configure.ac, raptor.pc.in, src/Makefile.am: Introduce
RAPTOR_LDFLAGS to replace raw LIBS as the internal set of
arguments to use in linking.
* configure.ac, src/Makefile.am, utils/Makefile.am: Add
--enable-debug configure option. use AM_CPPFLAGS for defines and
include options Remove unused STANDARD_CFLAGS
2009-03-31 Lauri Aalto <laalto@iki.fi>
* src/raptor_namespace.c:
(raptor_new_namespaces_v2): Lowmem fix. Use calloc instead of
malloc to have struct members initialized to zero in case
raptor_namespaces_init_v2() fails and need to free a partially
initialized nstack.
2009-03-30 Dave Beckett <dave@dajobe.org>
* configure.ac, src/raptor_serialize_rss.c: Test for
gettimeofday. (raptor_rss10_ensure_atom_feed_valid): Use condition
to avoid calling it on windows that doesn't have it. Patch from
Lou Sakey 2008-07-31 to redland-dev
* src/raptor_sax2.c:
(raptor_sax2_finish): Call xmlCleanupParser() libxml call last to
avoid an access violation on windows. Patch from Lou Sakey
2008-07-31 to redland-dev.
* src/raptor_general.c:
(raptor_vsnprintf): Windows vsnprintf() portability patch from Lou
Sakey.
2009-03-29 Dave Beckett <dave@dajobe.org>
* configure.ac: Substitute ECHO
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Make namespaces seen in fields
after any potential renames, so they will get declared later.
(raptor_rss_end_element_handler): End any blocks in all cases -
was not happening when there was no cdata.
(raptor_rss_emit_block): Only emit block strings that are not
NULL.
(raptor_rss_emit_connection): Turn predicate ordinals into URIs
since the RAPTOR_IDENTIFIER_TYPE_ORDINAL is deprecated (and turtle
serialiser does not handle it).
(raptor_rss_uplift_fields): Gain rss_parser arg and mark
namespaces seen in renames.
* src/raptor_rss_common.c: raptor_rss_fields_info - restore
rss:link value to string. raptor_rss_block_fields_info - fix
clashing offset for atom author name/email fields.
2009-03-28 Dave Beckett <dave@dajobe.org>
* tests/feeds/Makefile.am, tests/feeds/test02-result.atom,
tests/feeds/test04-result.ttl, tests/feeds/test04.atom,
tests/feeds/test05-result.ttl, tests/feeds/test05.atom: Add test04
and test05 atom parsing to turtle. Update test suite to show
errors better and use ECHO macros
* tests/feeds/test0[123].rdf:: Rename test0[123].rss to .rdf
* tests/turtle/Makefile.am: Use TURTLE_SERIALIZE_RDF_FILES so that
ex-62.rdf gets used
* tests/turtle/Makefile.am, tests/turtle/test-31-out.ttl,
tests/turtle/test-31.ttl: Add tests for serializing rdf:_<n>
properties back to themselves.
2009-03-23 Dave Beckett <dave@dajobe.org>
* tests/feeds/Makefile.am: use conditionals to execute tests in
sane order via FEED_TESTS var
* tests/feeds/Makefile.am:
(check-serialize-atom): Set parser/input base URI for test.
* tests/feeds/Makefile.am: notes
* tests/feeds/Makefile.am, tests/feeds/test01-result.ttl,
tests/feeds/test02-result.ttl, tests/feeds/test03-result.ttl: Add
parsing and serializing tests with intermediate turtle results to
check
* src/raptor.h, src/raptor_feature.c, src/raptor_internal.h,
src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c,
src/raptor_serialize_rss.c, src/raptor_turtle_writer.c,
src/raptor_xml_writer.c: Renamed
RAPTOR_FEATURE_ALIAS_DEFAULT_NAMESPACE to
RAPTOR_FEATURE_PREFIX_ELEMENTS (prefixElements) and change
meaning; it always declares prefix: and default namespace but this
option flips whether it core vocab is in the prefixed or default
namespace.
* src/raptor_serialize_rss.c:
(raptor_rss10_build_xml_names): Do not declare or start namespaces
with NULL prefix; only the default namespace *may* do that.
2009-03-20 Dave Beckett <dave@dajobe.org>
* tests/feeds/test01-result.atom: fix namespaces
* tests/feeds/test01-result.atom, tests/feeds/test02-result.atom,
tests/feeds/test03-result.atom: Add namespaces back to all
expected results
* src/raptor_serialize_rss.c:
(raptor_rss10_build_xml_names): Enable turning on/off namespaced
elements based on feature_alias_default_namespace
2009-03-19 Dave Beckett <dave@dajobe.org>
* tests/feeds/Makefile.am, tests/feeds/test01-result.atom,
tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
Remove -f aliasDefaultNamespace=0 from tests for now, to enable
fixing of other things on their own
2009-03-17 Dave Beckett <dave@dajobe.org>
* tests/feeds/Makefile.am: use $(srcdir) before expected
* tests/feeds/Makefile.am: report failure diff the right way
around: from expected to actual
2009-03-12 Dave Beckett <dave@dajobe.org>
* tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
Fix atom namespaces
* tests/feeds/Makefile.am: Set aliasDefaultNamespace=0
* tests/feeds/Makefile.am, tests/feeds/test01-result.atom,
tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
Add expected test results, make check works from Makefile alone
* tests/feeds/Makefile.am: Fix RAPPER call
2009-03-10 Dave Beckett <dave@dajobe.org>
* tests/feeds/test01.atom, tests/feeds/test02.atom,
tests/feeds/test03.atom: Remove atom output - now generated via
test
* tests/feeds/Makefile.am: fix error in error logging
* configure.ac, tests/Makefile.am, tests/feeds,
tests/feeds/Makefile.am: automaked tests/feed
* tests/feeds/Makefile: Removed, now autogenerated
2009-02-28 Dave Beckett <dave@dajobe.org>
* src/raptor_serialize_rss.c: comments
* src/raptor_serialize_rss.c:
(raptor_rss10_serialize_statement):
Code style, remove if() depth.
2009-02-27 Dave Beckett <dave@dajobe.org>
* src/raptor_rss_common.c: Make itunes:owner container work again.
2009-02-25 Dave Beckett <dave@dajobe.org>
* src/raptor_rss_common.c: fix enclosure class/predicate RDF names
* src/raptor_rss.h, src/raptor_rss_common.c: Added
RAPTOR_RSS_RDF_ENCLOSURE for enclosure predicate in RDF as well as
RAPTOR_RSS_RDF_ENCLOSURE_CLASS for enclosure class in RDF
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Declare as
seen the namespace for a block.
* src/raptor_rss.h, src/raptor_rss_common.c: Add RAPTOR_ATOM_LINK
block type
* src/raptor_rss.c:
(raptor_rss_emit_block): Emit type URI from
cls field, not predicate.
2009-02-23 Dave Beckett <dave@dajobe.org>
* src/raptor_rss.c: raptor_rss_element loses unused rel field
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Remove
unused element attribute recognition <source url> and <category domain>
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Set
enclosure namespace used if an enclosure block was seen.
2009-02-22 Dave Beckett <dave@dajobe.org>
* src/raptor_rss_common.c: raptor_rss_items_info - add block
predicate types raptor_rss_fields_info - make atom:author a
block. add atom:Author, atom:Category, atom:label, atom:schema and
atom:term raptor_rss_block_fields_info - add new predicates for
atom:category block add atom:author block
* src/raptor_rss.c: raptor_rss_parser gains current_block field to
store current metadata block object.
(raptor_rss_start_element_handler): Set current_block.
(raptor_rss_end_element_handler): Store any cdata in block field
with NULL attribute if there is one.
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Wildcard element name matches
for RSS namespaces
* src/raptor_rss.c:
(raptor_rss_block_set_field): Added.
(raptor_rss_start_element_handler): Use above to set a block
attribute value
* src/raptor_rss.c: raptor_rss_parser - comment.
(raptor_rss_start_element_handler): Use
raptor_rss_get_current_item to get item. When checking block
attributes, skip NULL attribute names - for element cdata
* src/raptor_rss.c:
(raptor_rss_emit_block): Code style and skip block fields with no name.
(raptor_rss_emit_item): Code style.
* src/raptor_rss_common.c: raptor_rss_fields_info modify to make
rss:link and rss:docs take URLs
* src/raptor_rss.c, src/raptor_rss_common.c,
src/raptor_serialize_rss.c: Use RAPTOR_RSS_RDF_ENCLOSURE_CLASS for
enclosure class and RAPTOR_RSS_FIELD_ENCLOSURE for predicate
* src/raptor_rss.h: RAPTOR_RSS_BLOCKS_SIZE 10 after removing rss
container
* src/raptor_rss.h, src/raptor_rss_common.c: Add itunes: namespace
and itunes:owner container with fields in namespace itunes:
author, subtitle, summary, keywords explicit, image, name, block,
category and email
* src/raptor_rss.h, src/raptor_rss_common.c: raptor_rss_type loses
RAPTOR_RSS_CATEGORY type. raptor_rss_block_fields_info loses rss
category - just make it a string value
* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c:
raptor_rss_type delete RAPTOR_RSS_UNKNOWN and replace with
RAPTOR_RSS_NONE everywhere
2009-02-21 Dave Beckett <dave@dajobe.org>
* src/raptor_rss.h, src/raptor_rss_common.c,
src/raptor_serialize_rss.c: raptor_rss_field_info renamed from
raptor_rss_info
* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c,
src/raptor_serialize_rss.c: raptor_rss_items_info renamed from
raptor_rss_types_info raptor_rss_types_info gains a flags field to
distinguish blocks from containers.
(raptor_rss_add_container): Use flag to only scan containers, not
blocks.
(raptor_rss_emit_block): Handle all types of blocks. Use the node
type from raptor_rss_types_info to emit the node type. Use the
raptor_rss_block_fields_info to emit the predicates for all
blocks.
2009-02-20 Dave Beckett <dave@dajobe.org>
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Code style.
* src/raptor_rss.c:
(raptor_rss_insert_identifiers): Tidy to use
raptor_set_identifier_uri. Indenting.
* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c,
src/raptor_serialize_rss.c:
(raptor_rss_start_element_handler, raptor_rss_insert_identifiers,
raptor_rss10_serialize_statement): Use raptor_set_identifier_uri
and raptor_set_identifier_id and refactor to use them better.
(raptor_rss_block_make_blank_node,
raptor_rss_insert_block_identifiers): Deleted.
(raptor_rss_item_equals_statement_subject): Added.
(raptor_new_rss_block): Add id argument.
* src/raptor_identifier.c, src/raptor_internal.h:
Added raptor_set_identifier_uri and raptor_set_identifier_id
* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c,
src/raptor_serialize_rss.c: Remove old enclosure core and switch
to data-driven raptor_rss_block metadata code. Update copyrights
for 2009. typedef raptor_rss_block_fields_info renamed from
raptor_rss_block_info and add docs. Renamed field 'attribute'
from field_name, attribute_type from field_type. Added rdf
predicate info 'field'. raptor_rss_block_fields_info adds
predicate info.
(raptor_rss_start_element_handler): Read from
raptor_rss_block_fields_info.
(raptor_rss_insert_block_identifiers): Renamed from
raptor_rss_insert_enclosure_identifiers.
(raptor_rss_insert_identifiers): Call above with new name.
(raptor_rss_emit_block): Use more data tables to emit block.
* src/raptor_rss_common.c: Add sentinel to end
raptor_rss_blocks_info array
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Recognise blocks from flags
and handle <enclosure> attributes @url, @length and @type -
statically for now.
* src/raptor_rss.h, src/raptor_rss_common.c: raptor_rss_info gains
block flag and block_type to use when a block is found.
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Fix conditions for recognizing
inner containers.
* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c: Add
raptor_rss_block_info to record other metadata blocks
configuration: rss enclosues, atom categories, rss category and
rss source. Switch raptor_rss_block structure from a list of
specific fields to short arrays of urls and strings.
(raptor_free_rss_block, raptor_rss_start_element_handler,
raptor_rss_insert_enclosure_identifiers, raptor_rss_emit_block):
Switch to generic raptor_rss_block URLs, strings
2009-02-20 Lauri Aalto <laalto@iki.fi>
* src/raptor_rss.c:
(raptor_rss_emit_block): Compilation fix after function parameter
rename
2009-02-19 Dave Beckett <dave@dajobe.org>
* src/raptor_rss.c:
(raptor_rss_emit_block): Renamed from raptor_rss_emit_enclosure
* src/raptor_rss.h, src/raptor_rss_common.c: Add none raptor node type
* src/raptor_rss.c: Code style / whitespace.
(raptor_rss_end_element_handler): Use
raptor_rss_get_current_item() to get update_item.
2009-02-18 Dave Beckett <dave@dajobe.org>
* src/raptor_rss.c:
(raptor_rss_get_current_item): Pull logic out to get item for
current type.
(raptor_rss_start_element_handler): Fix inner container
processing. Look for rdf:about on an item to get item URI there
first. Pull out enclosure construction from general field
handling.
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Remove extra code block &
outdent.
* src/raptor_rss.c:
(raptor_rss_promote_namespace_uri): Added for storing namespace
change rules.
(raptor_rss_start_element_handler): Use above to simplify field
search logic. Document how an element matches a field.
* src/raptor_rss.c:
(raptor_rss_add_container): Add rules about inner containers,
setting prev_type if seen and put author element ambiguity rules
here.
(raptor_rss_start_element_handler): Use above to replace inner
container identification code.
* src/raptor_rss.c:
(raptor_rss_add_container): Added, pulled out of
raptor_rss_start_element_handler to include the logic for
determining feed type and container from element name.
(raptor_rss_start_element_handler): Call above.
* src/raptor_rss.c:
(raptor_rss_start_element_handler): Comments and tidying control
flow when identifying a container for rss_parser->current_type
* src/raptor_rss.c:
(raptor_rss_block_make_blank_node): Added
pulled out of raptor_rss_insert_identifiers
(raptor_rss_insert_identifiers): Call above.
* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c:
raptor_rss_block gains rss_type field
(raptor_new_rss_block): Take type as param and use to set
node_type.
(raptor_rss_insert_enclosure_identifiers): Remove node_type init
and let raptor_new_rss_block set it.
(raptor_rss_start_element_handler): Call raptor_new_rss_type with
param for enclosure.
* src/raptor_rss.h: prototype param
* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c:
raptor_rss_item renamed field enclosure to blocks.
(raptor_rss_insert_identifiers, raptor_rss_emit_item,
raptor_free_rss_item, raptor_rss_item_add_block): Renamed
item->enclosure to item->blocks and renamed variables.
* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c:
Rename raptor_rss_enclosure to raptor_rss_block throughout and
corrected naming convention.
(raptor_new_rss_block): Renamed from raptor_rss_new_enclosure.
(raptor_rss_item_add_block): Renamed from
raptor_rss_item_add_enclosure.
(raptor_free_rss_block): Renamed from raptor_enclosure_free.
* src/raptor.h, src/raptor_feature.c, src/raptor_internal.h,
src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c,
src/raptor_serialize_rss.c, src/raptor_turtle_writer.c,
src/raptor_xml_writer.c, utils/rapper.c:
Added serializer feature
RAPTOR_FEATURE_ALIAS_DEFAULT_NAMESPACE (aliasDefaultNamespace) for
atom and rss 1.0 serializers to prevent declaring the default
namespace twice with a prefix and without. raptor_feature gains
RAPTOR_FEATURE_ALIAS_DEFAULT_NAMESPACE raptor_features_list gains
new feature
(raptor_turtle_writer_set_feature, raptor_sax2_set_feature,
raptor_xml_writer_set_feature, raptor_set_feature,
raptor_get_feature, raptor_serializer_set_feature_string,
raptor_serializer_get_feature_string): enum extensions for
raptor_feature switches. struct raptor_serializer_s gains int
field feature_alias_default_namespace
raptor_rss10_serializer_context gains a flag free_default_nspace
to know when to free default namespace now that it may not be
needed.
(raptor_rss10_serialize_terminate): Use the free_default_nspace
flag.
(raptor_rss10_build_xml_names): Implement altered namespace
declaration rules.
(raptor_new_serializer_v2): Initialise default namespace aliasing
to true by default.
(raptor_serializer_set_feature): Set flag.
* src/raptor_rss.h: document struct raptor_rss_enclosure_s fields
2009-02-18 Lauri Aalto <laalto@iki.fi>
* src/raptor_internal.h, src/raptor_sax2.c: Lowmem fixes in
raptor_sax2
(raptor_sax2_s): Internal struct gains "failed" field.
(raptor_sax2_parse_start):
Check for raptor_namespaces_init_v2() failure and set sax2 struct
failure flag.
(raptor_sax2_start_element, raptor_sax2_end_element,
raptor_sax2_characters, raptor_sax2_cdata, raptor_sax2_comment,
raptor_sax2_unparsed_entity_decl,
raptor_sax2_external_entity_ref):
No-op if sax2 struct in failed state.
* src/raptor_namespace.c:
(raptor_namespaces_init_v2): Check for alloc failure
* src/raptor_namespace.c:
(raptor_namespaces_qname_from_uri): Init ns to NULL to prevent
use-before-init warnings from some optimizing compilers.
2009-02-17 Dave Beckett <dave@dajobe.org>
* src/raptor_namespace.c:
(raptor_namespaces_get_default_namespace): Make this work again -
look for default namespace in correct bucket.