You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mu...@apache.org on 2010/01/31 05:04:27 UTC
svn commit: r904974 -
/xerces/java/branches/xml-schema-1.1-dev/samples/xs/XSSerializer.java
Author: mukulg
Date: Sun Jan 31 04:04:27 2010
New Revision: 904974
URL: http://svn.apache.org/viewvc?rev=904974&view=rev
Log:
adding XSD 1.1 support, and few more enhancements to serialization
Modified:
xerces/java/branches/xml-schema-1.1-dev/samples/xs/XSSerializer.java
Modified: xerces/java/branches/xml-schema-1.1-dev/samples/xs/XSSerializer.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/samples/xs/XSSerializer.java?rev=904974&r1=904973&r2=904974&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/samples/xs/XSSerializer.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/samples/xs/XSSerializer.java Sun Jan 31 04:04:27 2010
@@ -21,11 +21,12 @@
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
+import org.apache.xerces.impl.Constants;
import org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl;
+import org.apache.xerces.impl.xs.XMLSchemaLoader;
import org.apache.xerces.impl.xs.XSAttributeDecl;
import org.apache.xerces.impl.xs.XSComplexTypeDecl;
import org.apache.xerces.impl.xs.XSElementDecl;
-import org.apache.xerces.impl.xs.XSLoaderImpl;
import org.apache.xerces.impl.xs.XSWildcardDecl;
import org.apache.xerces.xs.StringList;
import org.apache.xerces.xs.XSAttributeUse;
@@ -33,7 +34,6 @@
import org.apache.xerces.xs.XSConstants;
import org.apache.xerces.xs.XSElementDeclaration;
import org.apache.xerces.xs.XSFacet;
-import org.apache.xerces.xs.XSLoader;
import org.apache.xerces.xs.XSModel;
import org.apache.xerces.xs.XSModelGroup;
import org.apache.xerces.xs.XSMultiValueFacet;
@@ -66,27 +66,46 @@
private static final String XSD_LANGUAGE_URI = "http://www.w3.org/2001/XMLSchema";
private static final String XSD_LANGUAGE_PREFIX = "xs:";
+ private static final String XML_SCHEMA_VERSION =
+ Constants.XERCES_PROPERTY_PREFIX +
+ Constants.XML_SCHEMA_VERSION_PROPERTY;
/*
* "Main method"
*
* An entry point to test this utility. e.g, command line:
- * java XSSerializer schema.xsd
+ * java XSSerializer -xsd11 schema.xsd
*
* The XSModel could be synthesized by any means (for example, by direct
* API calls to Xerces Schema API, methods) -- in which case, the method
* "serialize" will be used directly, passing in the XSModel object.
*/
public static void main(String[] args) {
- if (args.length != 1) {
+
+ if (args.length == 0 || args.length > 2) {
System.err.println("Usage:");
- System.err.println("java XSSerializer schema.xsd");
+ System.err.println("java XSSerializer [-xsd11] schema.xsd");
+ System.err.println("-xsd11 Turn on XSD 1.1 support");
System.exit(-1);
}
- XSSerializer xsSerializer = new XSSerializer();
- XSLoader xsLoader = new XSLoaderImpl();
- XSModel xsModel = xsLoader.loadURI(args[0]);
+
+ XMLSchemaLoader xsLoader = new XMLSchemaLoader();
+
+ String schemaUri = "";
+ if (args.length == 1) {
+ schemaUri = args[0];
+ }
+ else {
+ schemaUri = args[1];
+ if (args[0].equals("-xsd11")) {
+ xsLoader.setProperty(XML_SCHEMA_VERSION,
+ Constants.W3C_XML_SCHEMA11_NS_URI);
+ }
+ }
+
+ XSModel xsModel = xsLoader.loadURI(schemaUri);
try {
+ XSSerializer xsSerializer = new XSSerializer();
xsSerializer.serialize(xsModel);
}
catch(Exception ex) {
@@ -587,14 +606,11 @@
(XSElementDecl) partclTerm);
}
else if (partclTerm instanceof XSWildcard) {
- // new in XML Schema 1.1
XSWildcardDecl wildCardDecl = (XSWildcardDecl) partclTerm;
- /*
addWildcardToSchemaComponent(document,
allDeclDomNode,
wildCardDecl,
- "any");
- */
+ "any");
}
}
@@ -613,9 +629,11 @@
XSD_LANGUAGE_PREFIX
+ wildCardType);
String processContentsVal = wildCardDecl.getProcessContentsAsString();
- wildCardDomNode.setAttributeNS(null,
- "processContents",
- processContentsVal);
+ if (!processContentsVal.equals("strict")) {
+ wildCardDomNode.setAttributeNS(null,
+ "processContents",
+ processContentsVal);
+ }
parentNode.appendChild(wildCardDomNode);
} // end of, addWildcardToSchemaComponent
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org