xml validator
XhtmlValidator.php 0.2
XhtmlValidator can be used to validate XHTML documents. more>>
This validator is part of the Akelos Framework and is enabled by default when the framework is on development mode.
The class parses the documents and check whether the tags and attributes used by the documents are allowed within the XHTML standard.
If validation errors are found, highlighted error messages and offending document line numbers will be returned.
This is an experimental class, so you should double check your code with the w3c validator, as in only 1000 lines of code the XhtmlValidator lacks support for Encoding and Doctype validation.
Enhancements:
- Support for literal entities was added.
XML::Validator::Schema 1.08
XML::Validator::Schema is a Perl module to validate XML against a subset of W3C XML Schema. more>>
SYNOPSIS
use XML::SAX::ParserFactory;
use XML::Validator::Schema;
#
# create a new validator object, using foo.xsd
#
$validator = XML::Validator::Schema->new(file => foo.xsd);
#
# create a SAX parser and assign the validator as a Handler
#
$parser = XML::SAX::ParserFactory->parser(Handler => $validator);
#
# validate foo.xml against foo.xsd
#
eval { $parser->parse_uri(foo.xml) };
die "File failed validation: $@" if $@;
This module allows you to validate XML documents against a W3C XML Schema. This module does not implement the full W3C XML Schema recommendation (http://www.w3.org/XML/Schema), but a useful subset. See the SCHEMA SUPPORT section below.
IMPORTANT NOTE: To get line and column numbers in the error messages generated by this module you must install XML::Filter::ExceptionLocator and use XML::SAX::ExpatXS as your SAX parser. This module is much more useful if you can tell where your errors are, so using these modules is highly recommeded!
CreditCard Validator 1.8
The CreditCard Validator will help you tell: (1) if a credit card number is valid (2) which credit card vendor handles that number. It validates the prefix and the checkdigit. It does *not* contact the credit card company to ensure that number has actually been issued and that the account is in good standing. It will also tell you which of the following credit card companies issued the card: Amex, Diners Club, Carte Blanche,Discover... more>>
CreditCard Validator - The CreditCard Validator will help you tell:
1. if a credit card number is valid,
2. which credit card vendor handles that number.
It is a simple Applet to demonstrate the use of the ValidateCreditCard class.
It validates the prefix and the checkdigit. It does *not* contact the credit card company to ensure that number has actually been issued and that the account is in good standing.
It will also tell you which of the following credit card companies issued the card: Amex, Diners Club, Carte Blanche, Discover, enRoute, JCB, MasterCard or Visa.
ATM cards use a different secret scheme which this program does not handle. Unfortunately, there is not even a reliable way to tell an ATM card from a credit card just by the number.
It is primarily designed to be included in your own Java program, though it can be used standalone or as an Applet.
To install, Extract the zip download with Winzip, available from http://www.winzip.com (or similar unzip utility) into any directory you please, often C: -- ticking off the (user folder names) option. To run as an application, type:
java -jar C:commindprodcreditcardcreditcard.jar
adjusting as necessary to account for where the jar file is.
You must have Java version 1.1 or later installed to use this package.
See http://mindprod.com/jgloss/installingjava.html for details.
Enhancements:
Version 1.8
convert to JDK 1.5. simplify code using enum.
System Requirements:<<less
Bundle::W3C::Validator 0.7.0
Bundle::W3C::Validator is a Perl bundle of modules required by the W3C Markup Validator. more>>
SYNOPSIS
perl -MCPAN -e "install Bundle::W3C::Validator"
CONTENTS
CGI 2.81
Config::General 2.19
HTML::Parser 3.25
HTML::Template 2.6
LWP::UserAgent 1.90
Net::IP
Set::IntSpan
Text::Iconv
URI
Structured Document Validator 0.7.9
Structured Document Validator project implements a generalized method for structured documents. more>>
Any data format that can be deterministically divided into tags and data is classed as a structured document. This definition applies to a wide array of data formats, including XML, Java properties files, and delimited value files.
The application performs validations based on user-defined Structured Document Definitions (SDDs). It provides an environment for validation, SDD development, and document editing.
Data::Validator::Item 0.75
Data::Validator::Item is a Factory Class to validate data items. more>>
This is an attempt to create an object which will permit semi-automatic verification of a data value.
SYNOPSIS
use Data::Validator::Item;
my $item = Data::Validator::Item->new(); #Create a new Data::Validator::Item, called $item.
#Set values
$item->name(fred);
$item->values([1,2,3]); or $item->values(@array);
$item->missing(*); or $item->missing(); #undef is unlikely to be sensible!
$item->min(0); $item->max(100);
$item->verify($reference_to_subroutine); #Used in the $item->validate() function
$item->transform($reference_to_subroutine); #Used in the $item->put() function
#Get values
my $name = $item->name();
my @values = $item->values();
my $missing = $item->missing();
etc...
#Use it.. $item->validate(); #Returns 1 for success, 0 for failure $item->error(); #Returns the correct error message $item->put();
USAGE
Many people work with data organised as records, each containing (potentially many) variables. It is often necessary to process files of such records, and to test every variable within every record to ensure that each one is valid. I do this before putting data from very large flat files into my databases. For each variable I had a need to define specific, sometimes complex rules for validity, then implement them, and check them. This is what Data::Validator::Item is for.
Note carefully that Data::Validator::Item handles only one scalar vlaue at a time. This value could come from a file, a database, an array, a hash or your grannys parrot. Data::Validator::Item doesnt care.
I use Data::Validator::Item as follows. I create one for every named variable in my data file. In many real applications most of this setup can be done by looping over a list of variable names, creating many Data::Validator::Items each named for the corresponding variable. Common features, like missing values, and names can be set in this loop.
Specifics, like values(), min(), max(), verify() and so on can be set individually. I then create a hash to hold all of the Data::Validator::Items for a particular data source, The keys of this hash are the names of the variables, and the values are the Data:Validators themselves. Y.M.M.V.
Sendmail Sender Address Validator 1.4.0
smf-sav is a lightweight, fast and reliable Sendmail milter that implements a real-time Sender e-Mail Address Verification. more>>
Also it implements a real-time Recipient e-Mail Address Verification technology. It can be useful if your machine is a backup MX for the recipients domain or if your machine forwards all e-Mail messages for your domain to another (presumably internal) e-Mail server. Sendmail Sender Address Validator is written in C.
Main features:
- friendly hosts/networks whitelist;
- SMTP AUTH support;
- strictly RFC-2821 compliant MX callback engine;
- tolerance against non RFC-2821 compliant e-Mail servers;
- blocking of e-Mail messages with a spoofed senders e-Mail address;
- recipients e-Mail address verification with an authoritative e-Mail store in gateway mode;
- slow down of recipients e-Mail address brute force attacks in gateway mode.
Enhancements:
- Whitelisting by a PTR (reverse DNS) record was implemented.
- Whitelisting by an envelope recipient email address was implemented.
- The option to ignore tempfailed results of SAV was implemented.
- The option to refuse email messages from systems that dont accept the null reverse-path was implemented.
- Tempfail and fail results TTL settings were segregated.
- Progressive slowdown of brute force attacks on a recipients email address was implemented.
XML Parse Library 0.50
XML-Parse library is a lightweight set of re-usable functions for general purpose parsing, checking, and creating xml files. more>>
It supports all valid XML, and includes checking for validity. This library has minimal dependencies, and is totally self-contained. XML Parse Library project is written in C and is both speed and memory efficient, and is simple to use. Primary core functions have been posted, and additional advanced and useful XML-related utilities will be added. Released under MIT License.
The XML-Parse library contains functions for parsing and/or creating xml files in a variety of ways. You should use whichever set makes sense for your needs. The functions support the following alternative ways of working with XML files:
- Read whole xml-files into a tokenized tree-structure in memory, and then operate on, traverse, access, or further decode values out of the tree. Your custom application code is usually required to access and operate on the tokenized-values.
- Read xml-files, parse and interpret them as they are being read. Your custom application-specific code can be interspersed with the re-usable parsing calls to interpret, convert, operate-on or store values immediately as input-stream is read, instead of storing in an intermediate tokenized-tree structure. This method reduce time and memory requirements, and supports streaming operations.
- Build xml-tree structures with convenient reusable routines from data in your application, and or modify values in read-in trees.
- Write-out valid xml-files automatically from xml-trees that were constructed or read-into memory by your application.
- Check xml-trees against an arbitrary xml schema definition (XSD).
Generic JavaScript validator 1.0
Generic JavaScript validator is a simple but powerful cross-browser JavaScript that combines DOM and regulars expressions. more>>
It can validate any number of form on HTML documents. Generic JavaScript validator also supports user defined JavaScript functions.
Include .js file
Inside < head > section of the html with the form inside you insert these lines
< script language="JavaScript" type="text/javascript" src="validate.js" >< /script >
XML::Atom 0.19
XML::Atom is an Atom feed and API implementation. more>>
SYNOPSIS
use XML::Atom;
Atom is a syndication, API, and archiving format for weblogs and other data. XML::Atom implements the feed format as well as a client for the API.
XML Copy Editor 1.1.0.1
XML Copy Editor is an XML editor with DTD/XML Schema/RELAX NG validation. more>>
Enhancements:
- This release fixes a number of bugs and introduces support for CSS.
DBIx::XML::DataLoader 1.1b
DBIx::XML::DataLoader contains a set of modules that are meant to work together. more>>
dataloader uses a external map(see map instructions below) file written in xml to find its instructions for handling the data contained in the xml data files that will be imported.
SYNOPSIS
use DBIx::XML::DataLoader;
my $mapper=DBIx::XML::DataLoader->new(map=>"map.xml");
my $response=$mapper->processxml(xml=>"data.xml");
XML Cleaner 0.2.2 beta
XML Cleaner is an XML filter and validator, similar to xmllint. more>>
XML Cleaner is written in Ada 9X and so it rather fast.
XML Cleaner is an XML filter and validator, similar to xmllint. It can remove superfluos namespace declarations from an XML file, expand XML entities, recode XML files, and more.
Main features:
- removes superfluous namespace declarations;
- Unicode support;
- (More to implement: XML validation, XML canonicalization, reformatting, whitespace removal, comments removal, XML charset recoding, XInclude processing, inplace file modification, etc.; XML Cleaner is to grow into a full featured command line XML filter and validator.)
XML Cleaner is developed to become xmllint replacement.
Enhancements:
- An option to choose whether or not to escape apostrophes and quotes in output was added.
XML::DT 0.45
XML::DT is a package for down translation of XML files. more>>
SYNOPSIS
use XML::DT;
%xml=( music => sub{"Music from: $cn"},
lyrics => sub{"Lyrics from: $v{name}n"},
title => sub{ uc($c) },
-default => sub{"$q:$c"} );
print dt($filename,%xml);
ABSTRACT
This module is a XML down processor. It maps tag (element) names to functions to process that element and respective contents.
This module processes XML files with an approach similar to OMNIMARK. As XML parser it uses XML::Parser or XML::LibXML module in an independent way. At configure stage, you should choose one of the back-ends.
XML Hammer 1.0 RC1
XML Hammer application is a free and open-source tool that simplifies elementary XML actions. more>>
After all these years of XML, it is still relatively difficult to simply validate or transform XML files. You are currently either forced to use extensive, sometimes expensive, and most often difficult to use tools with a lot of extra functionality unnecessary for these simple tasks and very often not flexible enough to provide what you want, or you will have to be almost a programmer and create your own application or script to handle these elementary XML related tasks.
The XML Hammer tool addresses these issues by providing a free and open-source tool that has a (relatively) simple to use user-interface however still allowing the flexibility for the user to specify anything that he/she would have been able to specify when writing a script for this same task him/herself.
The functionality of the XML Hammer tool is based on the capabilities provided by the Java API for XML Processing (JAXP) and supports the JAXP API as fully as possible. To achieve this, the functionality has been divided into four specific project types:
Transformer - Perform XSLT transformations.
XPath - Perform XPath searches on XML files.
XML Parser - Parse and validate XML files.
Schema Validator - Parse and validate Schema files.
Enhancements:
- This version features some major new functionality, including comprehensive help documentation, deactivate and activate properties, easier to use validation functionality, and more.
- Bugs with selecting items in combo-boxes using keys, issues when performing XPath searches, module initialization error handling, and other smaller bugs were fixed.