37 cout <<
"Usage: schema [options] <schema_file_name> [-i schema instance file name]"<<endl;
38 cout <<
"Example:schema po.xsd -i po.xsi"<<endl;
39 cout <<
"Example:schema first-building-blocks.xsd -i first.xml "<<endl;
40 std::cout<<
"Options"<<std::endl;
41 std::cout<<
" -x host[:port] Use HTTP proxy on given port"<<std::endl;
42 std::cout<<
" -U user[:password] Specify Proxy authentication"<<std::endl;
43 std::cout<<
" -g generate an xml instance for a top level element in the schema"<<std::endl;
44 std::cout<<
" -v Verbose mode"<<std::endl;
49main (
int argc,
char *argv[])
55 bool accept_password =
false;
56 unsigned char lvl = 0;
57 bool genInstance =
false,validate=
false;
59 for (;i<argc && !brkloop;){
63 std::string opt(argv[i]+1);
73 else if (opt ==
"v") {
79 size_t pos=opt.find(
':');
81 if(pos==std::string::npos){
90 size_t pos=opt.find(
':');
92 if(pos!=std::string::npos)
95 accept_password =
true;
104 std::cerr<<
"Unknown option "<<argv[i]<<std::endl;
142 cout <<
"Successfully parsed schema " <<sp->
getNamespace() << endl;
147 std::cerr<<
"Could not successfully parse "<<argv[i-1]<<std::endl;
148 std::cerr<<
"Run the command with -v option for more details"<<std::endl;
154 std::string elemName;
159 if (i <=argc && argv[i]){
161 elemName = std::string(argv[i]);
163 for ( Schema::SchemaParser::ElementList::const_iterator eli= el.begin();
164 eli!=el.end() && !found;
167 if (eli->getName() == elemName){
176 std::cerr<<
"element '"<<elemName<<
"' not found in the schema.Try 'schema -g "<<argv[2]<<
"' to see the list of elements in the schema"<<std::endl;
182 for ( Schema::SchemaParser::ElementList::const_iterator eli= el.begin();
187 std::cout<<n<<
"."<<eli->
getName()<<std::endl;
190 std::cout<<
"No top level elements to generate instance.. exiting"<<std::endl;
193 std::cout<<
"Which element should I generate an instance for [1.."<<n-1<<
"]?";
197 for ( Schema::SchemaParser::ElementList::const_iterator eli1= el.begin();
198 eli1!=el.end() && n ;
199 eli1++,n--) element = *eli1;
209 insfs.open (xmlDoc.c_str());
212 cerr <<
"An Error occrred while opening " << argv[i+1] << endl;
235 cout <<
"{"<<elemName.
getNamespace () <<
"}" << elemName.
236 getLocalName ()<<std::endl;
241 std::cout<<std::endl;
255 cout <<
"{"<<elemName.
getNamespace () <<
"}" << elemName.
256 getLocalName ()<<std::endl;
261 std::cout<<std::endl;
279 cerr<<
"An Exception occurred ...@"<<spe.
line
280 <<
":"<<spe.
col<<endl;
286 cerr<<
"An Exception occurred ...@"<<xpe.
line
287 <<
":"<<xpe.
col<<endl;
#define FEATURE_PROCESS_NAMESPACES
std::string getLocalName(void) const
void setNamespace(std::string uri)
std::string getPrefix(void) const
std::string getNamespace(void) const
std::string getName() const
std::string getNamespace(void) const
void setWarningLevel(int l)
const ElementList & getElements() const
std::list< Element > ElementList
const Element * getElement(const Qname &element, bool checkImports=true) const
int getTypeId(const Qname &, bool create=false)
bool instance(const std::string &tag, Schema::Type type_id)
TypeContainer * validate(XmlPullParser *xpp, int typeId, TypeContainer *ipTc=0)
void print(std::ostream &os)
void require(int type, std::string ns, std::string name)
std::string getNamespace(std::string prefix)
std::string getAttributeValue(int index)
void setFeature(std::string feature, bool value)
const std::string SchemaInstaceUri
bool WSDLPULL_EXPORT getProxy()
std::string WSDLPULL_EXPORT getProxyHost()
void WSDLPULL_EXPORT setProxyPass(const std::string &sProxyPass)
bool WSDLPULL_EXPORT fetchUri(std::string uri, std::string &path)
std::string WSDLPULL_EXPORT acceptSecretKey(const std::string &field)
void WSDLPULL_EXPORT setProxy(const bool bProxy)
void WSDLPULL_EXPORT setProxyUser(const std::string &sProxyUser)
void WSDLPULL_EXPORT setProxyHost(const std::string &sProxyHost)
int main(int argc, char *argv[])