Re: Using SUBDOCs

Subject: Re: Using SUBDOCs
From: Chuck Darney <cdarney@xxxxxxxxxxxxxxxx>
Date: Wed, 14 Oct 1998 14:37:14 -0400

Alexander Taranov wrote:
> 

> style sheet is like that:
> 
> (define (same-element #!optional (nd (current-node)))
>   (make element
>         gi: (gi nd)
>         attributes: (copy-attributes nd)))
> 
> ;;; leave all unchanged
> (default (same-element))
> 
> ;;; except this element
> (element
>  docref
>  (let ((file ;; file with subdoc
>         (entity-system-id ((attribute-string "subdoc-entity")))
>   (with-mode mk-xref ;; this mode actually finds some info
>                      ;; and inserts it inplace of docref element
>              (process-node-list
>               (sgml-parse file)))))
> 

Alexander;
  The DSSSL code was the link I was missing!  I have a couple of
questions about what you sent, though.

Does the 'mk-xref' code in your DSSSL code do anything special?  I
reference it, but don't have it.

What should be used instead of "make element"?  I get the error
'"element" is not the name of any flow object class' from Jade.

I also get errors 'call of non-function object ""TST1""', etc.  I assume
these are because the 'mk-xref' code is missing.

I've added the files that I'm using.  If you get a chance, could you
please see if I'm at least on the right track!?  I just feel like I'm
beating my head against a wall with this problem.

Thanks VERY Much
Chuck Darney
cdarney@xxxxxxxxxxxxxxxx


*****Pertinent DTD code *******

<!ELEMENT sdoc  - O EMPTY>
<!ATTLIST sdoc subdoc ENTITY #REQUIRED>


****Pertinent DSSSL code *********

(define (same-element #!optional(nd(current-node)))
	(make element
		gi:(gi nd)
		attributes: (copy-attributes nd)))

(default (same-element))

(element SDOC
	(let ((file
		(entity-system-id ((attribute-string "subdoc")))))
		(with-mode mk-xref
			(process-node-list
				(sgml-parse file)))))


*****Document that I process through Jade *********

<!DOCTYPE CGIDELIV SYSTEM
's:\sgmlproj\prod\sgml\doctypes\cgideliv\CGIDELIV.DTD' [
<!ENTITY TST1 SYSTEM 'e:\tst1.sgm' SUBDOC>
<!ENTITY TST2 SYSTEM 'e:\tst2.sgm' SUBDOC>
<!ENTITY TST3 SYSTEM 'e:\tst3.sgm' SUBDOC>
<!ENTITY TST4 SYSTEM 'e:\tst4.sgm' SUBDOC>
]>
<cgideliv type=Policy>
<sdoc subdoc=TST1>
<sdoc subdoc=TST2>
<sdoc subdoc=TST3>
<sdoc subdoc=TST4>
</cgideliv>

******Example of TST1.SGM (other identical except for 'CLASS_ID' changes
*******
<!DOCTYPE CGIDELIV SYSTEM
's:\sgmlproj\prod\sgml\doctypes\cgideliv\CGIDELIV.DTD' [
<!ENTITY NSDCL015.001 SYSTEM 'e:\NSDCL015.001'>
<!ENTITY CLASS_ID '1'>
]>
&NSDCL015.001;


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread