SGML-PYX

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.05 2020-05-21T00:39:14+02:00
 - Add test for bad attribute parsing.
 - Fix bug with one character length attribute.

0.04 2020-04-28T15:01:29+02:00
 - Add test for element with space in attribute.
 - Rewrite METHODS to =head2 in doc.

0.03 2020-04-23T16:09:11+02:00
 - Add bigger test for cdata.
 - Fix Makefile.PL fails with no '.' in @INC.
 - Improve LICENSE AND COPYRIGHT section in doc.
 - Improve SYNOPSIS section in doc.
 - Update Module::Install to 1.19 version.
 - Update author github username.
 - Update author name.
 - Update copyright years.

0.02 2016-04-20T17:04:58+02:00
 - Fix dependencies to PYX::Utils.

MANIFEST  view on Meta::CPAN

inc/Module/Install/ReadmeFromPod.pm
inc/Module/Install/Win32.pm
inc/Module/Install/WriteAll.pm
LICENSE
Makefile.PL
MANIFEST			This list of files
META.yml
PYX.pm
README
SIGNATURE
t/data/cdata1.sgml
t/data/cdata2.sgml
t/data/cdata3.sgml
t/data/cdata4.sgml
t/data/char1.sgml
t/data/char2.sgml
t/data/char3.sgml
t/data/comment1.sgml
t/data/comment2.sgml
t/data/doctype1.sgml
t/data/element1.sgml
t/data/element2.sgml
t/data/element3.sgml
t/data/element4.sgml

MANIFEST  view on Meta::CPAN

t/data/start_element21.sgml
t/data/start_element22.sgml
t/data/start_element23.sgml
t/data/start_element24.sgml
t/data/start_element25.sgml
t/data/start_element26.sgml
t/data/xml1.sgml
t/SGML-PYX/01-use.t
t/SGML-PYX/02-version.t
t/SGML-PYX/03-new.t
t/SGML-PYX/04-parsefile-cdata.t
t/SGML-PYX/05-parsefile-char.t
t/SGML-PYX/06-parsefile-comment.t
t/SGML-PYX/07-parsefile-doctype.t
t/SGML-PYX/08-parsefile-element.t
t/SGML-PYX/09-parsefile-end_element.t
t/SGML-PYX/10-parsefile-instruction.t
t/SGML-PYX/11-parsefile-start_element.t
t/SGML-PYX/12-parsefile-start_xml.t
xt/SGML-PYX/01-pod_coverage.t
xt/SGML-PYX/02-pod.t

PYX.pm  view on Meta::CPAN

			$self->{'output'}->(start_element($element, @attrs));
			if ($end) {
				$self->{'output'}->(end_element($element));
			}

		# Doctype.
		} elsif ($tag_type eq '!doctype') {
			# Nop.

		# CData.
		} elsif ($tag_type eq '![cdata[') {
			$data =~ s/^<!\[[cC][dD][aA][tT][aA]\[//ms;
			$data =~ s/\]\]>$//ms;
			$self->{'output'}->(char(decode(entity_decode($data))));

		# Instruction.
		} elsif ($tag_type =~ m/^\?/ms) {
			$data =~ s/^<\?//ms;
			$data =~ s/\s*\?>$//ms;
			my ($target, $code) = split m/\s+/ms, $data, 2;
			$self->{'output'}->(instruction($target, $code));

SIGNATURE  view on Meta::CPAN

SHA256 d3f8c839d03fd21c197d05362dbb277cd7cadb15da6390d124b61e851f15146e inc/Module/Install/Can.pm
SHA256 e9e72e18921c10c87bc4ea4c20af83e52015b9f5775d00ac64073042403717ca inc/Module/Install/Fetch.pm
SHA256 a7a681bf2c9eee58a372cb642ffe42b0301d1200432ba8de9f7791cd1ecc9827 inc/Module/Install/Makefile.pm
SHA256 aa887fa65a5eb6bbd1805706ce298b3f3cd55b353ecfd37aa7d35ae419331a49 inc/Module/Install/Metadata.pm
SHA256 53825bc78e4c910b888160bc148c8bc211be58e02b99c8edcbf4854f95faa049 inc/Module/Install/ReadmeFromPod.pm
SHA256 26b166ff62aacdb55317d1659f160aa4935097eea9810ea980e6d747206b5dc0 inc/Module/Install/Win32.pm
SHA256 5f73a6851a91ea44e65b924f918743ad6e860620ad7a38a39d0295e0c5652a9f inc/Module/Install/WriteAll.pm
SHA256 9d81e3e762632cdb453cbf288b39bb8ffe3076c955e0d3f33f424cbc7ffd9791 t/SGML-PYX/01-use.t
SHA256 71e106d2868a40161876881fcad2846e5b94767b80153a6384dab817316e7f37 t/SGML-PYX/02-version.t
SHA256 741c6611745fdc22e8ed7b7b96beaac585c5a47d602c3b10a8f2a9853f97e663 t/SGML-PYX/03-new.t
SHA256 07a2dcc3aecb1c5acf2990e94a5eb6c7f93864ec7de2785f1f4526029857816c t/SGML-PYX/04-parsefile-cdata.t
SHA256 2daf479254981caee8fa0bf9261f72309c54416f53f603a8b33ab8fddadf4656 t/SGML-PYX/05-parsefile-char.t
SHA256 08160d2791e0c0f9d9c2ead3a3e3861220116e88aaa2a3452951a4233e027167 t/SGML-PYX/06-parsefile-comment.t
SHA256 6ca8b53cac68b9d42babe2ad3b691ae1055f3ab769360a374f631c66d38efe22 t/SGML-PYX/07-parsefile-doctype.t
SHA256 302788d622b453e5154be1496cafc52d84f2bcda313ad2cced2c1c9ce7739e44 t/SGML-PYX/08-parsefile-element.t
SHA256 9668f59614550378720eb3a3741737bb2da25df370c616020adc9b1d1edd43d8 t/SGML-PYX/09-parsefile-end_element.t
SHA256 dd16db1247c288f45a60137ddf47cd151cffb279f801ae50ae0d127ec81d61e1 t/SGML-PYX/10-parsefile-instruction.t
SHA256 9d670c85f888885ebc42932cdb86b7e66211ae3c1be111f33f50e0d9fb180e71 t/SGML-PYX/11-parsefile-start_element.t
SHA256 27e9225fb50474f25d57e4a263b2c6d9204c99ae09ed3dc07260dd2c88dfb04b t/SGML-PYX/12-parsefile-start_xml.t
SHA256 93796fae9d9b8f894d04832ace44a362737c142f8bd937186d98529e18606062 t/data/cdata1.sgml
SHA256 e0e6acd34dd9abfadcadfa7bdf66da040194cfd4cd32604fb9441c3b80f2523e t/data/cdata2.sgml
SHA256 df31071b3774597d72907e67d910e3c4113cbdcb1915fb439ae55e6f1bf4815d t/data/cdata3.sgml
SHA256 5c3601be4bf0337a1888b8817b6080dde2a3014fe43a461736e8b27d65fca67b t/data/cdata4.sgml
SHA256 411b0496da5eeced5314a3b5e9532bac97008d09ce9969ab4fa6a52b8c7ef634 t/data/char1.sgml
SHA256 d990754113d94cf7c3c7d9d217e102614a5ad3330eb099fc02592a60187f0bd4 t/data/char2.sgml
SHA256 fd97a9dbbc14d6ae787bac6d3337ef3975dc837af4308974f8776a7f80c013b9 t/data/char3.sgml
SHA256 5db98b62eb7d41cc0d202f347984ecd61f34f2cb7165f2dacf6c891b06791212 t/data/comment1.sgml
SHA256 9bc25e8816e68870fca9166c7501fce40aef584314b73061c4b2a6996e018dd3 t/data/comment2.sgml
SHA256 c77e5168dffda66b8dc13f1425b4d3630a6656a3e5acf707f4393277ba3c8b5e t/data/doctype1.sgml
SHA256 9da47acb54a624411f990e7cc7702ecbbe75dcef2c1edbe68000afe50ef9139a t/data/element1.sgml
SHA256 2f612dfa601d499b2db16f1c9cb734798dff4e09ffd241159f482f2dd8b7fda9 t/data/element2.sgml
SHA256 c4cd3df77cd70f36be8a8e075413431a8d66eedaefc4dc08297e4c84510009de t/data/element3.sgml
SHA256 035d9edbfb55d9bc540fd665036add3d76ea2f484318db2bf7146a2cf9c98d58 t/data/element4.sgml

t/SGML-PYX/04-parsefile-cdata.t  view on Meta::CPAN

# Directories.
my $data_dir = File::Object->new->up->dir('data');

# Test.
my $obj = SGML::PYX->new;
my $right_ret = <<'END';
-<element />
END
stdout_is(
	sub {
		$obj->parsefile($data_dir->file('cdata1.sgml')->s);
		return;
	},
	$right_ret,
	'Test single character data.',
);

# Test.
$obj = SGML::PYX->new;
$right_ret = <<'END';
-<element />
END
stdout_is(
	sub {
		$obj->parsefile($data_dir->file('cdata2.sgml')->s);
		return;
	},
	$right_ret,
	'Test single character data - lower case version.',
);

# Test.
$obj = SGML::PYX->new;
$right_ret = <<'END';
-\n<element/>\n
END
stdout_is(
	sub {
		$obj->parsefile($data_dir->file('cdata3.sgml')->s);
		return;
	},
	$right_ret,
	'Test single character data - data in block.',
);

# Test.
$obj = SGML::PYX->new;
$right_ret = <<'END';
-\n<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"\n  "http://www.w3.org/TR/html4/strict.dtd">\n<html>\n<body>\n\n<script>\nfunction add() {\n  google.calendar.addCalendar("en.usa#holiday@group.v.calendar.google.com",\n      "US Holidays");\n}\n</s...
END
stdout_is(
	sub {
		$obj->parsefile($data_dir->file('cdata4.sgml')->s);
		return;
	},
	$right_ret,
	'Test single character data - Big CDATA section.',
);

t/data/cdata2.sgml  view on Meta::CPAN

<![cdata[<element />]]>



( run in 0.289 second using v1.01-cache-2.11-cpan-454fe037f31 )