Sorry if you got this twice. I did not see it show up on the archive so I'm assuming it didn't make it to the mailing list.... Karen
> Hi, > > I have a fairly large xml file that makes use of a schema. I get the > following stack trace > > java.lang.ArrayIndexOutOfBoundsException: 128 > at > org.apache.xerces.dom.DeferredDocumentImpl.getNodeObject(Compiled Code) > at > org.apache.xerces.dom.DeferredElementImpl.synchronizeChildren(Compiled > Code) > at org.apache.xerces.dom.NodeImpl.getChildNodes(Compiled Code) > at dom.DOMCount.traverse(Compiled Code) > at dom.DOMCount.traverse(Compiled Code) > at dom.DOMCount.traverse(Compiled Code) > at dom.DOMCount.count(Compiled Code) > at dom.DOMCount.main(Compiled Code) > > while using the sample DOMCount program on my data. It turns out that > if I remove any one > element with its associated nested elements, then this bug goes away. > Removing an element > that has no sub elements does not affect the problem. > > So if I remove one (the last attribute-type element for example), I get > the following output: > java dom.DOMCount ris.xml > ris.xml: 1068 ms (671 elems, 966 attrs, 4164 spaces, 13090 chars) > > This is just to provide you with information about how large the file > is. I have attached both the > schema and xml file so that you can check it out for yourself. This > problem does not occur > when using SAX. I noticed there have been several problems with a > similar trace in the archives > in the past. I am using version 1.0.1 under solaris. > > Also, any information about plans for improved support would be > appreciated. Will we be able > to use a named namespace soon? For example, modify the example data > that comes with > xerces to look like > <?xml version="1.0" encoding="UTF-8"?> > <foo:personnel xmlns:foo="personal.xsd"> > <foo:person id=.....> > </foo:person> > ... > </foo:personnel> > > Thanks, > Karen > > --------------C5EA6DD914E762D91D7D63F3 > Content-Type: text/plain; charset=us-ascii; > name="ris.xml" > Content-Transfer-Encoding: 7bit > Content-Disposition: inline; > filename="ris.xml" > > <?xml version="1.0"?> > > <ris xmlns="ris.xsd"> > <ris-directory-schema> > > <!-- Classes --> > > <!-- General Classes --> > > <class type="abstract" id="netscape::top"> > <name>Netscape::top</name> > <description> > The Netscape:top class is used as a superclass for all other > objects in the directory. The top object class is an abstract class and > is reserved for use by the directory server. RFC 2256 specifies the top > object class must be recognized by all LDAP server implementations. The > following is the Netscape definition for the top object. > </description> > <attribute ref="#objectClass" required="true"/> > <attribute ref="#aci" required="false"/> > </class> > > <class type="structural" id="grid::preferences"> > <name>Grid::Preferences</name> > <rdn>uniqueName</rdn> > <childof>Grid::Person</childof> > <description> > This class is used to store user preferences. Currently > preferences are defined as key/value pairs and are stored as key=value. > </description> > <attribute ref="#uniqueName" required="true"/> > <attribute ref="#keyvalue" required="false"/> > </class> > > <!-- Organization Classes --> > > <class > type="structural" > id="x.500::organization" > superior="Netscape::top"> > <name>X.500::organization</name> > <rdn>o</rdn> > <childof>X.500::organization</childof> > <description> > This class defines entries that represent organizations. This is > the X.500 definition as implemented by Netscape. Note that this class is > defined to be recursive - organizations can consist of other > organizations. We purposely did not use the organizationalUnit class > since it seemed to merge with the definition of organization over time. > </description> > <attribute ref="#o" required="true"/> > <attribute ref="#businessCategory" required="false"/> > <attribute ref="#description" required="false"/> > <attribute ref="#destinationIndicator" required="false"/> > <attribute ref="#facsimileTelephoneNumber" required="false"/> > <attribute ref="#internationalIsdnNumber" required="false"/> > <attribute ref="#l" required="false"/> > <attribute ref="#physicalDeliveryOfficeName" required="false"/> > <attribute ref="#postalAddress" required="false"/> > <attribute ref="#postalCode" required="false"/> > <attribute ref="#postOfficeBox" required="false"/> > <attribute ref="#preferredDeliveryMethod" required="false"/> > <attribute ref="#registeredAddress" required="false"/> > <attribute ref="#searchGuide" required="false"/> > <attribute ref="#seeAlso" required="false"/> > <attribute ref="#st" required="false"/> > <attribute ref="#street" required="false"/> > <attribute ref="#telephoneNumber" required="false"/> > <attribute ref="#teletexTerminalIdentifier" required="false"/> > <attribute ref="#telexNumber" required="false"/> > <attribute ref="#userPassword" required="false"/> > <attribute ref="#x121Address" required="false"/> > </class> > > <!-- People Classes --> > > <class type="abstract" id="x.500::person" superior="netscape::top"> > <name>X.500::Person</name> > <description> > Grid::person is an abstract class that generically represents > people. This is the X.500 definition as implemented by Netscape. > </description> > <attribute ref="#commonName" required="true"/> > <attribute ref="#surName" required="true"/> > <attribute ref="#description" required="false"/> > <attribute ref="#seeAlso" required="false"/> > <attribute ref="#telephoneNumber" required="false"/> > <attribute ref="#userPassword" required="false"/> > </class> > > <class type="abstract" > id="x.500::organizationalPerson" superior="x.500::person"> > <name>X.500::organizationalPerson</name> > <description> > X.500::organizationalPerson defines entries for people employed > by and organization. This abstract class is the X.500 definition > as implemented by Netscape. > </description> > <attribute ref="#destinationIndicator" required="false"/> > <attribute ref="#facsimileTelephoneNumber" required="false"/> > <attribute ref="#internationalIsdnNumber" required="false"/> > <attribute ref="#l" required="false"/> > <attribute ref="#ou" required="false"/> > <attribute ref="#physicalDeliveryOfficeName" required="false"/> > <attribute ref="#postalAddress" required="false"/> > <attribute ref="#postalCode" required="false"/> > <attribute ref="#postOfficeBox" required="false"/> > <attribute ref="#preferredDeliveryMethod" required="false"/> > <attribute ref="#registeredAddress" required="false"/> > <attribute ref="#st" required="false"/> > <attribute ref="#street" required="false"/> > <attribute ref="#teletexTerminalIdentifier" required="false"/> > <attribute ref="#telexNumber" required="false"/> > <attribute ref="#title" required="false"/> > <attribute ref="#x121Address" required="false"/> > </class> > > <class type="structural" > id="netscape::inetorgperson" superior="x.500::organizationalPerson"> > <name>Netscape::inetOrgPerson</name> > <rdn>mail</rdn> > <childof>x.500::organization</childof> > <description> > inetOrgPerson represents people in an organization's enterprise > network. > </description> > <attribute ref="#audio" required="false"/> > <attribute ref="#businessCategory" required="false"/> > <attribute ref="#carLicense" required="false"/> > <attribute ref="#departmentNumber" required="false"/> > <attribute ref="#displayName" required="false"/> > <attribute ref="#employeeNumber" required="false"/> > <attribute ref="#employeeType" required="false"/> > <attribute ref="#givenName" required="false"/> > <attribute ref="#homePhone" required="false"/> > <attribute ref="#homePostalAddress" required="false"/> > <attribute ref="#initials" required="false"/> > <attribute ref="#jpegPhoto" required="false"/> > <attribute ref="#labeledURL" required="false"/> > <attribute ref="#mail" required="false"/> > <attribute ref="#manager" required="false"/> > <attribute ref="#mobile" required="false"/> > <attribute ref="#pager" required="false"/> > <attribute ref="#photo" required="false"/> > <attribute ref="#preferredLanguage" required="false"/> > <attribute ref="#roomNumber" required="false"/> > <attribute ref="#secretary" required="false"/> > <attribute ref="#uid" required="false"/> > <attribute ref="#userCertificate" required="false"/> > <attribute ref="#userPKCS12_binary" required="false"/> > <attribute ref="#userSMIMECertificate" required="false"/> > <attribute ref="#x500UniqueIdentifier" required="false"/> > </class> > > <class type="structural" > id="grid::person" superior="netscape::inetOrgPerson"> > <name>Grid::Person</name> > <rdn>mail</rdn> > <childof>x.500::organization</childof> > <description> > Grid::Person objects represent people in a grid environment. > </description> > <attribute ref="#city" required="false"/> > <attribute ref="#country" required="false"/> > <attribute ref="#employer" required="false"/> > <attribute ref="#organization" required="false"/> > </class> > > <!-- Resource Classes --> > > <class type="abstract" id="grid::physicalresource" > superior="#netscapetop"> > <name>Grid::PhysicalResource</name> > <description> > An abstract class for any physical resources, e.g. computers, > instruments... > </description> > <attribute ref="#owner" required="false"/> > <attribute ref="#description" required="false"/> > <attribute ref="#seeAlso" required="false"/> > </class> > > <class type="structural" > id="grid::computeresource" superior="#grid::physicalresource"> > <name>Grid::ComputeResource</name> > <rdn>hn</rdn> > <childof>X.500::organization</childof> > <description> > A computational resource that runs computational codes. > </description> > <attribute ref="#hn" required="true"/> > <attribute ref="#totalNodes" required="true" singular="true"/> > <attribute ref="#cpusPerNode" required="false" singular="true"/> > <attribute ref="#cpuSpeed" required="false"/> > <attribute ref="#manufacturer" required="false"/> > <attribute ref="#machineHardwareName" required="false"/> > <attribute ref="#architecture" required="false" singular="true"/> > <attribute ref="#model" required="false"/> > <attribute ref="#osName" required="false" singular="true"/> > <attribute ref="#osVersion" required="false" singular="true"/> > <attribute ref="#scriptHeader" required="false" singular="false"/> > <attribute ref="#scriptBody" required="false" singular="false"/> > </class> > > <!-- Queue Classes --> > > <class type="structural" > id="grid::resourcemanager" superior="#netscape::top"> > <name>Grid::ResourceManager</name> > <rdn>mn</rdn> > <childof>Grid::ComputeResource</childof> > <description> > Grid::ResourceManager is an abstraction for the type of job > scheduling service available on a machines. Examples include Maui, NQE, > NQS, LoadLeveler. This class also contains information about how the queue is > configured and installed. > </description> > <attribute ref="#mn" required="true" singular="true"/> > <attribute ref="#hn" required="true"/> > <attribute ref="#releaseTag" required="false" singular="true"/> > <attribute ref="#allocationAccounts" required="false" singular="true"/> > <attribute ref="#autoPick" required="false" singular="true"/> > <attribute ref="#installDirectory" required="false" singular="true"/> > <attribute ref="#binDirectory" required="false" singular="true"/> > <attribute ref="#queue" required="false"/> > </class> > > <class type="structural" > id="grid::queue" superior="#netscape::top"> > <name>Grid::Queue</name> > <rdn>qn</rdn> > <childof>Grid::ResourceManager</childof> > <description> > This class contains information about a queue and how it is > configured. > </description> > <attribute ref="#qn" required="true"/> > <attribute ref="#mn" required="true" singular="true"/> > <attribute ref="#hn" required="true"/> > <attribute ref="#defaultMaxCPUTime" required="false" singular="true"/> > <attribute ref="#defaultMaxWallTime" required="false" singular="true"/> > <attribute ref="#defaultNodes" required="false" singular="true"/> > <attribute ref="#defaultSingleMemory" required="false" singular="true"/> > <attribute ref="#defaultTotalMemory" required="false" singular="true"/> > <attribute ref="#minNodes" required="false" singular="true"/> > <attribute ref="#maxNodes" required="false" singular="true"/> > <attribute ref="#maxSingleMemory" required="false" singular="true"/> > <attribute ref="#maxTotalMemory" required="false" singular="true"/> > <attribute ref="#maxWallTime" required="false" singular="true"/> > </class> > > <class type="structural" > id="grid::queueentry" superior="#netscape::top"> > <name>Grid::QueueEntry</name> > <rdn>qen</rdn> > <childof>Grid::Person</childof> > <description> > A queue entry represents a job that is submitted to a queue, is > running, or has recently completed. This class must contain enough > information so that processes can connect up to proxies associated with > the running job (i.e. a job monitor). > </description> > <attribute ref="#qen" required="true" singular="true"/> > <attribute ref="#hn" required="true" singular="false"/> > <attribute ref="#jobId" required="true" singular="true"/> > <attribute ref="#proxyId" required="true" singular="true"/> > <attribute ref="#nodes" required="true" singular="true"/> > <attribute ref="#qn" required="true" singular="false"/> > <attribute ref="#runDirectory" required="true" singular="true"/> > <attribute ref="#jobStatus" required="true" singular="true"/> > <attribute ref="#uid" required="true" singular="true"/> > <attribute ref="#mail" required="true" singular="false"/> > <attribute ref="#description" required="true" singular="false"/> > <attribute ref="#startTime" required="false" singular="false"/> > <attribute ref="#submitTime" required="false" singular="false"/> > <attribute ref="#finishTime" required="false" singular="false"/> > </class> > > <class type="structural" > id="grid::queuetemplates" superior="#netscape::top"> > <name>Grid::QueueTemplates</name> > <rdn>mn</rdn> > <childof>X.500::organization</childof> > <description> > The class contains queue submission default scripts per resource > manager type. For resouce managers like Maui, this information is often > overridden by the same attributes in Grid::ComputeResource. > </description> > <attribute ref="#hn" required="true" singular="true"/> > <attribute ref="#scriptHeader" required="true" singular="false"/> > <attribute ref="#scriptBody" required="true" singular="false"/> > </class> > > <!-- Software Classes --> > > <class type="structural" > id="grid::repositorysoftware" superior="#netscape::top"> > <name>Grid::RepositorySoftware</name> > <rdn>rsw</rdn> > <childof>X.500::organization</childof> > <description> > A repository software object stores information related to software > that is independent of any particular installation of the software. > Essentially it contains meta-data about he code itself. > </description> > <attribute ref="#rsw" required="true" singular="true"/> > <attribute ref="#name" required="true" singular="true"/> > <attribute ref="#releaseTag" required="true" singular="true"/> > <attribute ref="#domainClassification" required="true" > singular="false"/> > <attribute ref="#contact" required="false" singular="false"/> > <attribute ref="#description" required="false" singular="false"/> > <attribute ref="#seeAlso" required="false" singular="false"/> > </class> > > <class type="structural" > id="grid::software" superior="#netscape::top"> > <name>Grid::Software</name> > <rdn>sw</rdn> > <childof>Grid::ComputeResource</childof> > <description> > The Grid::Software object stores information related to software > that is installed on a machine. It is currently not designed to reflect > software installed "on the network". > </description> > <attribute ref="#sw" required="true" singular="true"/> > <attribute ref="#name" required="true" singular="true"/> > <attribute ref="#releaseTag" required="true" singular="true"/> > <attribute ref="#hn" required="true" singular="false"/> > <attribute ref="#environment" required="false" singular="false"/> > <attribute ref="#installDirectory" required="false" singular="true"/> > <attribute ref="#binDirectory" required="false" singular="false"/> > <attribute ref="#libDirectory" required="false" singular="false"/> > <attribute ref="#executables" required="false" singular="false"/> > <attribute ref="#script" required="false" singular="true"/> > </class> > > <class type="structural" > id="grid::daemon" superior="#grid::software"> > <name>Grid::Daemon</name> > <rdn>da</rdn> > <childof>Grid::ComputeResource</childof> > <description> > A Grid::Daemon stores information about deamons runnign an a > system. Examples are globus gatekeeper, sshd, telnetd, HBM datacollector. > </description> > <attribute ref="#da" required="true" singular="true"/> > <attribute ref="#hn" required="true" singular="false"/> > <attribute ref="#port" required="false" singular="true"/> > <attribute ref="#protocol" required="false" singular="true"/> > </class> > > <!-- Attributes --> > > <attribute-type id="objectClass"> > <name>objectClass</name> > <type type="string"/> > <description> > Defines the object classes for the entry. An object in a directory can > be created from more than one object class. > </description> > </attribute-type> > > <attribute-type id="aci"> > <name>aci</name> > <type type="binary"/> > <description> > Defines the directory server access control information for this > entry. > </description> > </attribute-type> > > <attribute-type id="o"> > <name>o</name> > <type type="string"/> > <description> > The name of the organization. > </description> > </attribute-type> > > <attribute-type id="businessCategory"> > <name>businessCategory</name> > <type type="string"/> > <description> > Business in which the organization is involved. Examples are > profit, nonprofit, research, government, educational, university. > </description> > </attribute-type> > > <attribute-type id="destinationIndicator"> > <name>destinationIndicator</name> > <type type="string"/> > <description> > The country and city associated with the entry to provide Public > Telegram Service. > </description> > </attribute-type> > > <attribute-type id="facsimileTelephoneNumber"> > <name>facsimileTelephoneNumber</name> > <type type="phone"/> > <description> > Fax number associated with the organization. > </description> > </attribute-type> > > <attribute-type id="internationalIsdnNumber"> > <name>internationalIsdnNumber</name> > <type type="ces"/> > <description> > Contains an ISDN number for the organization. > </description> > </attribute-type> > > <attribute-type id="l"> > <name>l</name> > <type type="string"/> > <description> > The organization's location(s). > </description> > </attribute-type> > > <attribute-type id="physicalDeliveryOfficeName"> > <name>physicalDeliveryOfficeName</name> > <type type="string"/> > <description> > The location where physical deliveries can be made to the > organization. > </description> > </attribute-type> > > <attribute-type id="postalAddress"> > <name>postalAddress</name> > <type type="string"/> > <description> > The organization's mailing address. > </description> > </attribute-type> > > <attribute-type id="postalCode"> > <name>postalCode</name> > <type type="string"/> > <description> > The organization's postal code (such as United States zip code). > </description> > </attribute-type> > > <attribute-type id="postOfficeBox"> > <name>postOfficeBox</name> > <type type="string"/> > <description> > The organization's post office box. > </description> > </attribute-type> > > <attribute-type id="preferredDeliveryMethod"> > <name>preferredDeliveryMethod</name> > <type type="string"/> > <description> > The organization's preferred method of contact or delivery. > </description> > </attribute-type> > > <attribute-type id="registeredAddress"> > <name>registeredAddress</name> > <type type="string"/> > <description> > Postal address suitable for reception of expedited documents where > the recipient must verify delivery. > </description> > </attribute-type> > > <attribute-type id="searchGuide"> > <name>searchGuide</name> > <type type="ces"/> > <description> > Specifies information for suggested search criteria when using the > entry as the base object in the directory tree for a search operation. > </description> > </attribute-type> > > <attribute-type id="seeAlso"> > <name>seeAlso</name> > <type type="dn"/> > <description> > URL to information relevent to the entity. > </description> > </attribute-type> > > <attribute-type id="st"> > <name>st</name> > <type type="string"/> > <description> > State or province in which the organization resides. > </description> > </attribute-type> > > <attribute-type id="street"> > <name>street</name> > <type type="string"/> > <description> > Street address at which the organization is located. > </description> > </attribute-type> > > <attribute-type id="telephoneNumber"> > <name>telephoneNumber</name> > <type type="phone"/> > <description> > Telephone number associated with the organization. > </description> > </attribute-type> > > <attribute-type id="teletexTerminalIdentifier"> > <name>teletexTerminalIdentifier</name> > <type type="string"/> > <description> > Identifier for the teletex terminal of the organization. > </description> > </attribute-type> > > <attribute-type id="telexNumber"> > <name>telexNumber</name> > <type type="string"/> > <description> > Telex number of the entity represented by the object. > </description> > </attribute-type> > > <attribute-type id="userPassword"> > <name>userPassword</name> > <type type="binary"/> > <description> > Password with which the entity represented by the object can bind to > the directory. > </description> > </attribute-type> > > <attribute-type id="x121Address"> > <name>x121Address</name> > <type type="ces"/> > <description> > The X.121 address of the entity represented by the object. > </description> > </attribute-type> > > <attribute-type id="uniqueName"> > <name>uniqueName</name> > <type type="string"/> > <description> > A name that is unique to the object class in order to support the > lookup of an object. > </description> > </attribute-type> > > <attribute-type id="keyvalue"> > <name>keyvalue</name> > <type type="keyValue"/> > <description> > A key/value pair of the form key=value. > </description> > </attribute-type> > > <attribute-type id="commonName"> > <name>commonName</name> > <type type="string"/> > <description> > A person's common name or first name. > </description> > </attribute-type> > > <attribute-type id="surName"> > <name>surName</name> > <type type="string"/> > <description> > A person's surname or last name. > </description> > </attribute-type> > > <attribute-type id="ou"> > <name>ou</name> > <type type="string"/> > <description> > Organizational unit to which the person belongs. > Brett, but we don't have OU! > </description> > </attribute-type> > > <attribute-type id="title"> > <name>title</name> > <type type="string"/> > <description> > A person's job title. > </description> > </attribute-type> > > <attribute-type id="city"> > <name>city</name> > <type type="string"/> > <description> > City of the person for postal contact. > </description> > </attribute-type> > > <attribute-type id="country"> > <name>country</name> > <type type="string"/> > <description> > Country of residence. > </description> > </attribute-type> > > <attribute-type id="employer"> > <name>employer</name> > <type type="string"/> > <description> > Organization the person is employed by. > </description> > </attribute-type> > > <attribute-type id="organization"> > <name>organization</name> > <type type="dn"/> > <description> > The organization the entity represented by this object is associaed > with. > </description> > </attribute-type> > > <attribute-type id="audio"> > <name>audio</name> > <type type="binary"/> > <description> > Contains a sound file in binary format. > </description> > </attribute-type> > > <attribute-type id="carLicense"> > <name>carLicense</name> > <type type="string"/> > <description> > The license plate number(s) for vehicle(s). > </description> > </attribute-type> > > <attribute-type id="departmentNumber"> > <name>departmentNumber</name> > <type type="string"/> > <description> > A unique identifier for a department within an organization. > </description> > </attribute-type> > > <attribute-type id="displayName"> > <name>displayName</name> > <type type="string"/> > <description> > Preferred name of a person to be used when displaying entries. > </description> > </attribute-type> > > <attribute-type id="employeeNumber"> > <name>employeeNumber</name> > <type type="string"/> > <description> > A unique identifying number associated with an employee. > </description> > </attribute-type> > > <attribute-type id="employeeType"> > <name>employeeType</name> > <type type="string"/> > <description> > The person's type of employment (for example, full time) > </description> > </attribute-type> > > <attribute-type id="givenName"> > <name>givenName</name> > <type type="string"/> > <description> > The person's given or first name. > </description> > </attribute-type> > > <attribute-type id="homePhone"> > <name>homePhone</name> > <type type="phone"/> > <description> > The person's home phon number. > </description> > </attribute-type> > > <attribute-type id="homePostalAddress"> > <name>homePostalAddress</name> > <type type="string"/> > <description> > The person's home mailing address > </description> > </attribute-type> > > <attribute-type id="initials"> > <name>initials</name> > <type type="string"/> > <description> > The person's initials. > </description> > </attribute-type> > > <attribute-type id="jpegPhoto"> > <name>jpegPhoto</name> > <type type="binary"/> > <description> > An image in JPEG format. > </description> > </attribute-type> > > <attribute-type id="labeledURL"> > <name>labeledURL</name> > <type type="uri"/> > <description> > A univeral resource locator that is relevent to the person. > </description> > </attribute-type> > > <attribute-type id="mail"> > <name>mail</name> > <type type="string"/> > <description> > An electronic mailing address. > </description> > </attribute-type> > > <attribute-type id="manager"> > <name>manager</name> > <type type="dn"/> > <description> > Distinguished name representing a manager. > </description> > </attribute-type> > > <attribute-type id="mobile"> > <name>mobile</name> > <type type="phone"/> > <description> > A mobile telephone number. > </description> > </attribute-type> > > <attribute-type id="pager"> > <name>pager</name> > <type type="phone"/> > <description> > A pager phone number. > </description> > </attribute-type> > > <attribute-type id="photo"> > <name>photo</name> > <type type="binary"/> > <description> > A photo, in binary form. > </description> > </attribute-type> > > <attribute-type id="preferredLanguage"> > <name>preferredLanguage</name> > <type type="string"/> > <description> > Defines a person's preferred written or spoken launguage. > </description> > </attribute-type> > > <attribute-type id="roomNumber"> > <name>roomNumber</name> > <type type="string"/> > <description> > The room number in which the entity represented by this object is > located.. > </description> > </attribute-type> > > <attribute-type id="secretary"> > <name>secratary</name> > <type type="dn"/> > <description> > A secretary or administrator for a person or group. > </description> > </attribute-type> > > <attribute-type id="uid"> > <name>uid</name> > <type type="string"/> > <description> > Identifies the entry's userid (usually the logon id). > </description> > </attribute-type> > > <attribute-type id="userCertificate"> > <name>userCertificate</name> > <type type="binary"/> > <description> > Contains a user's certificate. Store this attribute with the > binary subtype: userCertificate;binary. > </description> > </attribute-type> > > <attribute-type id="userPKCS12_binary"> > <name>userPKCS12_binary</name> > <type type="integer"/> > <description> > Identifies the PKCS-12 PFX PDU used to store a user's key and > certificate. This is generated by the certificate server and consumed by > Netscape communicator. > </description> > </attribute-type> > > <attribute-type id="userSMIMECertificate"> > <name>userSMIMECertificate</name> > <type type="binary"/> > <description> > Used by Netscape Communicator for s/MIME. Should only be used with > the binary subtype. > </description> > </attribute-type> > > <attribute-type id="x500UniqueIdentifier"> > <name>x500UniqueIdentifier</name> > <type type="binary"/> > <description> > Undefined. > </description> > </attribute-type> > > <attribute-type id="owner"> > <name>owner</name> > <type type="dn"/> > <description> > The owner of the entity. > </description> > </attribute-type> > > <attribute-type id="hn"> > <name>hn</name> > <type type="string"/> > <description> > The host name(s) for a compute resource. Names should include the > full domain name. IP addresses can also be used. > </description> > </attribute-type> > > <attribute-type id="totalNodes"> > <name>totalNodes</name> > <type type="positive-integer"/> > <description> > The total number of nodes that comprise the compute resource. > </description> > </attribute-type> > > <attribute-type id="cpusPerNode"> > <name>cpusPerNode</name> > <type type="positive-integer"/> > <description> > The number of cpus on each node of the resource. > </description> > </attribute-type> > > <attribute-type id="cpuSpeed"> > <name>cpuSpeed</name> > <type type="decimal"/> > <description> > The clockrate of the CPUs in MHz. > </description> > </attribute-type> > > <attribute-type id="manufacturer"> > <name>manufacturer</name> > <type type="string"/> > <description> > The manufacturer name. > </description> > </attribute-type> > > <attribute-type id="machineHardwareName"> > <name>machineHardwareName</name> > <type type="string"/> > <description> > The machine hardware name as provided by the vendor. > </description> > </attribute-type> > > <attribute-type id="model"> > <name>model</name> > <type type="string"/> > <description> > The model of the compute resource. On many systems this is > different from the machine hardware name. > </description> > </attribute-type> > > <attribute-type id="architecture"> > <name>architecture</name> > <type type="string"/> > <description> > The memory architecture of the machine. One of Shared, > Distributed, or Hybrid. > </description> > </attribute-type> > > <attribute-type id="osName"> > <name>osName</name> > <type type="string"/> > <description> > The operation system name (SunOS, IRIX). > </description> > </attribute-type> > > <attribute-type id="osVersion"> > <name>osVersion</name> > <type type="string"/> > <description> > The operationg system version (uname -r). > </description> > </attribute-type> > > <!-- Brett, why don't we just make these binary? --> > <attribute-type id="scriptHeader"> > <name>scriptHeader</name> > <type type="textBlock"/> > <description> > A script header template used for submitting jobs. Each field > represents a line of of text. This header information applies to compute > resources with queue management systems and is needed for machine > customization > only. > </description> > </attribute-type> > > <attribute-type id="scriptBody"> > <name>scriptBody</name> > <type type="textBlock"/> > <description> > A customized job script template. This is separated from the > header because headers are often customized but bodies are not. > </description> > </attribute-type> > > <attribute-type id="mn"> > <name>mn</name> > <type type="string"/> > <description> > specifies the type/name of the job broker/scheduler. Values are > unix, loadleveler, maui, nqe, nqs. > </description> > </attribute-type> > > <attribute-type id="allocationAccounts"> > <name>allocationAccounts</name> > <type type="boolean"/> > <description> > True if an allocation account is requied in order to submit a job. > </description> > </attribute-type> > > <attribute-type id="autoPick"> > <name>autoPick</name> > <type type="boolean"/> > <description> > True if the scheduler is configured to automatically pick a queue > based on constraints passed with a job request. NQE is often configured > this way. > </description> > </attribute-type> > > <attribute-type id="installDirectory"> > <name>installDirectory</name> > <type type="file"/> > <description> > Location where resource manager software is installed. > </description> > </attribute-type> > > <attribute-type id="binDirectory"> > <name>binDirectory</name> > <type type="file"/> > <description> > Location of resource manager commands such as qsub... This may be > relative to the installDirectory. > </description> > </attribute-type> > > <attribute-type id="queue"> > <name>queue</name> > <type type="dn"/> > <description> > The distinguished names of the queues that are associated with this > resource manager. > </description> > </attribute-type> > > <attribute-type id="qen"> > <name>qen</name> > <type type="string"/> > <description> > Identifer that is comprised of the machine name and the job id, in > this format "hn:jobID" > </description> > </attribute-type> > > <attribute-type id="jobId"> > <name>jobId</name> > <type type="string"/> > <description> > The job id as provided by the resource manager. > </description> > </attribute-type> > > <attribute-type id="proxyId"> > <name>proxyId</name> > <type type="string"/> > <description> > The id for the proxy (monitor) associated with a job. > </description> > </attribute-type> > > <attribute-type id="proxyPort"> > <name>proxyPort</name> > <type type="positive-integer"/> > <description> > Port number to contact the proxy. > </description> > </attribute-type> > > <attribute-type id="nodes"> > <name>nodes</name> > <type type="positive-integer"/> > <description> > Number of nodes allocated to this job. > </description> > </attribute-type> > > <attribute-type id="qn"> > <name>qn</name> > <type type="string"/> > <description> > Name of queue(s) under which the job is running. > </description> > </attribute-type> > > <attribute-type id="defaultMaxCPUTime"> > <name>defaultMaxCPUTime</name> > <type type="timeInstant"/> > <description> > Maximum cpu time before a job will be automatically terminated. > </description> > </attribute-type> > > <attribute-type id="defaultMaxWallTime"> > <name>defaultMaxWallTime</name> > <type type="timeInstant"/> > <description> > Maximum wall time before a job will be automatically terminated. > </description> > </attribute-type> > > <attribute-type id="defaultNodes"> > <name>defaultNodes</name> > <type type="positive-integer"/> > <description> > A default number of nodes to use for a given queue. This is not > necessarily enforced by the queue system. > </description> > </attribute-type> > > <attribute-type id="defaultSingleMemory"> > <name>defaultSingleMemory</name> > <type type="positive-integer"/> > <description> > Default amount of memory to allocate per node. > </description> > </attribute-type> > > <attribute-type id="defaultTotalMemory"> > <name>defaultTotalMemory</name> > <type type="positive-integer"/> > <description> > Default amount of memory to allocate for all nodes. > </description> > </attribute-type> > > <attribute-type id="maxTotalMemory"> > <name>maxTotalMemory</name> > <type type="positive-integer"/> > <description> > Maximum total memory for a job for all nodes. > </description> > </attribute-type> > > <attribute-type id="maxNodes"> > <name>maxNodes</name> > <type type="positive-integer"/> > <description> > Maximum number of nodes that can be allocated to a job running > under the queue. > </description> > </attribute-type> > > <attribute-type id="maxSingleMemory"> > <name>maxSingleMemory</name> > <type type="positive-integer"/> > <description> > Maximum memory that can be allocated per task within a job. > </description> > </attribute-type> > > <attribute-type id="maxWallTime"> > <name>maxWallTime</name> > <type type="timeInstant"/> > <description> > The maximum elapsed time a job can run before it is ejected by the > queue manager. This value is also used as an input to load balancing > algorithms on some systems (i.e. Maui). > </description> > </attribute-type> > > <attribute-type id="minNodes"> > <name>minNodes</name> > <type type="positive-integer"/> > <description> > Minimum number of nodes that a job must request in this queue. > </description> > </attribute-type> > > <attribute-type id="runDirectory"> > <name>runDirectory</name> > <type type="file"/> > <description> > Path to location where job is running. > </description> > </attribute-type> > > <attribute-type id="jobStatus"> > <name>jobStatus</name> > <type type="string"/> > <description> > Status of job (submitted, running, completed, incomplete, failed). > </description> > </attribute-type> > > <attribute-type id="startTime"> > <name>startTime</name> > <type type="timeInstant"/> > <description> > Time when job started running. > </description> > </attribute-type> > > <attribute-type id="submitTime"> > <name>submitTime</name> > <type type="timeInstant"/> > <description> > Time when job was submitted. > </description> > </attribute-type> > > <attribute-type id="finishTime"> > <name>finishTime</name> > <type type="timeInstant"/> > <description> > Time when job stopped running. > </description> > </attribute-type> > > <attribute-type id="name"> > <name>name</name> > <type type="string"/> > <description> > An identifying name for an object. > </description> > </attribute-type> > > <attribute-type id="rsw"> > <name>rsw</name> > <type type="string"/> > <description> > The identifier for the software package, comprised of the name and > releaseTag attributes, i.e. "name:releaseTag" > </description> > </attribute-type> > > <attribute-type id="contact"> > <name>contact</name> > <type type="dn"/> > <description> > Distinguished name of the point of contact for the software > </description> > </attribute-type> > > <attribute-type id="domainClassification"> > <name>domainClassification</name> > <type type="keyValue"/> > <description> > A classification of the domain the software falls into > e.g. Parallel Processing Tools Communication Libraries, electronic > structure chemistry. > </description> > </attribute-type> > > <attribute-type id="sw"> > <name>sw</name> > <type type="keyValue"/> > <description> > the identifier for the installed software, comprised of the > software name and releaseTag attributes, i.e. "name:releaseTag" > </description> > </attribute-type> > > <attribute-type id="releaseTag"> > <name>releaseTag</name> > <type type="string"/> > <description> > A string that represents a software release number. This number > should be unique for any given product version. It would be nice to > define this as a type but for now we leave it as a string. > </description> > </attribute-type> > > <attribute-type id="environment"> > <name>environment</name> > <type type="keyValue"/> > <description> > Key/value pairs of environment variables that may or must be set to > use the software. > </description> > </attribute-type> > > <attribute-type id="libDirectory"> > <name>libDirectory</name> > <type type="file"/> > <description> > Specifies the directory in which the libraries can be found, e.g. > /usr/local/lib > </description> > </attribute-type> > > <attribute-type id="executables"> > <name>executables</name> > <type type="string"/> > <description> > Specifies the names of executables appropriate for this machine. > This does not include the path which can be derived from other > attributes. > </description> > </attribute-type> > > <attribute-type id="script"> > <name>script</name> > <type type="file"/> > <description> > Name of script or executable to run to configure the environment > for the software. > </description> > </attribute-type> > > <attribute-type id="da"> > <name>da</name> > <type type="string"/> > <description> > The identifier for the running daemon software, comprised of the > name and port attributes, i.e. "name:port" > </description> > </attribute-type> > > <attribute-type id="port"> > <name>port</name> > <type type="positive-integer"/> > <description> > Contact port number. > </description> > </attribute-type> > > <attribute-type id="protocol"> > <name>protocol</name> > <type type="string"/> > <description> > Name of protocol(s) supported by this daemon. > </description> > </attribute-type> > > <attribute-type id="description"> > <name>description</name> > <type type="string"/> > <description> > Description of the entity. > </description> > </attribute-type> > > </ris-directory-schema> > > </ris> > > --------------C5EA6DD914E762D91D7D63F3 > Content-Type: text/plain; charset=us-ascii; > name="ris.xsd" > Content-Transfer-Encoding: 7bit > Content-Disposition: inline; > filename="ris.xsd" > > <?xml version="1.0" encoding="US-ASCII"?> > <!-- <!DOCTYPE schema SYSTEM "structures.dtd"> --> > <!DOCTYPE schema PUBLIC "-//W3C/DTD XML Schema Version 1.0//EN" > > "http://www.w3.org/XML/Group/1999/09/23-xmlschema/structures/structures.dtd"> > > <schema> > > <!-- DATA TYPES --> > > <datatype name="uri"> > <basetype name="string"/> > </datatype> > > <datatype name="ces"> > <basetype name="string"/> > </datatype> > > <datatype name="phone"> > <basetype name="string"/> > </datatype> > > <datatype name="dn"> > <basetype name="string"/> > </datatype> > > <datatype name="keyValue"> > <basetype name="string"/> > </datatype> > > <datatype name="file"> > <basetype name="string"/> > </datatype> > > <datatype name="textBlock"> > <basetype name="string"/> > </datatype> > > <!-- DOCUMENT ELEMENT --> > > <!-- SCHEMA --> > > <element name="ris"> > <archetype> > <element ref="ris-directory-schema" minOccurs='1' maxOccurs='*'/> > <attribute name="xmlns"/> > </archetype> > </element> > > <element name="ris-directory-schema"> > <archetype> > <group order="choice" minOccurs="0" maxOccurs="*"> > <element ref="class"/> > <element ref="attribute-type"/> > </group> > </archetype> > </element> > > <!-- element types common to class and attribute-type --> > <element name="name" type="string"/> > <element name="description" type="string"/> > <element name="rdn" type="string"/> > <element name="dn" type="distinguished-name"/> > <element name="childof" type="uri"/> > > <element name="class"> > <archetype> > <element ref="name" maxOccurs="*"/> > <element ref="rdn" minOccurs="0" maxOccurs="1"/> > <element ref="childof" minOccurs="0" maxOccurs="*"/> > <element ref="description" minOccurs="0" maxOccurs="1"/> > <element ref="attribute" minOccurs="0" maxOccurs="*"/> > <attribute name="id" type="ID" minOccurs="1"/> > <attribute name="superior" type="uri"/> > <attribute name="obsolete" type="boolean" default="false"/> > <attribute name="type" type="NMTOKEN" minOccurs="1"> > <enumeration> > <literal>structural</literal> > <literal>abstract</literal> > <literal>auxiliary</literal> > </enumeration> > </attribute> > </archetype> > </element> > > <!-- > This is changed from DSML in that we moved some attributes here just > for the readability of the document. We use the reference only for the > description now. > --> > <element name="attribute"> > <archetype content="empty"> > <attribute name="ref" type="uri" minOccurs="0"/> > <attribute name="required" type="boolean" minOccurs="1"/> > <attribute name="singular" type="boolean" default="false"/> > </archetype> > </element> > > <!-- > The only thing we are really using out of this is the description > See comments in file header regarding why some elements are commented > out. > --> > <element name="type"> > <archetype content="empty"> > <attribute name="type" type="NMTOKEN" minOccurs="1"> > <enumeration> > <literal>string</literal> > <literal>ces</literal> > <literal>phone</literal> > <literal>binary</literal> > <literal>dn</literal> > <literal>integer</literal> > <literal>positive-integer</literal> > <literal>timeInstant</literal> > <literal>file</literal> > <literal>boolean</literal> > <literal>uri</literal> > <literal>keyValue</literal> > <literal>textBlock</literal> > <literal>decimal</literal> > </enumeration> > </attribute> > </archetype> > </element> > > <element name="attribute-type"> > <archetype> > <element ref="name" minOccurs="1" maxOccurs="1"/> > <element ref="type" minOccurs="1" maxOccurs="1"/> > <element ref="description" minOccurs="0"/> > <element ref="object-identifier" minOccurs="0"/> > <!-- > <element name="syntax" type="oid" minOccurs="0"/> > <element name="equality" type="oid" minOccurs="0"/> > <element name="ordering" type="oid" minOccurs="0"/> > <element name="substring" type="oid" minOccurs="0"/> > --> > <attribute name="id" type="ID" minOccurs="1"/> > <attribute name="sup" type="uri"/> > <attribute name="obsolete" type="boolean" default="false"/> > <attribute name="user-modification" type="boolean" default="true"/> > </archetype> > </element> > > </schema> > > --------------C5EA6DD914E762D91D7D63F3--
