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 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370
|
=== version history of distribution XML-Compile
Unless noted otherwise, these changes where initiated and applied by
Mark Overmeer.
Plans and unwanted limitations? see README.todo
version 1.64: Mon 21 Oct 15:39:09 CEST 2024
Fixes:
- accept empty groups.
- #! of bin/schema2example [Andrius Merkys]
- hooks did not run on restriction/extension types. GitHUB issue #6 [Frank Seitz]
Improvements:
- spell fixes from Debian. GitHUB issue #4 [Utkarsh Gupta]
- explain use of CDATA in WSDLs in the FAQ.
- template compact output sometimes removes a useless empty line.
- additional element group tests
version 1.63: Tue 02 Jul 16:35:01 CEST 2019
Improvements:
- dataToXML auto-detects XML string when it starts with a BOM.
version 1.62: Wed 15 May 15:14:28 CEST 2019
Fixes:
- empty list elements are not an error [Rob De Langhe]
- facet date_whiteSpace [Ferruccio Zamuner]
version 1.61: Fri 9 Nov 10:51:04 CET 2018
Fixes:
- forgot to add README.md to GIT.
- simple value '0' occasionally totally ignored [Rob De Langhe]
Improvements:
- alternative output style for [Patrick Powell]
- explain use of CDATA in ::FAQ [Christopher Taranto]
version 1.60: Sun Mar 4 22:53:03 CET 2018
Fixes:
- accept non-ascii word characters in NCName type [Aleksei Y Ananev]
- use of facets with nested simpletypes [Aleksei Y Ananev]
Improvements:
- convert to GIT, publish on GitHub.
version 1.59: Thu 28 Dec 11:29:27 CET 2017
Improvements:
- remove json regression tests from t/ into xt/, because those
modules keep on breaking... [cpantesters]
version 1.58: Tue 27 Jun 16:50:29 CEST 2017
Fixes:
- early facet on missing field [Bernhard Reutner-Fischer]
Improvements:
- move to Log::Report 1.20, which has considerable changes.
version 1.57: Wed 14 Jun 14:48:18 CEST 2017
Fixes:
- better separation between lexical- and value-space facets.
rt.cpan.org#121946 [Nils Barkald]
- json_friendly changes broke some (semi-illegal) enumeration and
pattern facets. Now new solution with dualvar [Wesley Schwengle]
version 1.56: Thu 30 Mar 08:54:49 CEST 2017
Fixes:
- disabled a few regression tests which involve json_friendly, because
the modules changed behavior.
version 1.55: Wed 8 Mar 08:28:02 CET 2017
Changes:
- xml2yaml: new option --keep-root, default true.
Improvements:
- spell fix Debian rt.cpan.org#118569 [Lucas Kanashiro, Debian]
- add json_friendly, patch by rt.cpan.org#120066 [Slaven Rezic]
- added bin/xml2json
version 1.54: Mon Sep 19 22:26:02 CEST 2016
Fixes:
- dependency on XML::LibXML should be at lease 2.0107
rt.cpan.org#117295 [Andreas Schipplock]
- examples where not included in the man-page [Andrew Beverley]
Improvements:
- spell fix Debian rt.cpan.org#116326 [Lucas Kanashiro, Debian]
version 1.53: Sat 16 Jul 01:32:17 CEST 2016
Fixes:
- precissionDecimal --> precisionDecimal [Bernhard Reutner-Fischer]
- NMTOKENS has minLength=1
- support some facets on (extensions of) xs:Date
Improvements:
- spell fix Debian rt.cpan.org#111235 [Lucas Kanashiro]
version 1.52: Fri 15 Jan 08:48:32 CET 2016
Fixes:
- stricter check for totalFracDigits [Max Maischein]
- implement facets on duration [Anthony Yen]
Improvements:
- split t/55facet_date.t from t/55facet.t
version 1.51: Thu 5 Nov 17:50:06 CET 2015
Fixes:
- stricter check for date field [Rolf Schaufelberger]
- base64Binary writer will check for wide characters
rt.cpan.org#108410 [Mark Gardner]
Improvements:
- reader: added replace hook XML_NODE
- writer: mixed_elements => 'ATTRIBUTES' became much smarter
- writer: compileType for types without namespace
version 1.50: di jul 21 17:35:33 CEST 2015
Changes:
- input of simpletype hooks is now a simpletype
Fixes:
- root elements cannot be substituted
- nested substitutionGroup's (broken since 1.44)
- multi-level fallback type inheritance for substGroups
Improvements:
- writer: minor improvements in hooks
version 1.49: Thu Jun 11 09:40:55 CEST 2015
Fixes:
- writer: use of prefix in key field for any.
- doc spelling, rt.cpan.org #104333 [gregor herrmann]
- do not attempt to find hooks on "unnamed complex"
rt.cpan.org#105161 [Nick Wellnhofer]
version 1.48: Mon Dec 22 08:22:03 CET 2014
Improvements:
- ::dataToXML will show more about the input it does not understand
unless it is XML [Jan-willem van Eys]
- writer: new ::Schema::compile() option xsi_type_everywhere
with tests in t/64xsi.t
- ::Schema::compile() options show which are limited to use in
readers resp writers only.
- add hooks selector 'extends'
- writer: hooks get fulltype parameter, otherwise you cannot see
the type for 'extends' selectors.
version 1.47: Sat Oct 11 01:33:15 CEST 2014
Fixes:
- xsi:type compilation cache problem [Lloyd Roles]
version 1.46: Tue Sep 2 09:30:22 CEST 2014
Fixes:
- xsi:type AUTO with very local namespace declarations.
- template: sometimes output got cleaned-up a little too much.
- translated: calls to prefixed() for documentation/error
purposes should not cause xmlns in the result XML.
version 1.45: Mon Aug 11 09:16:56 CEST 2014
Fixes:
- reader: optional substitutionGroup's
- tests: disable t/03duration.t when tzset is not supported
(Windows) [cpantesters]
- remove default elements_qualified => 'TOP' [Ciaran Deignan]
- the nodePath is not unique enough for the cache, in case
of [René Keldermann] Requires XML::LibXML 2.0100
Improvements:
- use prefixes in $path (for errors) when known.
version 1.44: Wed May 28 09:23:24 CEST 2014
Changes:
- namespace qualification of global element and attributes was
implemented incorrectly. Had little consequence for most
schema's, because they use elementFormDefault="qualified",
but does show when using global attributes across namespaces.
Discovered by [Michiel Ootjers]
Fixes:
- writer: prefixes on required attributes [Christian Cebular]
- failing open with unknown filename did report <undef>, not filename
- template XML: show attributes not as elements
- template XML: XML compatible example for list elements
- memory-leak keeping ::Reader and ::Writer objects [Michiel Ootjers]
- do not accept to read NIL when not nillable
Improvements:
- ::Util new functions add_duration() and duration2secs() tests
in t/03duration.t
- adapt no try{} changes in Log::Report
- writer: ignore_unused_tags for tagged.
version 1.43: Thu Feb 6 15:34:01 CET 2014
Fixes:
- two schema's with same basename, size and mtime are possible
rt.cpan.org#92090 [Brendan Knox]
- preparation of "tagged" default element [Wesley Schwengle]
Improvements:
- change documentation style.
- ::dataToXML() will produce a clearer error when it thinks to
see a filename which is missing.
version 1.42: Mon Jan 6 00:53:54 CET 2014
Fixes:
- another attempt on namespaces with ref attributes
version 1.41: Sun Jan 5 17:44:35 CET 2014
Fixes:
- schema's without elements did not get registered. They may
contain <import>, for instance.
- namespace, qualified and attributes to attributes via ref
Improvements:
- small trick to around namespace problems with namespace-less
schema's in SOAP [Patrick Powell]
- add ::Namespaces::importIndex()
version 1.40: Tue Nov 26 09:57:33 CET 2013
Fixes:
- whiteSpace facet on dateTime [magallanes]
- support for explicitTimeZone facet on dates
Improvements:
- error on build-in type now shows location [Radek Šťastný]
version 1.39: Fri Oct 11 15:55:05 CEST 2013
Fixes:
- all: add enumeration and pattern facets on dates.
rt.cpan.org#89259 [Rumen Palov]
- base64binary encoded fields without newlines
version 1.38: Tue Sep 10 14:56:24 CEST 2013
Fixes:
- reader: simple-type nillable with default value [Ciaran Deignan]
- templates: show array when "shown above" is quoted as array.
- writer: nested particle blocks produced "undef" error when
used incorrectly. Reported by [Alex Bernier]
- all: namespace qualification where ref with attribute not
the tns. [Alex Bernier]
Improvements:
- test for nested choice blocks
version 1.37: Thu Aug 22 16:11:24 CEST 2013
Changes:
- reader: mixed_element own handler now also gets the $path
Improvements:
- template: display '' around default and fixed values
- typemap hooks now also use new 'action' parameter
version 1.36: Sat Aug 10 00:09:44 CEST 2013
Fixes:
- example of base64Binary should show that Perl's version is
automatically encoded and decoded.
- ::Instance::element typo in hash field name
rt.cpan.org#87682 [Jason Prondak]
Improvements:
- ::Schema::addHook() now permits to specify a processing direction
- also for ::Schema::hooks()
version 1.35: Fri Jun 28 16:15:48 CEST 2013
Fixes:
- use of element explicit 'form' qualifier. Test in t/77form.t
rt.cpan.org#86079 [Manfred Stock]
- type of element in substitutionGroup defaults to type of base,
not anyType. [Mark Hofstetter]
version 1.34: Mon May 13 16:16:30 CEST 2013
Fixes:
- writer: fix <any> as only component of particle block.
version 1.33: Fri May 3 10:02:27 CEST 2013
Fixes:
- schema's used elementFormDefault=TOP when there was a
targetNamespace. That's too much.
- some schemas have not named types, to recursion is not
detected: detection based on label is also required.
- reader: replace hook should not get extra '_' level.
- detection whether Big::Float is needed was incorrect
rt.cpan.org#85000 [James Davis]
- reader hook: added INCLUDE_PATH
Improvements:
- improvement in OODoc generated pods
- reader: introduction of nodePath in some error messages.
- moved some TODO from ChangeLog into README.todo
version 1.32: Thu Mar 28 11:13:33 CET 2013
Fixes:
- templates must detect recursion and reuse based on type, not
label. [Max Maischein]
Improvements:
- support facets on dateTime types, needed by [Andrew Campbell]
- add xml2yaml option --mixed
rt.cpan.org#83274 [Slaven Rezic]
version 1.31: Thu Jan 24 15:33:04 CET 2013
Fixes:
- reader: elements after xsi:type elements.
reported by [Lars Thegler]
- typos: rt.cpan.org#82919 [Joenio Marques da Costa]
Improvements:
- writer: support prefix notation with XSI_TYPE
version 1.30: Mon Nov 26 09:28:10 CET 2012
Fixes:
- produce predictable results for writer order of choice, when
there are specials to fix tests in 5.17.5, where the HASH
algorithm changed. [cpantesters]
version 1.29: Tue Oct 16 16:27:13 CEST 2012
Fixes:
- template: fix understanding of predefined hook names.
- writer: sort any and anyAttribute elements before processing
them, so the elements are in predictable order (required for
regression tests)
Improvements:
- new function ::BuiltInTypes::builtin_type_info()
version 1.28: Sat Oct 6 13:38:15 CEST 2012
Changes:
- template: the type of the element is listed before other info.
Fixes:
- major rewrite on handling of nillable.
rt.cpan.org #79986 [Karen Etheridge]
Improvements:
- writer: support for any blocks where the type keys is not
specified as '{$ns}local', but as '$prefix:local'.
version 1.27: Fri Aug 31 00:26:13 CEST 2012
Fixes:
- Nillable in combination with empty complexTypes.
Reported by [Graeme Stewart]
Improvements:
- use [0-9], not \d in regexes for types.
- writer: added explanation and example for complexType/singleContent
use with single value, not HASH. Suggested by
rt.cpan.org#79270 [Karen Etheridge]
- changed implementation of XML::Compile::Schema::Namespaces
autoexpand_xsi_type()
version 1.26: Thu Aug 16 00:07:44 CEST 2012
Changes:
- there was no way to encode or decode attributes to NILled
elements. The fix implies that the reader will not return
a simple "NIL" anymore for tagged and complex elements,
but { _ => 'NIL' } Reported by [Ivan Šimoník]
Fixes:
- fix use of default in "tagged" simple.
Reported by [Philip Garrett]
- documentation mistake in Translate::Reader, declare typemaps
with addTypemaps(), not typemap(). Reported by [Ivan Šimoník]
Improvements:
- template: nillable much clearer presented
- added some test for use of CDATA as node text.
- add $schema->template(TREE => ...)
version 1.25: Fri Mar 9 21:34:36 CET 2012
Fixes:
- fix compiling of simpleContent with facets.
rt.cpan.org#75235 [Piers Cawley]
Improvements:
- better check for NCName.
- warn for automatic (base64) formatting in ::BuildInTypes
[Michael Ludwig]
- permit base-type in list of xsi_type alternatives (although
still not required in that list)
- xsi_type table now can have 'AUTO' to replace the explicit
alternatives list. May be slow, but it DWIMs.
- when "integer" type values stay small, we do not use Math::BigInt
anymore. Less need for sloppy_integer.
version 1.24: Wed Dec 28 12:23:13 CET 2011
Fixes:
- hexBinary should use capitals.
rt.cpan.org #73130 [Piotr Roszatycki]
Improvements:
- doc-fix use of addHook [Michael Ludwig]
- fixes to the documentation system.
version 1.23: Wed Nov 23 09:44:07 CET 2011
Improvements:
- writer: show more of the string in failed union match.
- added 'no warnings recursion' to the translators.
[Brian Phillips]
- added extra tests for union of date and dateTime
- template: change display of facet whitespace.
- template: do not use comments in XML which contain '--'
rt.cpan.org#72616 [Piotr Roszatycki]
- template: add xs and xsi declarations to XML example when
show_type is in effect.
rt.cpan.org#72616 [Piotr Roszatycki]
version 1.22: Mon Jun 20 14:25:14 CEST 2011
Fixes:
- man-page of bin/schema2example told that the name of the
program still was xml2example.
- template: show occurance of ANY elements.
- initialize XML::LibXML::Parser into safe mode.
rt.cpan.org#68803 [Yann Kerherve]
Improvements:
- template: with restrictions on any and anyAttribute namespaces,
show prefixes not full names except for the default namespace.
- template: correct example of simpleType list.
- template: remove superfluous element name from default/fixed/nil
version 1.21: Fri Dec 24 10:20:15 CET 2010
Fixes:
- some tests fail with new versions of Test::More
version 1.20: Wed Dec 22 16:34:24 CET 2010
Changes:
- ::Schema::compile(include_namespaces) with a personal filter will
now be called for all known namespaces, not only the used
namespaces. (Needed to reseolve qname problems)
Fixes:
- added missing formatter when both totalDigits and fractionDigits
are restricted. rt.cpan.org#63464 [mimoň-cz]
Improvements:
- base64Binary length facet implemented with new
MIME::Base64::decoded_base64_length()
- disable t/55facet_list.t tests for old libxml2 versions,
because the used regexp is broken in those releases, causing
daily mails from cpantesters.
version 1.19: Mon Oct 25 00:06:25 CEST 2010
Fixes:
- template: missing '{' in some cases [Patrick Powell]
- unsignedInt max value has 10 digits, not 9. Repair validation
limit. rt.cpan.org#62281 [Aleksey Mashanov]
- fix pod problem in ::FAQ, spotted by [Patrick Powell]
- added missing built-in type dateTimeStamp.
- writer: implemented/fixed length validation of base64Binary and
hexBinary.
- implemented/fixed enumeration validation of a QName type
rt.cpan.org#62237 [Aleksey Mashanov]
Improvements:
- ::Instance does not look for 'ref' attributes, because that
cannot be used on top-level elements and types.
- ::Instance only collects info about type lazily, which speeds-up
applications with huge schemas which are only partially used.
In general it uses less memory.
- rewrote administration of substitutionGroups to access it faster.
This may change the examples produced in template.
- new ::Namespaces::doesExtend() to walk inheritance, tested
in t/02ext.t
version 1.18: Thu Sep 30 17:00:29 CEST 2010
Fixes:
- hexBinary processing was simply wrong.
- template: call parameters of replace hook.
- writer: substitutionGroup of simpleType value 0 got ignored.
- template: recursive substitutionGroups with abstracts will
not crash.
- template: apply key rewrite also on unqualified names.
- preferred prefix for SCHEMA2001i is xsi, not xs
- reorganized the ::Schema manpage a little.
- template: show types in prefixed form, not qname.
- template: show enums which contain blanks within quotes.
- template: if a simpletype has facet enumeration, one of
those values will be used as example.
- template: always lead a block display by a blank line, not
only when there is comment.
- template: do also show types of complex elements.
- template: show types of alternatives to substitutionGroups
- template: show when an substitutionGroups is abstract (not
instantiatable)
- template: pick an non-abstract alternative as example for
a substitionGroup. Let it point to a correct example value
if available.
version 1.17: Thu Sep 23 09:31:40 CEST 2010
Changes:
- removed 'IGNORE' choice for abstract_types options. Either
they produce and ERROR or you ACCEPT them in your message,
ignoring them to be abstract.
- move t/99pod.t to xt/ which removes dependency from Test::Pod
Fixes:
- writer: do not complain about mal-formatted integers when
validation is off [Titi Ala'ilima]
- reader: do not complain about mal-formed integers when
validation is off.
- template: do not show "TEMPLATE_ERROR" when the defaults
of fields are '0'.
- template: did not show extensions of abstract types.
- template: fix line folding with long words.
- template: remove double blanks before '['
Improvements:
- template: report wrong value of action parameter before
anything else.
- template: show reason for empty sequences
- template: do not show abstract types in substitutionGroups
version 1.16: Tue Jun 15 15:16:29 CEST 2010
Fixes:
- template: processing of nillable objects.
rt.cpan.org#58321 [Max Cohan]
- the chaching needed for recursive schemas, did not contain
xsi:type logic. [Knut Arne Bjørndal]
version 1.15: Mon May 10 15:20:17 CEST 2010
Fixes:
- reader: namespace qualified attributes. Discovered by [Heiko Jansen]
- reader: namespace of attributeGroups.
- writer: namespace qualified fixed value attribute.
Improvements:
- remove out-dated constants from the ::BuildInTypes manual-page
- ::Translate::keyRewrite accepts split ns/local as well. This
avoids clumpsy pack/unpack.
version 1.14: Mon Apr 26 09:39:28 CEST 2010
Fixes:
- ::Template(PERL) improve key_rewrite use.
- xsi:type when schema-namespace has the default prefix and the
user defined elements/types are namespace-less. [Brendan Knox]
- ::Writer report misfit failed due to reuse of $@
- correct validation of type "duration" by [Titi Ala'ilima]
Improvements:
- with xsi_type switches of simple types, the value is translated
into a HASH containing that value, so the XSI_TYPE can be added.
- add check for dateTime and duration validation.
- ::Template(PERL) add start line '# Describing ....'
- ::Template(PERL) explicit list blocked default prefix.
version 1.13: Sun Feb 21 00:09:24 CET 2010
Fixes:
- xsi:type switch between elements based on the same abstract
type. Reported by [Roman Daniel]
- template: display of fixed and default elements. [Anton Berezin]
- writer: add attributes to display of available tags in case
of problems.
Improvements:
- template: show more details about applicable facets.
version 1.12: Mon Jan 11 11:46:43 CET 2010
Fixes:
- writer: optional block was not optional [Roman Daniel]
- accept xsi:type with alternative in namespace which is not
used by the schema itself [Roman Daniel]
version 1.11: Fri Jan 8 12:37:23 CET 2010
Fixes:
- forgot to document the new xsi_type option to ::Schema::compile()
- implement facets on lists correctly. Tests in new t/55facet_list.t
Pushed by rt.cpan.org #53392 [Николай Шуляковский]
version 1.10: Thu Dec 24 16:56:13 CET 2009
Changes:
- keyRewrite now also applies to attributes.
Fixes:
- writer sometimes destroyed the data-structure which was
passed in. Now automatically tested for each test_rw.
- support sub-seconds in time format.
- writer: do not produce an empty element when minOccurs is
combined with nillable in a complexType.
rt.cpan.org#51264 [Roman Daniel]
- ::Iterator::currentType() could crash.
Improvements:
- writer: major readibility changes.
- all: implemented xsi:type
- template: do not produce superfluous quotes in Perl template
examples when anonymous HASH of ARRAY is included.
version 1.09: Fri Nov 13 10:56:45 CET 2009
Fixes:
- writer: do not produce an empty element when minOccurs is
combined with nillable in a simpleType
rt.cpan.org#51264 [Roman Daniel]
Improvements:
- template: use prefixes to avoid namespaces in types.
version 1.08: Sat Oct 24 20:11:10 CEST 2009
Fixes:
- reader: fix last parameter of replacement hook
Improvements:
- template: support for key_rewrite
- use the new XML::LibXML::RegExp, to replace tricky XML::RegExp.
version 1.07: Mon Jun 22 11:35:22 CEST 2009
Fixes:
- mixed attribute on complexContent not detected.
- anyType elements which have sub-elements will not stringify, but only
simple strings will get simplified. Otherwise, an XML::LibXML::Node
is kept.
Improvements:
- reader: anyType element processing can be hooked via a new
compile(any_type) option.
- partial support for attribute targetNamespace on element
and attribute declarations. Currently produces a warning.
version 1.06: Thu May 28 10:28:45 CEST 2009
Fixes:
- prefer simpleType child over base type attribute in
simpleContent/restriction. rt.cpan.org#46212 [Erich Weigand]
Improvements:
- ignore all references to an (unloaded) schema, for instance
with deprecated structures via ::compile(block_namespace) with
tests in t/76blocked.t
- fixed tests in t/91noqual.t
- include t/75type.t in the distribution.
- added test for base64Binary to t/21types.t
- reader and writer: replace hook also gets code-ref able to
process what is being replaced, implementing a wrapper.
version 1.05: di apr 28 13:04:42 CEST 2009
Improvements:
- writer: accept single element for tagged and mixed.
- writer: accept scalar for mixed, upgraded to text node.
version 1.04: Fri Apr 24 16:08:43 CEST 2009
Fixes:
- the use of cached schema elements must be limited to single
::Schema objects (for instance per WSDL object).
rt.cpan.org#44959 [Jozef Kutej]
- complex extension of anyType types.
Improvements:
- document that key_rewrite only applies to elements, not
attributes.
- add 'target_namespace' overrule option to importDefinitions()
and ::Schema::addSchemas()
- have ::Schema::new() pass options to importDefinitions()
- added various entries about fixing-up schema's to the FAQ.
version 1.03: Wed Mar 25 15:41:43 CET 2009
Fixes:
- template: protect output against combinatorial explosion, which
did hurt [Anton Berezin]
Improvements:
- new option ::Schema::compile(abstract_types)
- template: compact the output of substitutionGroups, leaving the
abstract types out and use columns in the display.
- template: add namespace details to XML and PERL output
- template: add header to XML and PERL output.
New option ::Schema::template(skip_header)
version 1.02: Thu Feb 12 11:37:49 CET 2009
Fixes:
- fix useSchema() deep recursion
- writer: repair ARRAY complaint when scalar given on place
where an array of values is acceptable. [Allan Wind]
version 1.01: Thu Feb 12 09:39:50 CET 2009
Fixes:
- do not use /bin/pwd in t/pod.t
- writer: report warnings when accepting a difficult construction.
- key_rewrite(PREFIXED) options now do stack, without the
possibility to get it rewritten twice.
- reader: complain if no data was recognized. [Jozef Kutej]
- handle schema's with targetNamespace but not qualified
elements. http://www.w3.org/TR/xmlschema-0/#UnqualLocals
[Jozef Kutej]
Improvements:
- ::Schema::useSchema() let you share definitions between
various ::Schema extensions.
- document that XML::Compile::dataToXML() can be used as
instance method as well.
version 1.00: Wed Jan 21 10:51:23 CET 2009
Changes:
- oops, rename elementFormDefault parameters into
element_form_default. Breaks only XML::Compile::SOAP 2.00_01
- substitutionGroup keys did not get prefixed, when key_rewrite
was enabled.
Fixes:
- writer: name-space qualified for NIL [Mark Blackman]
- template: be more careful not to put trailing '}' on a line
with comment.
- writer: contents of tagged elements were not processed, so
not checked or whitespace corrected.
- report rewritten key when required value is missing, not the
full key.
- compile(mixed_elements=STRUCTURAL) was ignored when the mixed
option was found with the complexContent.
Improvements:
- template: hook "COLLAPSE" to reduce output size for well-known
types.
- writer: accept {_ => $value} as alternative for $value.
- writer: optimize seq block with one block element.
- added XML::Compile::Util::even_elements()
- writer: show available tags in complex block with unused tags
when in debug mode.
- show substitutionGroup members in debug mode.
Requires Log::Report v0.21
- make addHooks() use addHook(), easier to override.
- reader: elements with mixed="true" by default only unpacks the
ATTRIBUTES. It is hard to figure-out why the node is not
translated into Perl. Therefore, the resulting HASH now
contains a _MIXED_ELEMENT_MODE key as explanation.
- with "Log::Report mode => 'DEBUG'", you may get extra help
on some errors.
version 0.99: Mon Dec 29 10:16:28 CET 2008
Changes:
- reset "used count" when include_namespaces
- Qname will not complain about "unused namespace", because
that is often not true. If true, than you have to provide
a the compile(prefixes) as HASH with used flag set.
Fixes:
- elements and attributes with non-default "form" attribute
were not recognized.
- type-based replace hook selected too often.
Improvements:
- compile(include_namespaces) can have a code reference to
filter included namespace declarations to be included.
- addSchemas/importDefinitions now have options
{element,attribute}FormDefault to overrule the (missing) info
in many (old) schemas (even those of soap and wsdl).
- dataToXML() also finds filenames in the SCHEMADIR, not only
known namespaces. That was always intended to happen.
- optimize reading of complex with zero or one component.
- new reader hook after => 'NODE_TYPE'
- error when schema definition contains components of other
namespaces.
- you now can compile types only, where the schema does not
contain the definition of the element which will be produced.
But I will not tell you how until the interface has settled ;-)
version 0.98: Tue Dec 16 08:32:04 CET 2008
Fixes:
- writer failed for choice with an element containing a false
value, like "0" or ''. Reported by [Sander Hulst]
- do not attempt to add namespace declarations to produced
attributes in the writer.
- elements with minOccurs=0/maxOccurs=unbounded and optional
content failed. rt.cpan.org#41725 [Osfameron]
Improvements:
- easier to understand error messages in block writer.
- started XML::Compile::FAQ
version 0.97: Mon Nov 24 15:51:54 CET 2008
Fixes:
- dataToXML() with document node will return document element.
- dateTime reversed minutes/seconds. Fixed by [Allan Wind]
- dateTime timezone part is optional. Fixed in docs by [Allan Wind]
- count error with array of elements writer, when maxOccurs is
an integer value larger than 1. An error will be produced when
too many elements are provided.
Improvements:
- bigfloat support for xml2yaml [Slaven Rezic]
version 0.96: Fri Oct 10 16:02:09 CEST 2008
Fixes:
- warning condition on old libxml2 version was broken: warned too
often. rt.cpan.org#39807 [Joerg Plate]
- overruling "qualified" on top-level elements did not work anymore.
- writer hook "replace" crashed on missing (optional) data.
version 0.95: Wed Oct 1 17:38:07 CEST 2008
Fixes:
- top-level elements could not be have as nillable, default, and
fixed. rt.cpan.org#39215 [Tom Hukins]
- do pattern match on unmodified float values.
rt.cpan.org#39224 [MIROD]
- automatically defined xsi when any element is nillable. You will
still need to specify "include_namespaces => 1" to have the
compiler add the name-space definition to the root namespace.
For the moment only supports SCHEMA2001
- the applications of facets is explicitly ordered, to avoid
colissions between checks in lexical space and conversions
made in value-space.
- accept but ignore minScale and maxScale facets (cannot be
represented in Perl objects yet)
- removed facet totalFracDigits, which does not exist. How did it
get in?
- precissionDecimal was handled as int, should be float.
- positiveInteger value check broken. [Sander Hulst]
- accept the 'error' base-type.
Improvements:
- small (<1e9) float/decimal values will not become Math::Big*
- facet lists and non-lists various optimizations in reader.
- pre-lexical facet whiteSpace on list does not need to be checked
in writer.
- handling of (+|-|)INF and NaN for precissionDecimals, floats and
doubles.
- adapt names of test helpers to new X::C::Tester standard. v0.03
of that module is now required.
version 0.94: Tue Aug 26 10:09:05 CEST 2008
Fixes:
- repair whitespace facets collapse and replace. [Allan Wind]
- NMTOKEN has no blanks, but token may have them.
rt.cpan.org#38675 [Allan Wind]
Improvements:
- show more useful features of Log::Report in ::Schema SYNOPSIS
version 0.93: Mon Aug 11 21:13:22 CEST 2008
Changes:
- changed order of attributes back to situation of 0.90: the
base-class attributes are probably more important than the
attributes of the extension.
- groups with maxOccurs > 1 renamed
from gr_<label of first element>
into gr_<name of group>
For example, when parsing schemas themselves (with PREFIXED)
was gr_xs_minExclusive
now gr_xs_facets
minExclusive is the name of the first element in the group
was gr_xs_minExclusive
now gr_xs_facets
minExclusive is the name of the first element in the group
block. xs:facets is the name of the group as used in the
schema schema and probably more consistent over releases.
Fixes:
- documentation on use of typemaps and hooks got mutulated
in 0.90
version 0.92: Wed Aug 6 11:33:27 CEST 2008
Fixes:
- minOccurs=0 in writer. Reported by [Drew Taylor]
Improvements:
- WRITER "after" hook also gets the data, not only the produced XML.
- extra tests for extension of empty complexType.
version 0.91: Fri Aug 1 13:25:26 CEST 2008
Changes:
- removed block_label from ::Util because it does not work with
key rewrite. Probably not used by anyone.
- "any" without maxOccurs>1 did still return an ARRAY,
which is inconsequent. Needed to be fixed.
- the output order of attributes has changed: the extended additions
before the base class attributes. This does not change the meaning,
but may be painful for your regression tests.
- writer adds prefixes always in the same order (alphabetic) to
ease regression-tests.
Fixes:
- Do not confuse un-used keys as 'any' elements in WRITER
- key rewrite PREFIXED did not work with blocks.
- QNAME in name-space-less schema's can go without prefix.
- Fixed QName in list. Tests in new t/74qname.t
- undouble attributes when extending types.
- ::Schema::compile(use_default_prefix) renamed into
use_default_namespace, which was already used in the
::Translate docs. Both names will work.
- WRITER production errors did not arrive correctly to the
application. Reported by [Gert Doering]
- particle block handling in the WRITER was not as sophisticated
as in the READER, which cause problems reported by [Gert Doering]
- groups which ref'd to an other name-spaces did not use the new
targetNamespace.
- READER when choice/sequence/all with minOccurs=0 in the middle
of a list of elements failed if the data was not present.
Improvements:
- List existence of XML::Rewrite.
- Collect prefix-table when reading.
- better error when an any_(element|attribute) is not understood.
- the writer will attempt to use the same prefixes as used in
the schema, unless these name-spaces are already pre-defined
in the 'prefixes' table.
- be more careful that empty text fragments do not end-up as
text nodes in the WRITER output.
- some error message did not show the path in the message where
the error was produced.
version 0.90: Fri Jul 18 21:52:52 CEST 2008
Changes:
- It was permitted to use an ARRAY with one element where a
single elements was needed in the WRITER. This has been
removed because it did not work together with simpleType
lists.
- Reworked the three back-ends from functional into clean OO.
Module renames:
::Schema::Translate -> ::Translate
::Schema::XmlReader -> ::Translate::Reader
::Schema::XmlWriter -> ::Translate::Writer
::Schema::Template -> ::Translate::Template
All functions renamed into methods from
element_wrapper into makeElementWrapper
Improvements:
- you can now register new translator back-ends.
version 0.89: Sat Jul 12 12:40:57 CEST 2008
Fixes:
- pattern restrictions on lists must be applied "late",
after the split.
- repair facets on lists.
- complexType/complexContent/restriction will only redefine the
elements, but will still take the attributes from the base-class.
Tests in new t/45ctcres.t
- disabled a broken pattern optimization.
Changes:
- ::Schema::compile() options anyElement and anyAttribute renamed
to the consequent any_element and any_attribute. The old names
are still supported.
Improvements:
- xml2yaml output filename '-' for STDOUT
- xml2yaml exit when illegal options were detected
- mixed_elements option STRUCTURAL now also works for writers.
version 0.88: Tue Jul 8 10:38:26 CEST 2008
Fixes:
- SubstitutionGroups do not require to be based on abstract
elements.
- include name-space while collecting nodes to read, not only
local-names. Now nodes with the same local-name but different
name-space can be used in one block or substituteGroup.
- make rewrite work for substitutionGroups
Improvements:
- error when abstract elements are being used, tests
in t/34abstract.t
- more speed at subst-group lookups.
- template shows empty blocks explicitly.
version 0.87: Fri Jul 4 15:12:17 CEST 2008
Changes:
- removed /el() and #el(name) from location of error message,
which makes the location simpler and probably not less clear.
Improvements:
- implemented key_rewrite, tests in t/73rewrite.t
- removed double check for existence of required value in writer.
- renamed ::Schema::new() option 'output_namespaces' into
the nicer 'prefixes'. Old name still available.
version 0.86: Mon Jun 23 17:01:43 CEST 2008
Fixes:
- fixed attributes are always optional, both in reader and
writer.
- fixed elements are optional, but do return that value as
default in the reader.
- class labels to group error messages should be spelled
_class in ::Translate.
- fix choice with multiple substitutionGroups or any's.
Changes:
- mixed element default will always return a HASH, not a node
when there are no attributes defined.
Improvements:
- many more options to handle mixed elements. See
::Schema::compile option mixed_elements.
- error for typemaps which specify a none-existing type, as
coding help.
- error when both default and fixed are set.
version 0.85: Mon Jun 16 15:07:23 CEST 2008
Fixes:
- template with multiple name-spaces crashed on the handling of
prefixes.
- permit empty substitutionGroups.
Improvements:
- template will show facets, when only simple enumerate or pattern
restrictions are used.
- switch network access explicitly off for default parser, to
avoid unexpected network access.
- fixes in manual-page footer.
- reordering methods in documentation
- few additional trace statements
version 0.84: Fri Jun 6 12:50:21 CEST 2008
Fixes:
- element and attribute qualification was incorrect when
- a complex was extended, based on a type in an other name-space
- substitutionGroup elements from different name-spaces
were combined
- xs:pattern was missing
- output of any and anyAttribute in example templates.
- capability to write an empty list
- accept default for list. Reported by [Peter Hartmann].
- interpret empty content as missing for elements with
a default, as the spec wants.
Changes:
- you cannot use an ARRAY with one element where one element
is required in the WRITER. (conflicts with list type needs)
Improvements:
- better template examples for ID and family.
- improve documentation on how 'boolean' is handled. Spotted
by [Allan Wind]
- list XML::Compile::Cache as available module.
- printIndex() got filter option 'kind'
- simplified the prefix generation algorithm.
version 0.83: Wed May 14 22:22:41 CEST 2008
Fixes:
- builtin optimization needed fix. cpan-tester [Slaven Rezic]
version 0.82: Tue May 13 21:04:02 CEST 2008
Fixes:
- qname should collapse whitespace.
- qname prefix is blank by default, not an error. [Daniel Ruoso]
- gYear has no month fragment, but has an optional timezone
rt.cpan.org#35699 [Daniel Carrol]
- recursion detected where there wasn't. [Sander Hulst]
Changes:
- template output in Perl will not start with "type =>", so can
directly be used as test message. Requested by [Alan Wind]
- template output in Perl will not quote the objects, where
"mixed" elements need to be inserted.
Improvements:
- minor fix to template for substgroup
- warn on useless type assertions (uncheckable types), not panic.
- start of testing calling convensions (to be more flexible in
the future) in t/22call.t
- implemented hooks for templates.
- implemented typemaps in PERL example templates, not for XML
templates (yet).
- weaken circular reference in Instance.
version 0.81: Tue Apr 29 18:57:48 CEST 2008
Fixes:
- pattern match facet did not anchor [Sander Hulst]
- ::Translate::complextContentExtension with mixed produced
error message. [Ari Jolma]
- re-use already compiled structures, which avoids combinatory
explosions.
Changes:
- requires XML::Compile::Tester
Improvements:
- add ::Schema::addTypemap() as synonym for ::addTypemaps()
- extracted useful test-script tools from t/TestTools.pm
into new distribution XML::Compile::Tester.
- converted test scripts to use XML::Compile::Tester.
- ::Schema::compile(ignore_unused_tags) now accepts a regular
expression to indicate exactly which tags are to be ignored.
Added global ::new(ignore_unused_tags)
- warn if people call the writer without document as first parameter.
version 0.80: Mon Apr 21 10:34:56 CEST 2008
Improvements:
- refer to mailinglist and IRC channal, set-up by [Matt S Trout]
- implementation of typemaps in READER and WRITER, tests in
t/72typemap.t
- refer to related distributions in PODTAIL.
version 0.79: Fri Apr 18 16:01:57 CEST 2008
Fixes:
- much better "mixed" support.
Changes:
- require Log::Report 0.17 to fulfil promissed of the doc (was 0.09)
Improvements:
- trace compiles of schema elements.
- when debug is enabled, then <choice> will show the errors of the
special blocks involved.
- optimize <sequence>, <choice>, and <all> with only one element
in reader and writer.
- template Perl did quote keys with length 1.
- template warning resolved in example value for nonNegativeInt
- template Perl did not show '_' for a tagged element, and
did show an example twice.
- renamed ::template(show) to clearer ::template(show_comments),
but old flag will stay supported.
- template XML did not represent attributes correctly.
- template XML did not understand '_'
version 0.78: Wed Apr 16 13:03:36 CEST 2008
Fixes:
- fix string length check in float facet [Sven Neuhaus]
Improvements:
- more trace with dataToXML.
version 0.77: Sun Apr 13 00:45:28 CEST 2008
Fixes:
- XML::RegExp version mix-up... lowered required release
from 0.03 to 0.02 [Alan Wind]
version 0.76: Mistake
version 0.75: Sat Apr 12 09:57:29 CEST 2008
Fixes:
- fixed <choice> with nested blocks, substgroups, or any.
- fixed <all> with nested blocks, substgroups, or any.
needed by [Sander Hulst] Needs serious beating.
- required is XML::RegExp for pattern to regexp translations.
- NMTOKENS, IDREFS, and ENTITIES where not processed as list
type (not spilt into an ARRAY)
Improvements:
- remove annoying extra component in the location shown in
errors, which appeared with element refs.
version 0.74: Thu Apr 10 23:17:18 CEST 2008
Improvements:
- removed "try => GMP" from Math::BigInt invocation, because
Linux distributions currently have v1.77 which does not support
try. Documented how you can get the performance improvements
yourself. rt.cpan.org #34817 [Jesper Krogh]
- lowered requiremet for Math::BigInt to 1.77.
version 0.73: Tue Apr 8 23:47:05 CEST 2008
Fixes:
- recursion detection is example template production.
- example template fix: add ',' after some ']'.
- reader in list context should not return the label of the
element. rt.cpan.org#34597 [Andreas Koenig]
- removed test print when bigfloat was used.
- nesting of substitutionGroups supported.
Requested by [Sander Hulst]
Improvements:
- reuse schema parsing results, when the same file or string is
passed multiple times. Adds dependency to Digest::MD5.
- added script schema2example
- pass an ARRAY of schema sources at once to ::Schema::new()
and ::importDefinitions.
- Math::BigInt warns us to upgrade Math::BigRat and bignum, so
included that as dependencies.
- ::Namespaces::add() now accept multiple schema instances at
a time.
- explain how XML::LibXML::Simple can be used in a READER
replace hook.
- adding debug info about the parsing of XML information via
dataToXML().
- timezoneFrag was not wrong (as stated by the 0.72 release).
Reverted the changes for simpler code.
- more examples in ::Schema SYNOPSIS
version 0.72: Tue Mar 25 10:22:39 CET 2008
Fixes:
- [Drew Taylor] experienced that 'time' basic type was not
implemented.
- ::Template::anyElement fix [Drew Taylor]
- timezoneFrag is optional, wrongly implemented in many regexes.
- ::Template::union incorrectly processed [Drew Taylor]
Improvements:
- document that XML::LibXML nodes can be specified on any location
for WRITERs. (feature was added in 0.70)
- document how to handle mixed content.
version 0.71: Tue Mar 18 16:52:34 CET 2008
Fixes:
- require Math::BigInt 1.78, to understand 'try'
- cannot run t/59big tests with BigInt GMP library.
version 0.70: Fri Mar 14 17:35:22 CET 2008
Fixes:
- document that ::Schema::compile(check_occurs) default value
is true, not false.
- maxOccurs==0 now works. Some tools use it, but it is silly.
- more name-space switches.
- missed an element component in simpleType facet related error
messages. Spotted by [Allan Wind]
- die when illegal float value [Sander Hulst]
- template example for empty complexType incorrect.
- template example for repeated blocks incorrect.
- repeated particle blocks within particle blocks caused
problems. rt.cpan.org#34079 [Drew Taylor]
Improvements:
- minor typos in man-pages [Allan Wind]
- ::Translate::compileTree() can start with a type.
- path displayed in error-messages now use @ before attributes,
not at()
- more docs on how substitutionGroups are represented.
- new option ::Schema::compile(validation), which covers the
existing three flags for partial validations.
- option check_values was not documented in ::Translate
- template Perl did not use Data::Dumper; don't invoke it.
- protect difficult characters in perl template keys.
- The writer now accepts a prepared XML element, not only a HASH
or single value, for any simple or complex type element.
- Math::BigInt uses Math::BigInt::GMP for more performance, if
installed.
version 0.69: Tue Feb 12 09:59:30 CET 2008
Fixes:
- name-space switch accidentally took 'qualified' on elements
to be used for attributes. Detected by [Sander Hulst]
version 0.68: Fri Feb 8 09:32:20 CET 2008
Fixes:
- ref element did not switch to settings of destination namespace.
Reported by [Sander Hulst]
- ref attribute idem.
- ref attributes should lookup namespace in destination schema,
not source schema.
Improvements:
- added ::Namespaces::printIndex() to list defined toplevel items.
- XML::Compile::dataToXML() returns information about the source if
requested.
version 0.67: Mon Feb 4 09:31:17 CET 2008
Fixes:
- use of boolean 0 produced an error. [Allan Wind]
tests in t/21types.t
version 0.66: Thu Jan 31 09:32:00 CET 2008
Fixes:
- added a few tests to t/48subst.t to prove that min/maxOccurs
works with substitutionGroups. Had to remove two error checks.
- ::Namespaces::findID() failed, because ::Instance::id()
was missing. [Philippe B]
- ignore element when maxOccurs==0 [Allan Wind]
Improvements:
- added xml2yaml script, based on code by [Slaven Rezic]
- XSD search path will split on ';' on Windows.
- refrased start text of XML::Compile. Suggested by [Sander Hulst]
- looking for schema files with XML::Compile::findSchemaFile(),
will not check for readability, because using "-r" is useless.
So, the existence of the file suffices.
- describe syntax of repetative substitutionGroups.
- all errors in ::Schema are either marked in class 'usage', or
in class 'schema'. Errors in other packages still need
classification.
- ::Schema::Instance now reports include and import information.
- reformulation in "{url}name" explanation, spotted by [Allan Wind]
version 0.65: Wed Jan 16 10:28:53 CET 2008
Fixes:
- fix an error "isa on unblessed" in XmlWriter. An error will
be produced when an ARRAY or HASH is found where a simple
element value is expected.
Improvements:
- support schemas without targetNamespace. Tests in t/71nons.t.
- ::Schema::compile(interpret_nillable_as_optional) added, for
broken schemas, where people have interpreted the Schema
specs wrongly. Reported by [Christian Mueller]
version 0.64: Mon Jan 7 11:49:49 CET 2008
Fixes:
- ::BuiltInFacets requires Math::Big{Int,Float}
- template() made mistake when a prohibited attribute was
encountered.
- empty complexTypes are acceptable. [Kaare Rasmussen]
- typo: implemented base64binary, but should have been
base64Binary. Detected by [Gert Doering]
Improvements:
- perl template output with a long list of sequence element
names now split over multiple lines.
- XML::Compile::Schema now explains how to use xsd files and
imports/includes found in them.
version 0.63: Sat Dec 15 15:15:43 CET 2007
Changes:
- Require XML::LibXML 1.65, which solves attribute creating
issues.
Fixes:
- dateTime did not format correctly: missing colon between
minute and seconds.
- example template production failed on explicitly optional
attributes and any kind of arrays. Reported by [Gareth Kirwan]
Improvements:
- Added XML::Compile::Util::type_of_node()
- some error paths are cleaner, but still a few to be improved.
- ::compile() new option 'ignore_unused_tags", requested by
rt.cpan.org#31539 [Slaven Rezic]
version 0.62: Tue Nov 27 12:23:38 CET 2007
Fixes:
- Remove requirement for Data::Dump::Streamer.
version 0.61: Tue Nov 27 11:43:08 CET 2007
Changes:
- Moved XML::Compile::Dumper from this distribution into
its own.
Fixes:
- ::compileClient(element_qualified => 'TOP') did remove the
existing qualification need.
version 0.60: Sat Nov 24 10:22:53 CET 2007
Changes:
- ELEMENT_ORDER hook returns packed types, not nodeName's,
because that would include a (non constant) prefix.
Fixes:
- ::Util::pack_type() with undef namespace returned undef.
Improvements:
- Warn people about out-dated libxml2 when running tests
in t/01use.t. Let's see of CPANTesters like this.
- when a READER is compiled with C<rpc_hrefs>, then elements
may have a href attribute, used for SOAP-RPC encoding.
version 0.59: Thu Nov 8 14:04:44 CET 2007
Fixes:
- Schema recursion detected too often. It had to be based on the
schema-node, not the type name (which isn't unique enough)
Spotted by [Gert Doering].
version 0.58: Tue Nov 6 12:35:28 CET 2007
Fixes:
- could not handle empty sequences.
- boolean 'true' and 'false' must be decoded into 1 and 0.
- parsing of boolean was sensitive for blanks.
- elements_qualified overrule extended too far.
version 0.57: Mon Nov 5 15:53:19 CET 2007
Fixes:
- basic schema elements (like SCHEMA2001 int) could not be
used as starting point for translation.
Improvements:
- XML::Compile::Util now exports some standard name-spaces as
symbolic names, like SCHEMA2001.
- added 2001 XMLSchema instance xsd.
- XML::Compile::Schema::importDefinitions ignores undef param.
- compile(output_namespaces) now can be initialized with a
simple ARRAY, and explained a little better.
version 0.56: Thu Oct 18 09:25:16 CEST 2007
Improvements:
- XML::Compile::Util::pack_type() and ::unpack_type() now
understand name-spaceless types.
- filled-in pre-declared type tables for older schema
definitions, but did NOT IMPLEMENT the differences in
SCHEMA RULES. Some initial checks in t/81-2000.t
- XML::Compile::SOAP::Server split-off from XML::Compile::SOAP;
documentation updated to reflect this.
- added README.todo
- implemented correct QNAME run-time "{ns}local" to "prefix:local"
translator, for writer. May cause run-time error message.
version 0.55: Wed Sep 26 10:32:49 CEST 2007
Changes:
- split-off the SOAP and WSDL things into a separate
XML::Compile::SOAP distribution, because they need more
complex dependencies and need more releases in the near
future.
- install xsd's automatically in XML/Compile/xsd/
(XML::Compile::SOAP's xsd-files are in XML/Compile/SOAP/xsd/)
Improvements:
- added display of XML::LibXML version to t/01use.t
- accept recursive schema's. Reported by [Scott Peimann]
tests in t/62recurse.t
- old bug in XML::LibXML shows up in its 1.64 release in combination
with the XML::Compile test-set. XML::LibXML 1.65 contains the
patch.
- skip t/pod.t when manuals are still in OODoc format.
- XML::Compile::addSchemaDirs() effects are now global.
- XML::Compile::knownNamespaces() can be used to define own
files for name-spaces, also global.
version 0.54: Fri Sep 14 15:35:53 CEST 2007
Fixes:
- XmlReader::block_handler called "last", where "return" was
ment, resulting in a warning. [Gert Doering]
- Handle case where choice has minOccurs==1, but one (or more)
of the options has minOccurs==0... which makes the choice
optional implicitly. Found by [Gert Doering]
version 0.53: Thu Sep 6 21:15:14 CEST 2007
Changes:
- When calling SOAP operations, the elements do not use a Body
or Header anymore: these structures are flattened for the
user's convenience.
Fixes:
- totalDigits did only handle floats, not integers. Reported
by [Gert Doering]
- float values should not show trailing zeros. The use of
sprintf "%lf" was superfluous, hence removed.
- produce error when pre-installed schemas are not found.
Improvements:
- a bit of progress on WSDL/SOAP
- YAPC::EU 2007 presentation available on the website.
version 0.52: Tue Aug 14 09:37:14 CEST 2007
Fixes:
- sloppy_integer did not pass some usage restrictions for
other than Integer->int translation.
version 0.51: Fri Aug 10 14:27:05 CEST 2007
Changes:
- the labels for blocks when maxOccurs >= 2 have changed from
f.i. 'xyz' into 'seq_xyz', to become clearer.
Fixes:
- both attribute with own simpleType definition, as attribute ref
to attribute with own simpleType were missing.
- got direct compilation of top-level attributes to work, and
all available soap11 tests with it.
Improvements:
- much clearer docs about repetative blocks.
- reread/corrected a few manual pages, but there is still a
lot to do.
version 0.50: Thu Aug 9 23:19:19 CEST 2007
MAJOR REWRITE of the schema parser and code generators.
Changes:
- any maxOccurs >1 will produce/require an ARRAY. Until now,
the sequence, all, choice, and group didn't work correctly.
- removed a way to catch the errors produced while processing
a message: an error is an error (or use hooks).
- convert error handling to Log::Report, which allows translations
and clean processing.
- much improved error messages.
- hooks are called differently, to be more useful.
Fixes:
- the reader now requires the correct order of the elements
inside the message.
- "any" can appear everywhere, not only at the end of blocks.
- "any" now correctly defaults as minOccur==maxOccur==1
- accept attributes for complexType/simpleContent
- floating-point restriction (facet) did not process well.
- an empty XML container will be produced when an {} was
given: it will not be ignored.
- improved template output
Improvements:
- added t/pod.t, which flagged some (produced) pod errors
- added XML::Compile::Iterator, to ease the implementation of
XML::Compile::Schema::Translate
- more checks whether the schema is sound.
- added XML::Compile::Util
- removed XML::Compile::parse() and parseFile() from the
public interface.
- in doc: schema's should be schemas [Sven Neuhaus]
- many more tests
- no need for wsdl-patch.xsd anymore.
version 0.18: Wed Jun 6 22:46:44 CEST 2007
Changes:
- renamed XML::Compile::Schema::importData() into
::importDefinitions()
- renamed XML::Compile::WSDL::addSchemas() into
::importDefinitions()
- Schema::addSchema() will only add parsed XML.
Use Schema::importDefinitions() to added any (other) kind
of data.
- reworked Namespaces::findElement() and ::findType() into
::find(KIND, ...)
- upgraded XML::LibXML requirement to 1.63
Fixes:
- Added dependency for IO 1.22 (IO::File)
- Preference to address elements with a certain name, about
types.
- Regular expression for all date types was not precise enough.
Now following the specs more closely.
Bug report from [Gerard Gerritsen]
- Namespace of schema now separates attributeGroup and group
names from element, attributes and types.
- include_namespaces parameter to Schema::compile() was always
set to 1.
Improvements:
- added xsd/2003-* for SOAP1.2
- initial implementation for SOAP in lib/XML/Compile/SOAP.pm
and lib/XML/Compile/SOAP/SOAP1[12].pm
- hooks with type/id/path will be invoked on all nodes.
- removed Translate::reference(), in favour of a reference
lookup per kind of object.
- ::Translate::element_by_node() renamed to ::element().
- ::Schema::compile() and ::template() do not check provided
name anymore, but leave that to ::Translate::new()
- ::Schema::compile(elements_qualified) now can limit ns-qual
to the TOP element only.
version 0.17: Tue Mar 20 12:21:57 CET 2007
Improvements:
- added XML::Compile::Dumper and t/21dump.t. Added automatic
compatibility tests with non-dumped parsing. However, this
results in "PmmREFCNT_dec: REFCNT decremented below 0! during
global destruction." errors in XML::LibXML, so is disabled by
default (see $skip_dumper in t/TestTools.pm)
version 0.16: Sun Feb 25 00:28:48 CET 2007
Changes:
- rename Schema::importSchema() into Schema::importData(), because
its parameter is very different from what addSchemas() expects
but the name was too close.
- added patch to WSDL, to simplify the tOperation type, which
is overly complex.
- now all four kinds of operations are detected.
- build-in type anyURI is relative, hence cannot be checked at
parse time. This means that XML::Compile doesn't need
Regexp::Common anymore (which was a forgotten dependency).
version 0.15: Fri Feb 16 16:21:59 CET 2007
Changes:
- removed "top()" from XML::Compile, because with multiple
XML sepcification files, there is no real "top" element.
Fixes:
- do not destroy caller's data when creating complex or tagged
elements.
- added missing str2num() in BuiltInTypes for floats and doubles.
Improvements:
- move non-distributed xsd's to private dir.
- added XML::Compile::WSDL and t/80wsdl.t, partial implementation
- added XML::Compile::SOAP::Operation, partial implementation
- added reader hooks and t/60hooks_r.t
- added writer hooks and t/61hooks_w.t
- implemented attribute by ref
version 0.14: Tue Jan 30 12:30:34 CET 2007
Fixes:
- Sequence of choices will multiply min/max. Required to
understand WSDL.
- Give error on unknown particles.
Improvements:
- Implemented 'any' element
- fields of type QName are translated from "prefix:type"
into "{namespace}type".
- Makefile.PL requires 5.8.0, which is probably still a mild
setting. XML::LibXML is probably more demanding.
version 0.13: Mon Jan 29 00:11:12 CET 2007
Fixes:
- One place with nested Complex extensions, but more may need
fixing.
Improvements:
- Added WSDL and SOAP schema's
- fixed importSchema() where addSchema() missed an 's'
-> addSchemas().
- XML::Compile::new() now also accepts a filename, a ref
Scalar, and pre-defined name-spaces.
- skip key, keyref, unique, selector, fields elements; just
like notation and annotation are lost.
- defined top-level element "attribute", but not yet used.
Only useful in anyAttribute, which is not checked.
- check all top-level elements for their name, to find typo's.
- implemented anyAttribute
- XML::Compile::dataToXML is used to accept user spec of XML
on many places.
version 0.12: Tue Dec 19 15:22:59 CET 2006
Fixes:
- fixed attributes can be optional. [Igor Shynkarev]
- correct dateTime values were disapproved. [John R.]
- converted to use oodist script (new feature of OODoc)
version 0.11: Wed Oct 25 08:08:20 CEST 2006
Fixes:
- Need to use "getChildrenBy..." in stead of "getElementsBy" in
XmlReader, because otherwise we search the whole tree.
Problem reported by [Igor Shynkarev]
Improvements:
- When the reader is called with a document, its document-element
is taken automatically. In response to [Igor Shynkarev]
- First attempt for XML template output.
version 0.10: Tue Oct 24 11:40:09 CEST 2006
Fixes:
- Some minor cleanups in XmlWriter
- Now depends on XML::LibXML 1.61, which has a lot of improvements
and fixes. As disadvantage does it require a recent libxml2,
which is only included with very recent Linux distributions.
- t/49big.t test failed when installed on 64bit Perl, because
one of the test-values was smaller then MAX_INT in that case.
- Default attribute type anyType.
- anyType is correct namespace.
- Type resolving when schemaNamespace is not the default was
broken.
- Complex body permitted to be empty.
- Default for "check_occurs" set to `true', because default should
give best results.
- Missing element with default gave error when check_occurs.
Improvements:
- Added Template.pm to produce a Perl template example of a certain
type. See XML::Compile::Schema::template()
- Implemented type definitions contain an example which is used
for the templates.
version 0.09: Mon Sep 25 08:40:24 CEST 2006
Fixes: [thanks to cpan-testers work by Slavan Rezic]
- MANIFEST not correct: contained old files
- Removed dependency for Regex::Common, added Math::BigInt
- Upgraded to XML::LibXML 1.60, which changed from Attribute
handling.
Improvements:
- Reorganized order in some man-pages.
version 0.08: Fri Sep 22 15:52:49 CEST 2006
Improvements:
- Turned XML::Compile::Schema::Translate into a singleton object,
and reshaped functions into methods. The arguments hash intern
in object. Together much cleaner.
- Replaced use of "croak" for errors during translation into a
call to the error() method, with nicer and more consequent
error text layout.
- Split XML::Compile::Schema::BuiltinStructs into lazy loading
XML::Compile::Schema::XmlReader and ::XmlWriter.
version 0.07: Thu Sep 21 15:06:05 CEST 2006
- implemented substitution-groups
- implementation of ref-element was bogus.
- improved documentation (more about Schemas)
- $schema->addSchemas from text
- $schema->importSchema() with support of search-path. Schema's not
automatically installed (yet)
- added other schema's to the distribution.
version 0.06: Thu Sep 14 10:10:31 CEST 2006
- The internals of the translator (and the produced code) are
fully rewritted to support complexType/simpleContent in a
clean way.
- better support for list.
- major improvements in the documentation.
version 0.05: Sun Aug 27 12:00:00 CEST 2006
- Release as OODoc processed package :(
version 0.04: Sun Aug 27 11:49:54 CEST 2006
- Rewrote the particle handling to better process nesting and
min/maxOccurs.
- Many rewrites to implement complexType/simpleType processing.
- Extended list describing missing features (and resolved quite
a few of them). Parser is much stricter now, closer to the
specs.
version 0.03: Tue Aug 15 09:13:06 CEST 2006
- Doc about what to pass as type to compile() was not updated.
- Added attribute default, fixed and use=forbidden.
- Added simpleType within list.
- Added memberTypes with union.
version 0.02: Mon Aug 14 13:42:02 CEST 2006
- Perl internal integer dependent size of INT_MIN and INT_MAX
to avoid use of BigInt. Idea by [Merijn H Brand]
- Added type assertions to translator, to check known attributes
to follow the spec.
- All constructing routines are called with ($path, $args, ...)
where before, the $args option had different locations in the
parameter lists.
- Moved element fixed tests to t/47fixed.t, reimplemented it to
make it work with BigInt.
- Implemented element default and t/48default.t
- Non-sloppy integers implemented in BigInts, tests t/49big.t
- Element ref() should not specify own name.
- XML::Compile::Schema::Instance collects info about one single
schema.
- XML::Compile::Schema::Namespaces collects schema instances.
- Under fly adding of schemas with ::Schema::addSchema
- understands qualified and unqualified processing
- and many more...
version 0.01: Not released
|