Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

dtd validation error help needed

Status
Not open for further replies.

MarkShark

Programmer
Aug 22, 2001
36
US
I received the following error while validating my dtd. I'm lost as to why it is giving me this error. The paragraph below the error is the portion of the script that it has a problem with. Any ideas as to an easy fix or suggestions?


Error: -1072896640 in <file:///C:/My%20Documents/Tesco%20Work%20Files/SpinWeb/htdocs/cmi/courses/dtd/radA8EE6.dtd>
Position: line=3 linepos=11 filepos=96
Reason: Cannot have a DTD declaration outside of a DTD.

<!--*** sco_csf(5).dtd
*** course: Root level of Course Structure representation-->
<!ELEMENT course (globalProperties?,block,objectives?) >
 
hi..

hmm can be more specific? maybe you can list the complere DTD. it seems you are using many DTDs as part of a whole..

regards,

ekeko
 
Here is the complete dtd. I'm only using one dtd for this project and this is it.

<!-- sco_csf(5).dtd -->
<!--*** course: Root level of Course Structure representation-->
<!ELEMENT Course (globalProperties?,block,objectives?) >

<!--*** globalProperties: Properties of the course as whole-->
<!ELEMENT globalProperties (externalMetadata+,curricularTaxonomy?,extensions*) >

<!--*** block: A grouping of related structural elements.
Blocks contain assignable units or other blocks.
Blocks always contain other course elements.
This holds an unique (to this course) ID indentifier for a particular block
ID's are generated by the application (e.g., an LMS) that creates a CSF XML file
(other elements may refer to this unique ID)-->
<!ELEMENT block ((externalMetadata*,objectiveRef*,identification,prerequisites?,
completionReq?,extensions*,(au* | block*)+) | blockAlias) >

<!ATTLIST block
id ID #REQUIRED >

<!--*** objectives: Root level of objectives tree;
Statements of skills, knowledge, and attitudes to be acquired by the student.-->
<!ELEMENT objectives (objective+) >

<!--*** externalMetadata: The value of this element refers or points to the location
of the metadata describing this course.-->
<!ELEMENT externalMetadata (source,model,location) >

<!--*** curicularTaxonomy: Organizational methodology used to construct the course-->
<!ELEMENT curricularTaxonomy (source?,model,location?) >

<!ATTLIST curricularTaxonomy
xml:lang NMTOKEN #IMPLIED >

<!--*** extensions: defines extensions to course element definitions and their source-->
<!ELEMENT extensions (source?,model,location?,property+) >

<!--*** objectiveRef: Reference to a particular objective in the objective hierarchy
-->
<!ELEMENT objectiveRef EMPTY >

<!ATTLIST objectiveRef
relation CDATA #IMPLIED
targetIDs IDREFS #IMPLIED >

<!--*** indetification: Identifies course context specific information-->
<!ELEMENT identification (title,description?,labels?) >

<!--*** prerequisites: Expression indicating what a student must accomplish before
beginning this course element.
Course elements that a student must complete before beginning ablock or
assignable unit. It uses a &quot;script&quot; that defines the logical
rules to be applied. The script type must be defined.
e.g., <prerequisites type=&quot;aicc_script&quot;> <![CDATA[B1&B2&A1]]> </prerequisites>
-->
<!ELEMENT prerequisites (#PCDATA) >

<!ATTLIST prerequisites
type CDATA #IMPLIED >

<!--*** completionReq: Course elements that a student must complete before considering
a given structure element complete. It uses a &quot;script&quot; that defines the logical
rules to be applied. The script type must be defined.
e.g., <completion type=&quot;aicc_script&quot;> <![CDATA[B1&B2&A1]]> </completion>-->
<!ELEMENT completionReq (#PCDATA) >

<!ATTLIST completionReq
type CDATA #IMPLIED >

<!--*** au: An AU is the smallest element of instruction or testing to which a student may be
routed by a LMS. It refers to &quot;content&quot; launched by the LMS system.
This holds an unique (to this course) ID indentifier for a particular au
ID's are generated by the application (e.g., an LMS) that creates a CSF XML file
(other elements may refer to this unique ID)-->
<!ELEMENT au ((externalMetadata*,objectiveRef*,identification,prerequisites?,
completionReq?,timeLimit?,launch?,masteryScore?,extensions*) | auAlias) >

<!ATTLIST au
id ID #REQUIRED >

<!--*** blockAlias: Reference to a previously defined block
(permits one block to be used more than once within a course)-->
<!ELEMENT blockAlias EMPTY >

<!ATTLIST blockAlias
targetID ID #IMPLIED >

<!--*** objective: A statement of skills, knowledge, and attitudes to be acquired by the student.
This holds an unique (to this course) ID indentifier for a particular objective
ID's are generated by the application (e.g., an LMS) that creates a CSF XML file
(other elements may refer to this unique ID)-->
<!ELEMENT objective ((externalMetadata*,assignmentRef*,identification,
prerequisites?,completionReq?,extensions*,objective*) |
objectiveAlias) >

<!ATTLIST objective
id ID #REQUIRED >

<!--*** source: Authority or source of data model w/reference to a spec. if available
e.g., &quot;AICC AGRO10 v3.4&quot;, or ARMY TRADOC spec123, or &quot;IMSBP v4.2&quot;-->
<!ELEMENT source (#PCDATA) >

<!ATTLIST source
xml:lang NMTOKEN #IMPLIED
type CDATA #IMPLIED >

<!--*** model: Name of a specific data model used by this course
e.g., &quot;cmi&quot;, or &quot;ARMY314&quot;, or &quot;IMS v1.0&quot;-->
<!ELEMENT model (#PCDATA) >

<!ATTLIST model
type CDATA #IMPLIED
xml:lang NMTOKEN #IMPLIED >

<!--*** location: URI Location-->
<!ELEMENT location (#PCDATA) >

<!ATTLIST location
type CDATA #IMPLIED >

<!--*** property: Name/value pair extension for this course-->
<!ELEMENT property (name,value) >

<!--*** title: Context specific title.
May be used by an LMS system in menus, screens, etc.-->
<!ELEMENT title (#PCDATA) >

<!ATTLIST title
xml:lang NMTOKEN #IMPLIED
type CDATA #IMPLIED >

<!--*** description: Context specific textual information about the course element.
Itmay contain the purpose, scope, or summary. (Defined by course author)-->
<!ELEMENT description (#PCDATA) >

<!ATTLIST description
xml:lang NMTOKEN #IMPLIED
type CDATA #IMPLIED >

<!--*** labels: Context specific local label (e.g., unit, charpter, learning step)-->
<!ELEMENT labels (curricular?,developer?) >

<!--*** Time values or actions associated with this au in this context-->
<!ELEMENT timeLimit (maxTimeAllowed?,timeLimitAction?) >

<!--***launch: Information needed by an LMS to launch an au-->
<!ELEMENT launch (location) >

<!--*** score: Values to be used in this course context for tracking score within an au-->
<!--<!ELEMENT score (minimum?,maximum?,mastery?) > -->

<!--*** auAlias: Reference to a previously defined au
(permits one au to be used more than once within a course-->
<!ELEMENT auAlias EMPTY >

<!ATTLIST auAlias
targetID ID #IMPLIED >

<!--*** assignmentRef: Reference to a particular element in the assignment hierarchy
e.g., <assignmentRef relation=&quot;satisfied by&quot;targetIDs=&quot;B1,A23&quot;/>-->
<!ELEMENT assignmentRef EMPTY >

<!ATTLIST assignmentRef
relation CDATA #IMPLIED
targetIDs IDREFS #IMPLIED >

<!--*** objectiveAlias: Reference to a previously defined objective
(permits one objective to be used more than once within a course)

-->
<!ELEMENT objectiveAlias EMPTY >

<!ATTLIST objectiveAlias
targetID IDREF #IMPLIED >

<!--*** name: Descriptive name of a course property extension
e.g., &quot;difficulty&quot; (as in degree of)-->
<!ELEMENT name (#PCDATA) >

<!ATTLIST name
xml:lang NMTOKEN #IMPLIED
type CDATA #IMPLIED >

<!--*** value: Value associated with the named extension
e.g., &quot;easy&quot;-->
<!ELEMENT value (#PCDATA) >

<!ATTLIST value
xml:lang NMTOKEN #IMPLIED
type CDATA #IMPLIED >

<!--*** curricular label: Local name of course element
e.g., &quot;UNIT&quot;, &quot;MODULE&quot;, &quot;LEARNING STEP&quot;-->
<!ELEMENT curricular (#PCDATA) >

<!ATTLIST curricular
xml:lang NMTOKEN #IMPLIED
type CDATA #IMPLIED >

<!--*** developer label: an organization-specific identifier (e.g., D509)-->
<!ELEMENT developer (#PCDATA) >

<!ATTLIST developer
xml:lang NMTOKEN #IMPLIED
type CDATA #IMPLIED >

<!--*** maxTimeAllowed: The amount of time the student is allowed
to have in the current attempt on the lesson.-->
<!ELEMENT maxTimeAllowed (#PCDATA) >

<!ATTLIST maxTimeAllowed
type CDATA #IMPLIED >

<!--*** timeLimitAction: What the lesson is to do when the max time allowed is exceeded.
AICC examples: &quot;exit&quot;, &quot;continue&quot;, &quot;message&quot;, &quot;continue&quot;.-->
<!ELEMENT timeLimitAction (#PCDATA) >

<!ATTLIST timeLimitAction
type CDATA #IMPLIED
xml:lang NMTOKEN #IMPLIED >

<!--*** parameterString: String of characters needed to successfully launch a content au-->
<!ELEMENT parameterString (#PCDATA) >

<!ATTLIST parameterString
type CDATA #IMPLIED >

<!--*** dataFromLMS: unconstrained (undefined) intialization data expected
by content when it is launched by the LMS.-->
<!ELEMENT dataFromLMS (#PCDATA) >

<!ATTLIST dataFromLMS
type CDATA #IMPLIED >

<!--*** minimum score: Tells LMS how to compute score returned by LMS;
the minimum score that the student could have achieved.-->
<!--<!ELEMENT minimum (#PCDATA) >

<!ATTLIST minimum
type CDATA #IMPLIED > -->

<!--*** maximum score: Tells LMS how to compute score returned to LMS;
largest raw score that can be reported by this au.-->
<!--<!ELEMENT maximum (#PCDATA) >

<!ATTLIST maximum
type CDATA #IMPLIED > -->

<!--*** mastery score: Tells LMS how to compute score returned by LMS; defines
the passing score for this au in this context-->
<!--<!ELEMENT mastery (#PCDATA) >

<!ATTLIST mastery
type CDATA #IMPLIED > -->

<!--*** mastery score: Tells LMS how to compute score returned by LMS; defines
the passing score for this au in this context-->
<!ELEMENT masteryScore (#PCDATA)>

<!ATTLIST masteryScore type CDATA #IMPLIED>
 
hmm which tool do you use to validate your DTD? it seems to be valid (cheched trough XMLSpy). If you use MS IE Browser to open it, you will get an error, since DTD has no XML-Syntax.

Regards,

Ekeko
 
I used a few different ones:

XML Parser: XML Perl Module

expat XML

XSL Tester

Turbo XML
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top