diff --git a/README.md b/README.md index 7ca9b2b..b5a4e27 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,28 @@ # perl-XML-DOM +This module extends the XML::Parser module by Clark Cooper. +The XML::Parser module is built on top of XML::Parser::Expat, which is a lower level interface to James Clark's expat library. + +XML::DOM::Parser is derived from XML::Parser. +It parses XML strings or files and builds a data structure that conforms to the API of the Document Object Model as described at http://www.w3.org/TR/REC-DOM-Level-1. +See the XML::Parser manpage for other available features of the XML::DOM::Parser class. Note that the 'Style' property should not be used (it is set internally.) + +The XML::Parser NoExpand option is more or less supported, in that it will generate EntityReference objects whenever an entity reference is encountered in character data. +I'm not sure how useful this is. Any comments are welcome. + +As described in the synopsis, when you create an XML::DOM::Parser object, the parse and parsefile methods create an XML::DOM::Document object from the specified input. +This Document object can then be examined, modified and written back out to a file or converted to a string. + +When using XML::DOM with XML::Parser version 2.19 and up, setting the XML::DOM::Parser option KeepCDATA to 1 will store CDATASections in CDATASection nodes, instead of converting them to Text nodes. +Subsequent CDATASection nodes will be merged into one. Let me know if this is a problem. + +When using XML::Parser 2.27 and above, you can suppress expansion of parameter entity references (e.g. %pent;) in the DTD, by setting ParseParamEnt to 1 and ExpandParamEnt to 0. See Hidden Nodes for details. + +A Document has a tree structure consisting of Node objects. +A Node may contain other nodes, depending on its type. +A Document may have Element, Text, Comment, and CDATASection nodes. +Element nodes may have Attr, Element, Text, Comment, and CDATASection nodes. +The other nodes may not have any child nodes. + +This module adds several node types that are not part of the DOM spec (yet.) These are: ElementDecl (for declarations), AttlistDecl (for declarations), XMLDecl (for declarations) and AttDef (for attribute definitions in an AttlistDecl.) + diff --git a/perl-XML-DOM.spec b/perl-XML-DOM.spec new file mode 100644 index 0000000..4669d22 --- /dev/null +++ b/perl-XML-DOM.spec @@ -0,0 +1,97 @@ +%define perl_major_ver %(eval `perl -V:version`; echo ${version%*.[0-9]*}.0) + +Name: perl-XML-DOM +Version: 1.44 +Release: 4mamba +Summary: XML::DOM - A perl module for building DOM Level 1 compliant document structures +Group: System/Libraries/Perl +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.cpan.org +Source: http://search.cpan.org/CPAN/authors/id/T/TJ/TJMATHER/XML-DOM-%{version}.tar.gz +License: Artistic, GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: perl-devel +BuildRequires: perl-libwww +BuildRequires: perl-XML-RegExp +## AUTOBUILDREQ-END +BuildRequires: perl-libxml +Requires: perl >= %perl_major_ver +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +This module extends the XML::Parser module by Clark Cooper. +The XML::Parser module is built on top of XML::Parser::Expat, which is a lower level interface to James Clark's expat library. + +XML::DOM::Parser is derived from XML::Parser. +It parses XML strings or files and builds a data structure that conforms to the API of the Document Object Model as described at http://www.w3.org/TR/REC-DOM-Level-1. +See the XML::Parser manpage for other available features of the XML::DOM::Parser class. Note that the 'Style' property should not be used (it is set internally.) + +The XML::Parser NoExpand option is more or less supported, in that it will generate EntityReference objects whenever an entity reference is encountered in character data. +I'm not sure how useful this is. Any comments are welcome. + +As described in the synopsis, when you create an XML::DOM::Parser object, the parse and parsefile methods create an XML::DOM::Document object from the specified input. +This Document object can then be examined, modified and written back out to a file or converted to a string. + +When using XML::DOM with XML::Parser version 2.19 and up, setting the XML::DOM::Parser option KeepCDATA to 1 will store CDATASections in CDATASection nodes, instead of converting them to Text nodes. +Subsequent CDATASection nodes will be merged into one. Let me know if this is a problem. + +When using XML::Parser 2.27 and above, you can suppress expansion of parameter entity references (e.g. %pent;) in the DTD, by setting ParseParamEnt to 1 and ExpandParamEnt to 0. See Hidden Nodes for details. + +A Document has a tree structure consisting of Node objects. +A Node may contain other nodes, depending on its type. +A Document may have Element, Text, Comment, and CDATASection nodes. +Element nodes may have Attr, Element, Text, Comment, and CDATASection nodes. +The other nodes may not have any child nodes. + +This module adds several node types that are not part of the DOM spec (yet.) These are: ElementDecl (for declarations), AttlistDecl (for declarations), XMLDecl (for declarations) and AttDef (for attribute definitions in an AttlistDecl.) + +%prep +%setup -q -n XML-DOM-%{version} + +%build +perl Makefile.PL PREFIX=%{_prefix} INSTALLDIRS=vendor +%make test + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall_perl +packlist=`find %{buildroot} -name .packlist` +[ -z "$packlist" ] && exit 1 || cat $packlist | \ + sed "s,%{buildroot},,g;s,.*/man/.*,&.gz,g" | \ + sort -u > .packlist && rm $packlist + +strid=`echo $packlist | sed 's,.*auto\(.*\)/.packlist,\1,'` +for dir in `find %{buildroot} -type d | grep $strid`; do + echo "%dir ${dir#%buildroot}" >> .packlist +done + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +rm -f .packlist + +%files -f .packlist +%defattr(-,root,root) + +%changelog +* Tue Nov 13 2012 Silvan Calarco 1.44-4mamba +- perl 5.16 mass rebuild + +* Wed Nov 05 2008 Silvan Calarco 1.44-3mamba +- automatic rebuild by autodist + +* Tue Oct 14 2008 Silvan Calarco 1.44-2mamba +- rebuilt + +* Tue Jul 25 2006 Stefano Cotta Ramusino 1.44-1qilnx +- upgrade to version 1.44 by autospec + +* Wed Oct 27 2004 Davide Madrisan 1.43-3qilnx +- added missing build requirement: perl-libxml + +* Tue Oct 26 2004 Alessandro Ramazzina 1.43-2qilnx +- rebuilt and moved from devel-contrib to devel repository + +* Tue Sep 14 2004 Matteo Bernasconi 1.43-1qilnx +- first build