﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="com.ramco.visualwf" targetNamespace="com.ramco.visualwf" xmlns:xs="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="docstatusinfo">
	<xs:annotation>
		<xs:documentation>
			"docstatusinfo" is the root node				
		</xs:documentation>
	</xs:annotation>		
	<xs:complexType>			
		<xs:sequence>
			<xs:element name="states" minOccurs="1" maxOccurs="1">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="level" minOccurs="1" maxOccurs="unbounded">
							<xs:complexType>
								<xs:annotation>
									<xs:documentation>
										ln = "Level Name"
										ld = "Level Description"																						
										sq = "Sequence No."
										as = "Application State"
										tn = "Task Name"
									</xs:documentation>
								</xs:annotation>
								<xs:attribute name="tn" type="xs:string" use="required"/>
								<xs:attribute name="ln" type="xs:string" use="required"/>
								<xs:attribute name="ld" type="xs:string" use="required"/>
								<xs:attribute name="sq" type="xs:string" use="required"/>
								<xs:attribute name="as" type="xs:string" use="required"/>								
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="path" minOccurs="1" maxOccurs="unbounded">
				<xs:complexType>
					<xs:annotation>
						<xs:documentation>
							pn = "Path Name"
							pr = "Process Rule"
							pt = "ProcessRule Type">  => pt="RUL" or pt="SP"
						</xs:documentation>
					</xs:annotation>
					<xs:sequence>
						<xs:element name="pstates" minOccurs="1" maxOccurs="1">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="plevel" minOccurs="1" maxOccurs="unbounded">
										<xs:complexType>
											<xs:annotation>
												<xs:documentation>
													ln = "Level Name"
													ld = "Level Description"
													mn = "Mandatory"
													ut = "StakeHolder Identification Type"
													sq = "Sequence No."
													as = "Application State"
													tn = "Task Name"
												</xs:documentation>
											</xs:annotation>
											<xs:attribute name="ln" type="xs:string" use="required"/>
											<xs:attribute name="ld" type="xs:string" use="required"/>
											<xs:attribute name="mn" type="xs:string" use="required"/>
											<xs:attribute name="ut" type="xs:string" use="required"/>
											<xs:attribute name="sq" type="xs:string" use="required"/>
											<xs:attribute name="as" type="xs:string" use="required"/>
											<xs:attribute name="tn" type="xs:string" use="required"/>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="pn" type="xs:string" use="required"/>
					<xs:attribute name="pr" type="xs:string" use="required"/>
					<xs:attribute name="pt" type="xs:string" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="flow">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="docstatus" minOccurs="1" maxOccurs="unbounded">
							<xs:complexType>
								<xs:annotation>
									<xs:documentation>
										dk = "doc_key"
										dd = "Document date"
										sn = "State Name"
										sd = "State Description"
										st = "Status"
										ut = "StakeHolder Identification Type"
										td = "transaction date"
										sq = "Sequence No."
										tn = "Task Name"
										pd = "Path Description"
									</xs:documentation>
								</xs:annotation>
								<xs:sequence>
									<xs:element name="users" minOccurs="1" maxOccurs="1">
										<xs:complexType>
											<xs:annotation>
												<xs:documentation>
													ut = "StakeHolder Identification Type"
													rs = "Resource Rule Id"
													rd = "Resource Rule Id - Expression"
													pf = "Profile Name"
													pa = "Profile Action"
													sc = "StakeHolders Count"
													ac = "Authorized Count"
													pc = "Pending Count"
												</xs:documentation>
											</xs:annotation>
											<xs:sequence>
												<xs:element name="stakeholders" minOccurs="1" maxOccurs="1">
													<xs:complexType>
														<xs:sequence>
															<xs:element name="stakeholder" minOccurs="1" maxOccurs="unbounded">
																<xs:complexType>
																	<xs:annotation>
																		<xs:documentation>
																			sh = "Stakeholder"
																			st = "Status"
																			ou = "Org. Unit"
																			su = "Super User"
																			rr = "Re-routed"
																			ab = "Authorized By"
																			cs = "Closed Status"
																			px= "Proxy StakeHolder"
																			pu= "Proxy OU"
																			af = "Alternate For"
																			rb = "Re-Routed By"
																			er = "Error Description"
																		</xs:documentation>
																	</xs:annotation>
																	<xs:attribute name="sh" type="xs:string" use="required"/>
																	<xs:attribute name="st" type="xs:string" use="required"/>
																	<xs:attribute name="ou" type="xs:string" use="required"/>
																	<xs:attribute name="su" type="xs:string" use="required"/>
																	<xs:attribute name="rr" type="xs:string" use="required"/>
																	<xs:attribute name="ab" type="xs:string" use="required"/>
																	<xs:attribute name="cs" type="xs:string" use="required"/>
																	<xs:attribute name="px" type="xs:string" use="required"/>
																	<xs:attribute name="pu" type="xs:string" use="required"/>
																	<xs:attribute name="af" type="xs:string" use="required"/>
																	<xs:attribute name="rb" type="xs:string" use="required"/>
																	<xs:attribute name="td" type="xs:string" use="required"/>
																</xs:complexType>
															</xs:element>																
														</xs:sequence>
													</xs:complexType>
												</xs:element>
											</xs:sequence>
											<xs:attribute name="ut" type="xs:string" use="required"/>
											<xs:attribute name="rs" type="xs:string" use="required"/>
											<xs:attribute name="rd" type="xs:string" use="required"/>
											<xs:attribute name="pf" type="xs:string" use="required"/>
											<xs:attribute name="pa" type="xs:string" use="required"/>
											<xs:attribute name="uc" type="xs:string" use="required"/>
											<xs:attribute name="ac" type="xs:string" use="required"/>
											<xs:attribute name="pc" type="xs:string" use="required"/>
											<xs:attribute name="er" type="xs:string" use="required"/>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
								<xs:attribute name="pn" type="xs:string" use="required"/>
								<xs:attribute name="dk" type="xs:string" use="required"/>
								<xs:attribute name="dd" type="xs:string" use="required"/>
								<xs:attribute name="sn" type="xs:string" use="required"/>
								<xs:attribute name="sd" type="xs:string" use="required"/>
								<xs:attribute name="st" type="xs:string" use="required"/>
								<xs:attribute name="ut" type="xs:string" use="required"/>
								<xs:attribute name="td" type="xs:string" use="required"/>								
								<xs:attribute name="sq" type="xs:string" use="required"/>
								<xs:attribute name="pd" type="xs:string" use="required"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>			
		<xs:attribute name="total" type="xs:string" use="required"/>
		<xs:attribute name="success" type="xs:string" use="required"/>
		<xs:attribute name="message" type="xs:string" use="required"/>	
	</xs:complexType>
</xs:element>
</xs:schema>
