Re: [xsl] Cannot include namespaces [XSLT 1.0] xsltproc
2010-08-25 04:34:05
It seems to me this case only. I have just modified my xsltproc command to
xsltproc -o /Applications/Pankaj/main.xml --noout --novalid
/Applications/Pankaj/Elsevier_Books.xsl /Applications/Pankaj/main.xml
where novaild =>[Skip loading the document's DTD] and perfect namespaces
are added to<chapter>. but alas I miss the external entities (†
etc).
To get the external entities you need to read the DTD, and if you read
the DTD, the default attributes/namespaces will apply.
So you need to bite the bullet: as a consequence of this DTD, the
chapter element is in the namespace
http://www.elsevier.com/xml/common/dtd, and your stylesheet therefore
needs to match it exactly as if it were written <chapter
xmlns="http://www.elsevier.com/xml/common/dtd"> in the source document.
Michael Kay
Saxonica
it's one of those DTDs that adds
default namespace declarations to elements
Below is the DTD
If you look at top level namespaces defination they are included by
default. "Is there a way to over rule this. Modifying DTD will be my last
option and desirable. "
<!ENTITY % top-level.att
"xmlns CDATA #FIXED %ESBK.xmlns;
version CDATA #FIXED '5.2'
xmlns:ce CDATA #FIXED %ESCE.xmlns;
xmlns:xlink CDATA #FIXED %XLINK.xmlns;
xml:lang %language; 'en'">
!-- Typical invocation:
<!ENTITY % common.ent
PUBLIC "-//ES//ELEMENTS common element pool version
1.1.0//EN//XML"
"common110.ent">
%common.ent;
-->
<!-- namespaces and public identifiers -->
<!ENTITY % ESCE.xmlns "'http://www.elsevier.com/xml/common/dtd'">
<!ENTITY % ESSB.xmlns
"'http://www.elsevier.com/xml/common/struct-bib/dtd'">
<!ENTITY % ESTB.xmlns "'http://www.elsevier.com/xml/common/table/dtd'">
<!ENTITY % XLINK.xmlns "'http://www.w3.org/1999/xlink'">
<!ENTITY % CALS.xmlns "'http://www.elsevier.com/xml/common/cals/dtd'">
Here what the root dtd looks like.
<!-- Supported doctypes: book, chapter, simple-chapter, examination,
fb-non-chapter,
glossary, index, introduction, bibliography
Typical invocation:
<!DOCTYPE book
PUBLIC "-//ES//DTD book DTD version 5.2.1//EN//XML"
"book521.dtd">
or
<!DOCTYPE chapter
PUBLIC "-//ES//DTD book DTD version 5.2.1//EN//XML"
"book521.dtd">
or
<!DOCTYPE simple-chapter
PUBLIC "-//ES//DTD book DTD version 5.2.1//EN//XML"
"book521.dtd">
or
<!DOCTYPE examination
PUBLIC "-//ES//DTD book DTD version 5.2.1//EN//XML"
"book521.dtd">
or
<!DOCTYPE fb-non-chapter
PUBLIC "-//ES//DTD book DTD version 5.2.1//EN//XML"
"book521.dtd">
or
<!DOCTYPE glossary
PUBLIC "-//ES//DTD book DTD version 5.2.1//EN//XML"
"book521.dtd">
or
<!DOCTYPE index
PUBLIC "-//ES//DTD book DTD version 5.2.1//EN//XML"
"book521.dtd">
or
<!DOCTYPE introduction
PUBLIC "-//ES//DTD book DTD version 5.2.1//EN//XML"
"book521.dtd">
or
<!DOCTYPE bibliography
PUBLIC "-//ES//DTD book DTD version 5.2.1//EN//XML"
"book521.dtd">
-->
<!-- set local parameter entities -->
<!ENTITY % local.spar.data "| ce:index-flag">
<!ENTITY % local.par.data "| ce:index-flag">
<!ENTITY % local.textfn.data "| ce:br">
<!-- include the latest version of the common element pool -->
<!ENTITY % common.ent
PUBLIC "-//ES//ELEMENTS common element pool version 1.1.3//EN//XML"
"common113.ent">
%common.ent;
<!-- namespaces and public identifiers -->
<!ENTITY % ESBK.xmlns "'http://www.elsevier.com/xml/bk/dtd'">
<!-- attribute type entities -->
<!ENTITY % docsubtype
"(bk|chp|scp|exm|gls|idx|itr|bib|app|bio|for|pre|ack|ctr|rev|htu|ded)">
<!-- attribute group entities -->
<!ENTITY % top-level.att
"xmlns CDATA #FIXED %ESBK.xmlns;
version CDATA #FIXED '5.2'
xmlns:ce CDATA #FIXED %ESCE.xmlns;
xmlns:xlink CDATA #FIXED %XLINK.xmlns;
xml:lang %language; 'en'">
<!-- elsevier-book -->
<!ELEMENT book ( info, top, ce:floats?, front?, body,
rear? )>
<!ATTLIST book
%top-level.att;
docsubtype %docsubtype; #FIXED "bk">
<!ELEMENT info ( ce:pii, ce:doi?, ce:isbn, ce:issn?,
ce:document-thread?,
ce:copyright, ce:imprint?, ce:doctopics?
)>
<!ELEMENT top ( %titles;, ce:edition?,
ce:copyright-line, cover-image?,
ce:editors*, ce:author-group*,
dedication*, ce:sections )>
<!ELEMENT cover-image ( ce:figure )>
<!ELEMENT dedication ( ce:simple-para+ )>
<!ELEMENT front ( ce:include-item+ )>
<!ELEMENT body ( volume | part | section |
ce:include-item )+>
<!ELEMENT volume ( ce:label?, ce:title?, ce:author-group*,
( part | section |
ce:include-item )+ )>
<!ATTLIST volume
%common-reqref.att;
%common-role.att;>
<!ELEMENT part ( ce:label?, ce:title?, ce:author-group*,
( section | ce:include-item |
ce:further-reading )+ )>
<!ATTLIST part
%common-reqref.att;
%common-role.att;>
<!ELEMENT section ( ce:label?, ce:title?, ce:author-group*,
( ce:include-item | ce:further-reading
)+ )>
<!ATTLIST section
%common-reqref.att;
%common-role.att;>
<!ELEMENT introduction ( info, ce:floats?, ce:title,
ce:author-group*,
ce:sections?, ( ce:bibliography |
ce:further-reading )* )>
<!ATTLIST introduction
%common-reqref.att;
%top-level.att;
%common-role.att;
docsubtype %docsubtype; #FIXED "itr">
<!ELEMENT chapter ( ce:footnote*, info, ce:floats?,
ce:label?, ce:title, ce:subtitle?,
ce:author-group*, ce:displayed-quote?,
poem?,
outline?, objectives?, ce:nomenclature?,
ce:acknowledgment?,
ce:intro?, ( ce:sections | subchapter |
exam )+,
( ( ce:bibliography | ce:further-reading
)+,
( ce:section | exam )* )? )>
<!ATTLIST chapter
%common-reqref.att;
%top-level.att;
%common-role.att;
docsubtype %docsubtype; #FIXED "chp">
<!ELEMENT simple-chapter ( ce:footnote*, info, ce:floats?,
ce:label?, ce:title, ce:subtitle?,
ce:author-group*, ce:displayed-quote?,
poem?,
outline?, objectives?, ce:nomenclature?,
ce:acknowledgment?,
ce:intro?, ( ce:sections | subchapter |
exam )*,
( ( ce:bibliography | ce:further-reading
)+,
( ce:section | exam )* )? )>
<!ATTLIST simple-chapter
%common-reqref.att;
%top-level.att;
%common-role.att;
docsubtype %docsubtype; #FIXED "scp">
<!ELEMENT subchapter ( ce:footnote*, ce:label?, ce:title,
ce:author-group*,
ce:displayed-quote?, ce:nomenclature?,
ce:acknowledgment?, ce:intro?,
( ce:sections | subchapter | exam )+,
( ce:bibliography | ce:further-reading
)+,
( ce:section | exam )* )>
<!ATTLIST subchapter
%common-reqref.att;
%common-role.att;>
<!ELEMENT rear ( rearpart+ )>
<!ELEMENT rearpart ( ce:label?, ce:title?, ce:author-group*,
ce:include-item+ )>
<!ATTLIST rearpart
%common-reqref.att;
%common-role.att;>
<!ELEMENT fb-non-chapter ( info, ce:floats?, ce:label?, ce:title,
( ce:author-group | ce:nomenclature |
ce:para | ce:section )*,
ce:bibliography? , ce:further-reading?)>
<!ATTLIST fb-non-chapter
%common-reqref.att;
%top-level.att;
%common-role.att;
docsubtype %docsubtype; #REQUIRED>
<!ELEMENT exam ( ce:title?, ce:exam-questions,
ce:exam-answers? )>
<!ELEMENT outline ( ce:list )>
<!ELEMENT objectives ( ce:section-title?, ce:para+ )>
<!ELEMENT poem ( ce:title?, ce:author?, stanza+,
ce:source? )>
<!ELEMENT stanza ( line+ )>
<!ELEMENT line ( %richstring.data; )*>
<!ELEMENT examination ( info, ce:floats?, ce:label?, ce:title,
ce:author-group*,
ce:intro?, exam* )>
<!ATTLIST examination
%common-reqref.att;
%top-level.att;
%common-role.att;
docsubtype %docsubtype; #FIXED "exm">
<!ELEMENT glossary ( info, ce:label?, ce:glossary* )>
<!ATTLIST glossary
%common-reqref.att;
%top-level.att;
%common-role.att;
docsubtype %docsubtype; #FIXED "gls">
<!ELEMENT index ( info, ce:label?, ce:index* )>
<!ATTLIST index
%common-reqref.att;
%top-level.att;
%common-role.att;
docsubtype %docsubtype; #FIXED "idx">
<!ELEMENT bibliography ( info, ce:label?, ce:further-reading* )>
<!ATTLIST bibliography
%common-reqref.att;
%top-level.att;
%common-role.att;
docsubtype %docsubtype; #FIXED "bib">
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
|
|