This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Emacs and XML



Thanks so much for the help.

The capitalized <Book></Book> was the mistake. This is odd though because it
does insert <Book> as first element and not <book> like it is supposed to
be.

	<?xml version="1.0"?>

	<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
	"f:/emacs/sgml/dtd/docbkx412/docbookx.dtd" >
	<book>
    		<chapter>
      		<title>title</title>
      		<sect1>
				<title>sect1</title>
			<para>paragraph</para>
      		</sect1>
    		</chapter>
	</book>

Now everytime I load the file it parses the DTD. Is there an option to
remind it of a parsed DTD and how do I this without using ecatalog file as I
think XML doesn't use ecatalog files?

mk



-----Original Message-----
From: Steffen Maier [mailto:Steffen.Maier@studserv.uni-stuttgart.de]
Sent: Sunday, May 06, 2001 3:23 PM
To: docbook-apps@lists.oasis-open.org
Subject: RE: DOCBOOK-APPS: Emacs and XML


I'm sorry. From your previous description I wrongly assumed that you have
set up your sgml-environment only partially. Which doesn't seem to be the
case looking at your settings.

On Fri, 4 May 2001, Kunath, Marcel wrote:
> I have to correct my expressions. I did not set sgm-catalog-files in my
> .emacs. I set it in the NT environment variables.
> 
> System variable SGML_CATALOG_FILES:
> 
>
C:\OpenJade-1.3\dsssl\catalog;f:\emacs\sgml\dtd\html\catalog;f:\emacs\sgml\d
>
td\docbook41\docbook.cat;f:\emacs\sgml\dtd\docbkx412\docbook.cat;f:\emacs\sg
> ml\stylesheets\docbook\catalog
<snip/>

I am not sure if this makes a difference but as SGML_CATALOG_FILES is an
env-var lent from the unix-world there might be colons ':' necessary as
path-seperators even if running under NT. Are your other SGML-apps, e.g.
(o)nsgmls/(open)jade, able to successfully resolve public identifiers to
system identifiers by using catalogs?

> and this is as far as I get with {mark-up->insert element}
> 
> <!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
> "F:\emacs\sgml\dtd\docbkx412\docbook.cat" >
> 
> <Book></Book>
> 
> 
> It won't bring up any new elements.
<snip/>

This behaviour always occured in my environment if psgml couldn't resolve
all public identifiers correctly and so failed to parse the DTD. You might
want to enable psgml's "Sgml Trace Entity Lookup" either by "M-x
customize-apropopos sgml" and searching for the right line and setting the
value to true "t" or simply by "M-x set-variable sgml-trace-entity-lookup"
to true "'t". After that force psgml to parse the DTD by "C-c C-p". Then
you should obtain the trace in a buffer named "*SGML LOG*".

(Just to make sure: You named your top-level element to be "Book" which
should be "book", i.e. all lower case letters in XML. But this was correct
in your last mail so I guess it's just a typo this time.)

To give an impression what the trace should look like if it does work see
the following excerpt. It was tested with a small website-DTD xml-file. As
the trace gets very long I marked the snipped ranges with ellipses.

=== BEGIN OF TRACE ===
Start looking for param entity website.ent public nil system website.ent
  (Parsing catalog)
  catalog: d:/usr/share/sgml/CATALOG exists
...
  catalog: d:/usr/share/sgml/CATALOG.docbkx412 exists
  (Parsing catalog)
  catalog: d:/usr/share/sgml/CATALOG.dbwebsite16 exists
  (Parsing catalog)
  catalog: d:/usr/share/sgml/CATALOG.dbwebsite110 exists
  (Parsing catalog)
  catalog: d:/usr/share/sgml/CATALOG.xhtml1 exists
  (Parsing catalog)
  catalog: d:/usr/share/sgml/CATALOG.sesamdoc exists
Start looking for dtd entity website public -//Norman Walsh//DTD Website
V1.10//EN// system file:/d:/usr/share/sgml/dbwebsite110/website.dtd
  catalog: d:/usr/share/sgml/CATALOG exists
  catalog: d:/usr/share/sgml/CATALOG.iso_ent exists
  catalog: d:/usr/share/sgml/CATALOG.docbk30 exists
  catalog: d:/usr/share/sgml/CATALOG.docbk31 exists
  catalog: d:/usr/share/sgml/CATALOG.docbkdsl exists
  catalog: d:/usr/share/sgml/CATALOG.html exists
  catalog: d:/usr/share/sgml/CATALOG.html-3.2 exists
  catalog: d:/usr/share/sgml/CATALOG.html-4.0 exists
  catalog: d:/usr/share/sgml/CATALOG.iso-html exists
  catalog: d:/usr/share/sgml/CATALOG.jade_dsl exists
  catalog: d:/usr/share/sgml/CATALOG.docbk40 exists
  catalog: d:/usr/share/sgml/CATALOG.docbk41 exists
  catalog: d:/usr/share/sgml/CATALOG.iso-ent-xml exists
  catalog: d:/usr/share/sgml/CATALOG.db3x317 exists
  catalog: d:/usr/share/sgml/CATALOG.db4xb6 exists
  catalog: d:/usr/share/sgml/CATALOG.docbkx40 exists
  catalog: d:/usr/share/sgml/CATALOG.docbkx41 exists
  catalog: d:/usr/share/sgml/CATALOG.docbkx411 exists
  catalog: d:/usr/share/sgml/CATALOG.docbkx412 exists
  catalog: d:/usr/share/sgml/CATALOG.dbwebsite16 exists
  catalog: d:/usr/share/sgml/CATALOG.dbwebsite110 exists
  >> d:/usr/share/sgml/dbwebsite110/website.dtd [by pubid]
Start looking for param entity docbook public -//OASIS//DTD DocBook XML
V4.1.2//EN// system file:/d:/usr/share/sgml/docbkx412/docbookx.dtd
  catalog: d:/usr/share/sgml/CATALOG exists
...
  catalog: d:/usr/share/sgml/CATALOG.dbwebsite110 exists
  >> d:/usr/share/sgml/dbwebsite110/website.dtd [by pubid]
Start looking for param entity docbook public -//OASIS//DTD DocBook
XML V4.1.2//EN// system
file:/d:/usr/share/sgml/docbkx412/docbookx.dtd
...
  catalog: d:/usr/share/sgml/CATALOG.docbkx412 exists
  >> d:/usr/share/sgml/docbkx412/docbookx.dtd [by pubid]
Start looking for param entity dbnotn public -//OASIS//ENTITIES DocBook
XML Notations V4.1.2//EN// system dbnotnx.mod
...
  catalog: d:/usr/share/sgml/CATALOG.docbkx412 exists
  >> d:/usr/share/sgml/docbkx412/dbnotnx.mod [by pubid]
Start looking for param entity dbcent public -//OASIS//ENTITIES DocBook
XML Character Entities V4.1.2//EN// system dbcentx.mod
...
  catalog: d:/usr/share/sgml/CATALOG.docbkx412 exists
  >> d:/usr/share/sgml/docbkx412/dbcentx.mod [by pubid]
Start looking for param entity ISOamsa public ISO 8879:1986//ENTITIES
Added Math Symbols: Arrow Relations//EN//XML system ent/iso-amsa.ent
...
... (even more xml-iso-entities) ...
  catalog: d:/usr/share/sgml/CATALOG.docbkx412 exists
  >> d:/usr/share/sgml/docbkx412/dbpoolx.mod [by pubid]
Start looking for param entity tablemodel public -//OASIS//DTD DocBook XML
CALS Table Model V4.1.2//EN// system calstblx.dtd
...
  catalog: d:/usr/share/sgml/CATALOG.docbkx412 exists
  >> d:/usr/share/sgml/docbkx412/calstblx.dtd [by pubid]
Start looking for param entity dbhier public -//OASIS//ELEMENTS DocBook
XML Document Hierarchy V4.1.2//EN// system dbhierx.mod
...
  catalog: d:/usr/share/sgml/CATALOG.docbkx412 exists
  >> d:/usr/share/sgml/docbkx412/dbhierx.mod [by pubid]
Start looking for param entity dbgenent public -//OASIS//ENTITIES DocBook
XML Additional General Entities V4.1.2//EN// system dbgenent.mod
...
  catalog: d:/usr/share/sgml/CATALOG.docbkx412 exists
  >> d:/usr/share/sgml/docbkx412/dbgenent.mod [by pubid]
Start looking for param entity forms.mod public nil system forms.mod
  catalog: d:/usr/share/sgml/CATALOG exists
...
  catalog: d:/usr/share/sgml/CATALOG.sesamdoc exists
=== END OF TRACE ===

> -----Original Message-----
> From: Steffen.Maier@studserv.uni-stuttgart.de
> [mailto:Steffen.Maier@studserv.uni-stuttgart.de]
> Sent: Thursday, May 03, 2001 3:53 PM
> To: Kunath, Marcel
> Cc: docbook-apps@lists.oasis-open.org
> Subject: Re: DOCBOOK-APPS: Emacs and XML
> 
> 
> Hello Marcel,
> 
> On Thu, 3 May 2001, Kunath, Marcel wrote:
> > I added docbkx412 to my sgml-catalog-files. (F:\emacs\sgml\dtd\docbkx412
> in
> > Win2k)
> <snip/>
> > 	<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
> > 	"F:\emacs\sgml\dtd\docbkx412\docbook.cat" >
> <snip/>
> > I got the following in my .emacs:
> > 	;; ecat support
> > 	(setq sgml-ecat-files
> > 	  (list
> > 	    (expand-file-name "f:/emacs/sgml/dtd/html/ecatalog")
> > 	    (expand-file-name "f:/emacs/sgml/dtd/docbook41/ecatalog")
> > 	    (expand-file-name "f:/emacs/sgml/dtd/docbkx412/ecatalog")
> > 	))
> <snip/>
> > The ecatalog file says:
> > 	PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "docbook.ced"
> 
> > I open the test file and it color marks the declaration. It also
compiles
> > and saves docbook.ced. It allows me to create the book tags but then it
> > doesn't have any tags available underneath that.
> > 
> > I am confused on where I am stuck.
> 
> ECATalog-files are for PSGML's internal caching of preparsed DTDs. Before
> PSGML can successfully parse and cache such a preparsed DTD it needs to
> have "normal" SGML-catalog files, just as any other SGML-application
> supporting catalogs does.
> 
> For me it was sufficient to set the evironment variable SGML_CATALOG_FILES
> (tested under WinNT, NTEmacs 20.1, PSGML 1.2.[1|2]) to my central
> catalog-file which in turn references beneith others the DocBook XML 4.1.2
> catalog "docbook.cat". It seemed to me as if psgml looks up the
> catalog-position from the mentioned env-var as a default when nothing else
> is set via elisp-variables. So there should be no need to setq
> sgml-catalog-files (not to be mixed up with sgml-ecat-files).
> 
> HTH, Steffen.

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/E d- s++:- a-->?@ C(++++) ULC++++$ P+ L++(+++) E++>+++ W++(--) N+ !o
K? w O- M- V? PS+(++) PE(-) Y+ PGP>+++ t 5 X+++ R* tv(-) b+ DI++ D G>++ e
h* r- y? UF
------END GEEK CODE BLOCK------

  http://w3studi.informatik.uni-stuttgart.de/~maiersn/
mailto:Steffen.Maier@studserv.uni-stuttgart.de



------------------------------------------------------------------
To unsubscribe from this elist send a message with the single word
"unsubscribe" in the body to: docbook-apps-request@lists.oasis-open.org

------------------------------------------------------------------
To unsubscribe from this elist send a message with the single word
"unsubscribe" in the body to: docbook-apps-request@lists.oasis-open.org


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]