- From: Arthur Ryman via cvs-syncmail <cvsmail@w3.org>
- Date: Sun, 19 Feb 2006 23:27:44 +0000
- To: public-ws-desc-eds@w3.org
Update of /sources/public/2002/ws/desc/test-suite
In directory hutz:/tmp/cvs-serv2189/test-suite
Modified Files:
catalog.xml build.xml
Added Files:
ant-tips-steve-loughran.txt project.dtd
Log Message:
Updated Test Suite to use Ant 1.7 alpha <schemavalidate> task which allows us to remove schemaLocation information from the documents.
--- NEW FILE: ant-tips-steve-loughran.txt ---
Steve,
Thx for the tips. I'll try Ant 1.7.
Arthur Ryman,
IBM Software Group, Rational Division
blog: http://ryman.eclipsedevelopersjournal.com/
phone: +1-905-413-3077, TL 969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, TL 969-4920
mobile: +1-416-939-5063, text: 4169395063@fido.ca
Steve Loughran <steve.loughran.soapbuilders@gmail.com>
01/15/2006 04:19 PM
To
Arthur Ryman/Toronto/IBM@IBMCA
cc
Subject
WSDL test suite build files
Hello,
I've just been looking at the build file for the WSDL2.0 test suite,
the one with your name at the top
(a) hard coding a path on an e: drive to the location of Xerces is
probably a bad thing. Ant always ships with Xerces anyway.
(b) if you build up Ant1.7 from CVS head (or grab a snapshot from
november at http://people.apache.org/~stevel/dist/ ) you will find a
task called <schemavalidate> that does XSD validation with location
setup that works properly with Xerces, even for bulk validations of
**/*.xsd, which ant1.6 can't do (because xerces forgets the settings
every parse). That is: you cannot rely on a bulk <xmlvalidate> with
Xerces on Ant1.6.
(c) even if you stick with ant1.6, you can use <presetdef> to define
the template you want, instead of repeating the same xmlvalidate call
so often,.
There is an example here
http://cvs.sourceforge.net/viewcvs.py/deployment/deployment/build.xml?rev=1.73&view=markup
including some declarations of validation templates
<presetdef name="validate-xsd">
<schemavalidate>
<schema namespace="http://www.w3.org/2001/XMLSchema"
file="${soap.dir}/XMLSchema.xsd"/>
<schema namespace="http://www.w3.org/XML/1998/namespace"
file="${soap.dir}/xml.xsd"/>
<dtd publicId="http://www.w3.org/2001/datatypes.dtd"
location="${soap.dir}/datatypes.dtd"/>
</schemavalidate>
</presetdef>
<presetdef name="validate-soap">
<validate-xsd>
<schema namespace="http://www.w3.org/2003/05/soap-envelope"
file="${soap12.xsd}"/>
<schema namespace="http://schemas.xmlsoap.org/wsdl/"
file="${soap.dir}/wsdl.xsd"/>
<schema namespace="http://schemas.xmlsoap.org/wsdl/soap/"
file="${soap.dir}/wsdlsoap.xsd"/>
</validate-xsd>
</presetdef>
-steve
(ant and axis development team)
Index: catalog.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/test-suite/catalog.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** catalog.xml 3 Feb 2005 18:46:32 -0000 1.2
--- catalog.xml 19 Feb 2006 23:27:42 -0000 1.3
***************
*** 8,16 ****
uri="xmlcatalog/xsd/XMLSchema.dtd" />
<dtd publicId="datatypes" uri="xmlcatalog/xsd/datatypes.dtd" />
! <uri name="http://www.w3.org/2004/08/wsdl"
uri="xmlcatalog/wsdl/wsdl20.xsd" />
! <uri name="http://www.w3.org/2004/08/wsdl/rpc"
uri="xmlcatalog/wsdl/wsdl20-rpc.xsd" />
! <uri name="http://www.w3.org/2004/08/wsdl"
uri="xmlcatalog/wsdl/wsdl20-soap.xsd/soap" />
<uri name="http://www.w3.org/2001/XMLSchema"
--- 8,16 ----
uri="xmlcatalog/xsd/XMLSchema.dtd" />
<dtd publicId="datatypes" uri="xmlcatalog/xsd/datatypes.dtd" />
! <uri name="http://www.w3.org/2006/01/wsdl"
uri="xmlcatalog/wsdl/wsdl20.xsd" />
! <uri name="http://www.w3.org/2006/01/wsdl/rpc"
uri="xmlcatalog/wsdl/wsdl20-rpc.xsd" />
! <uri name="http://www.w3.org/2006/01/wsdl"
uri="xmlcatalog/wsdl/wsdl20-soap.xsd/soap" />
<uri name="http://www.w3.org/2001/XMLSchema"
Index: build.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/test-suite/build.xml,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** build.xml 25 Jan 2006 18:32:47 -0000 1.14
--- build.xml 19 Feb 2006 23:27:42 -0000 1.15
***************
*** 7,15 ****
ChangeLog:
2005-11-11 Arthur Ryman ryman@ca.ibm.com
- Added test coverage summary reports.
2005-11-09 Arthur Ryman ryman@ca.ibm.com
! - Upgrades to use 2005/08 versions of WSDL 2.0 schemas.
2005-04-30 Arthur Ryman ryman@ca.ibm.com
--- 7,21 ----
ChangeLog:
+ 2006-02-19 Arthur Ryman ryman@ca.ibm.com
+ - Upgraded to use 2006/01 versions of WSDL 2.0 schemas.
+ - Upgraded to use Ant 1.7 alpha as suggested by Steve Loughran <steve.loughran.soapbuilders@gmail.com>
+ using code from http://people.apache.org/~stevel/dist/ which contains the new <schemavalidate> task.
+ Refer to ant-tips-steve-loughran.txt for details
+
2005-11-11 Arthur Ryman ryman@ca.ibm.com
- Added test coverage summary reports.
2005-11-09 Arthur Ryman ryman@ca.ibm.com
! - Upgraded to use 2005/08 versions of WSDL 2.0 schemas.
2005-04-30 Arthur Ryman ryman@ca.ibm.com
***************
*** 23,109 ****
-->
! <project name="WSDL20" default="main" basedir=".">
!
! <property name="xercesImpl.jar" location="E:\xerces-2_6_2\xercesImpl.jar" />
! <property name="schemaLocation" value="http://www.w3.org/2004/08/wsdl xmlcatalog/wsdl/wsdl20.xsd http://www.w3.org/2001/XMLSchema xmlcatalog/xsd/XMLSchema.xsd" />
!
! <!--
! The above schemaLocation property is intended to be used with the Xerces parser so that XML files do not
! have to include an schemaLocation attribute. Unfortunately, there is a bug in the Xerces 2.6.2 that prevents
! the use of this property. I hope a future version of Xerces will fix this bug so that we can have simpler
! XML documents.
!
! <attribute name="http://apache.org/xml/properties/schema/external-schemaLocation" value="${schemaLocation}"/>
!
! -->
!
! <xmlcatalog id="schemas">
! <dtd publicId="-//W3C//DTD XMLSCHEMA 200102//EN" location="xmlcatalog/xsd/XMLSchema.dtd" />
! <dtd publicId="datatypes" location="xmlcatalog/xsd/datatypes.dtd" />
! <entity publicId="http://www.w3.org/2004/08/wsdl" location="xmlcatalog/wsdl/wsdl20.xsd" />
! <entity publicId="http://www.w3.org/2001/XMLSchema" location="xmlcatalog/xsd/XMLSchema.xsd" />
! </xmlcatalog>
!
! <xmlcatalog id="external">
! <catalogpath>
! <fileset file="catalog.xml" />
! </catalogpath>
! </xmlcatalog>
! <target name="main" depends="xsd-schema, wsdl-schema, good, bad" description="Validates all documents." />
! <target name="good" description="Validates good WSDL and XSD documents.">
! <xmlvalidate failonerror="yes" lenient="no" warn="yes" classname="org.apache.xerces.parsers.SAXParser" classpath="${xercesImpl.jar}">
! <fileset dir="documents/good" includes="**/*.wsdl, **/*.xsd, **/*.xml" />
! <xmlcatalog refid="schemas" />
! <attribute name="http://xml.org/sax/features/namespaces" value="true" />
! <attribute name="http://xml.org/sax/features/validation" value="true" />
! <attribute name="http://apache.org/xml/features/validation/schema" value="true" />
! <attribute name="http://apache.org/xml/features/validation/schema-full-checking" value="true" />
! </xmlvalidate>
! </target>
! <target name="goodxsd" description="Validates good XSD documents.">
! <xmlvalidate failonerror="yes" lenient="no" warn="yes" classname="org.apache.xerces.parsers.SAXParser" classpath="${xercesImpl.jar}">
! <fileset dir="documents/good" includes="**/*.xsd" />
! <xmlcatalog refid="schemas" />
! <attribute name="http://xml.org/sax/features/namespaces" value="true" />
! <attribute name="http://xml.org/sax/features/validation" value="true" />
! <attribute name="http://apache.org/xml/features/validation/schema" value="true" />
! <attribute name="http://apache.org/xml/features/validation/schema-full-checking" value="true" />
! </xmlvalidate>
</target>
! <target name="bad" description="Validates bad WSDL and XSD documents.">
! <xmlvalidate failonerror="yes" lenient="no" warn="yes" classname="org.apache.xerces.parsers.SAXParser" classpath="${xercesImpl.jar}">
! <fileset dir="documents/bad" includes="**/*.wsdl, **/*.xsd, **/*.xml" />
! <xmlcatalog refid="schemas" />
! <attribute name="http://xml.org/sax/features/namespaces" value="true" />
! <attribute name="http://xml.org/sax/features/validation" value="true" />
! <attribute name="http://apache.org/xml/features/validation/schema" value="true" />
! <attribute name="http://apache.org/xml/features/validation/schema-full-checking" value="true" />
! </xmlvalidate>
</target>
! <target name="wsdl-schema" description="Validates WSDL schemas.">
! <xmlvalidate failonerror="yes" lenient="no" warn="yes" classname="org.apache.xerces.parsers.SAXParser" classpath="${xercesImpl.jar}">
! <fileset dir="." includes="xmlcatalog/wsdl/*.xsd" />
! <xmlcatalog refid="schemas" />
! <attribute name="http://xml.org/sax/features/namespaces" value="true" />
! <attribute name="http://xml.org/sax/features/validation" value="true" />
! <attribute name="http://apache.org/xml/features/validation/schema" value="true" />
! <attribute name="http://apache.org/xml/features/validation/schema-full-checking" value="true" />
! </xmlvalidate>
! </target>
- <target name="xsd-schema" description="Validates XSD schema.">
- <xmlvalidate failonerror="yes" lenient="no" warn="yes" classname="org.apache.xerces.parsers.SAXParser" classpath="${xercesImpl.jar}">
- <fileset dir="." includes="xmlcatalog/xsd/*.xsd" />
- <xmlcatalog refid="schemas" />
- <attribute name="http://xml.org/sax/features/namespaces" value="true" />
- <attribute name="http://xml.org/sax/features/validation" value="true" />
- <attribute name="http://apache.org/xml/features/validation/schema" value="true" />
- <attribute name="http://apache.org/xml/features/validation/schema-full-checking" value="true" />
- </xmlvalidate>
</target>
--- 29,81 ----
-->
! <project name="WSDL 2.0 Test Suite" default="main" basedir=".">
! <target name="main" depends="schemavalidate-wsdl, schemavalidate-xml, schemavalidate-xsd" description="Schema validates all documents." />
! <property name="xsd.dir" location="xmlcatalog/xsd" />
! <property name="wsdl.dir" location="xmlcatalog/wsdl" />
! <property name="catalog.dir" location="xmlcatalog/catalog" />
! <target name="schemavalidate-xml" description="Schema validates all *.xml files.">
! <schemavalidate>
! <schema namespace="http://www.w3.org/2006/02/wsdl/TestMetadata" file="${wsdl.dir}/TestMetadata.xsd" />
! <schema namespace="http://www.w3.org/2006/01/wsdl-instance" file="${wsdl.dir}/wsdl20-instance.xsd" />
! <schema namespace="urn:oasis:names:tc:entity:xmlns:xml:catalog" file="${catalog.dir}/catalog.xsd" />
! <fileset dir=".">
! <include name="documents/**/*.xml" />
! <include name="exchanges/**/*.xml" />
! <include name="messages/**/*.xml" />
! </fileset>
! </schemavalidate>
</target>
! <target name="schemavalidate-xsd" description="Schema validates all catalog, WSDL and test case *.xsd files.">
! <schemavalidate>
! <schema namespace="http://www.w3.org/2001/XMLSchema" file="${xsd.dir}/XMLSchema.xsd" />
! <schema namespace="http://www.w3.org/2006/01/wsdl-instance" file="${wsdl.dir}/wsdl20-instance.xsd" />
! <dtd publicId="-//W3C//DTD XMLSCHEMA 200102//EN" location="${xsd.dir}/XMLSchema.dtd" />
! <dtd publicId="http://www.w3.org/2001/datatypes.dtd" location="${xsd.dir}/datatypes.dtd" />
! <fileset dir=".">
! <include name="${catalog.dir}}/**/*.xsd" />
! <include name="${wsdl.dir}/**/*.xsd" />
! <include name="documents/**/*.xsd" />
! <include name="exchanges/**/*.xsd" />
! <include name="messages/**/*.xsd" />
! </fileset>
! </schemavalidate>
</target>
! <target name="schemavalidate-wsdl" description="Schema validates all test case *.wsdl files">
! <schemavalidate>
! <schema namespace="http://www.w3.org/2001/XMLSchema" file="${xsd.dir}/XMLSchema.xsd" />
! <schema namespace="http://www.w3.org/2006/01/wsdl" file="${wsdl.dir}/wsdl20.xsd" />
! <schema namespace="http://www.w3.org/2006/01/wsdl-instance" file="${wsdl.dir}/wsdl20-instance.xsd" />
! <fileset dir=".">
! <include name="documents/**/*.wsdl" />
! <include name="exchanges/**/*.wsdl" />
! <include name="messages/**/*.wsdl" />
! </fileset>
! </schemavalidate>
</target>
***************
*** 116,123 ****
<replace dir="documents" includes="**/*.*" token="tempuri.org" value="example.org" />
</target>
!
<target name="update-soap-ns" description="Updates the SOAP namespace.">
<replace dir="documents" includes="**/*.*" token="http://www.w3.org/2005/08/wsdl/soap12" value="http://www.w3.org/2005/08/wsdl/soap" />
! </target>
<target name="coverage-test" description="Test case for generating coverage report for a WSDL document">
--- 88,95 ----
<replace dir="documents" includes="**/*.*" token="tempuri.org" value="example.org" />
</target>
!
<target name="update-soap-ns" description="Updates the SOAP namespace.">
<replace dir="documents" includes="**/*.*" token="http://www.w3.org/2005/08/wsdl/soap12" value="http://www.w3.org/2005/08/wsdl/soap" />
! </target>
<target name="coverage-test" description="Test case for generating coverage report for a WSDL document">
***************
*** 148,150 ****
--- 120,126 ----
</target>
+ <target name="dtd" description="Generates a DTD for the defined Ant tasks.">
+ <antstructure output="project.dtd" />
+ </target>
+
</project>
\ No newline at end of file
--- NEW FILE: project.dtd ---
<?xml version="1.0" encoding="UTF-8" ?>
<!ENTITY % boolean "(true|false|on|off|yes|no)">
<!ENTITY % tasks "propertyfile | ccmkdir | importtypelib | vsscheckin | sql | cvspass | p4reopen | csc | sshexec | dirname | p4label | p4revert | replaceregexp | get | jjtree | sleep | jarlib-display | length | dependset | zip | patch | jspc | style | nice | test | tstamp | unwar | vsshistory | cvschangelog | p4submit | ccmcheckin | scp | p4change | bzip2 | sync | p4delete | vssadd | javadoc | makeurl | p4integrate | translate | signjar | cclock | classloader | chown | jarlib-available | rexec | WsdlToDotnet | buildnumber | jpcovmerge | resourcecount | cvsversion | apt | ejbjar | war | copypath | rename | sequential | serverdeploy | property | subant | move | ildasm | copydir | schemavalidate | cccheckin | ccunlock | wljspc | fixcrlf | telnet | sosget | pathconvert | record | p4sync | exec | ccmklabel | p4edit | manifest | maudit | antlr | ftp | jpcovreport | execon | ccmcheckout | ant | xmlvalidate | xslt | p4resolve | iplanet-ejbc | ccmcheckintask | gzip | native2ascii | ccrmtype | ear | input | presetdef| rmic | checksum | mail | loadfile | vsscheckout | soscheckin | mimemail | gunzip | concat | cab | touch | parallel | splash | antcall | ccmkbl | cccheckout | typedef | p4have | filter | xmlproperty | import | jdepend | copy | jsharpc | symlink | antstructure | script | ccmcreatetask | rpm | delete | replace | mmetrics | attrib | verifyjar | waitfor | untar | loadproperties | available | echoproperties | junit | chgrp | bunzip2 | whichresource | copyfile | p4labelsync | vsscreate | macrodef | unjar | echoxml | vbc | wsdltodotnet | mkdir | cvs | condition | tempfile | junitreport | ccmkattr | taskdef | echo | ccupdate | java | renameext | vsslabel | basename | javadoc2 | tar | vsscp | p4fstat | setproxy | p4counter | diagnostics | ilasm | soscheckout | apply | jarlib-resolve | ccuncheckout | cvstagdiff | jlink | javacc | chmod | jarlib-manifest | pvcs | jar | ccmklbtype | sound | scriptdef | defaultexcludes | mparse | blgenclient | uptodate | jjdoc | genkey | javah | ccmkelem | ccmreconfigure | fail | unzip| javac | p4add | jpcoverage | soslabel | depend | vssget | deltree">
<!ENTITY % types "difference | isfileselected | mergemapper | extensionSet | url | scriptcondition | filterreader | selector | propertyset | dirset | chainedmapper | tarfileset | regexpmapper | zipentry | resources | scriptmapper | unpackagemapper | compositemapper | first | isreachable | string | propertyresource | flattenmapper | description | scriptfilter | concatfilter | scriptselector | xmlcatalog | extension | file | filtermapper | packagemapper | regexp | bzip2resource | filterchain | filterset | classfileset | files | patternset | intersect | mapper | union | resource | assertions | parsersupports | issigned | substitution | libfileset | zipfileset | xor | signedselector | tarentry | redirector | filelist | path | isfailure | fileset | restrict | globmapper | identitymapper | gzipresource | sort">
<!ELEMENT project (target | %tasks; | %types;)*>
<!ATTLIST project
name CDATA #IMPLIED
default CDATA #IMPLIED
basedir CDATA #IMPLIED>
<!ELEMENT target (%tasks; | %types;)*>
<!ATTLIST target
id ID #IMPLIED
name CDATA #REQUIRED
if CDATA #IMPLIED
unless CDATA #IMPLIED
depends CDATA #IMPLIED
[...5630 lines suppressed...]
vsspath CDATA #IMPLIED
version CDATA #IMPLIED
serverpath CDATA #IMPLIED
login CDATA #IMPLIED
filetimestamp (current | modified | updated) #IMPLIED
writable %boolean; #IMPLIED
taskname CDATA #IMPLIED
label CDATA #IMPLIED
description CDATA #IMPLIED
failonerror %boolean; #IMPLIED
localpath CDATA #IMPLIED
writablefiles (replace | skip | fail) #IMPLIED>
<!ELEMENT deltree EMPTY>
<!ATTLIST deltree
id ID #IMPLIED
taskname CDATA #IMPLIED
dir CDATA #IMPLIED
description CDATA #IMPLIED>
Received on Sunday, 19 February 2006 23:28:21 UTC