XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> - UV Kit (1)
-> - Preview PDF as HTML? (1)
-> + ArrayIndexOutOfBoundsException... (3)
-> + WSCC to KML transform help (5)
-> + Using XSV 3.1-1 as an external... (2)
-> + Cannot debug stylesheet (2)
-> + Error installing Stylus Studio... (3)
-> - Windows XP "not responding" er... (1)
-> - Windows XP "not responding" er... (1)
-> + HTML to XSL (2)
-> + Run Stylus studio from command... (2)
-> + Setting Context for XPath Quer... (5)
-> + Batch process to check well-fo... (9)
-> + WSDL validator? (8)
-> - How to be still using Old Jars (1)
-> - Install Stylus Studio on anoth... (1)
-> + Install Stylus Studio on anoth... (3)
-> + How to validate via catalog lo... (4)
-> + New Installation Upgrade Issue... (4)
-> - Freelance Project - Mapping di... (1)
-> + Converting from Edifact to SQL... (3)
-> + converting data file to xml us... (2)
-> + have serious problem with Styl... (2)
-> + ddtek:sql-delete (3)
-> + Web Service Call with Axis: No... (3)
-> + Entity gets replaced when inde... (2)
-> + EDIFACT import error (3)
-> + (401) forbidden error (8)
-> + Error when data type not speci... (2)
-> - Globally delete duplicates of ... (1)
-> + Validation too slow!!!! (4)
-> + Define a complex type with mul... (2)
-> + XML Playlists (2)
-> - Create SOA Web Service with me... (1)
-> + Spell checking?? (2)
-> - saxon 9 linebreak in text mode (1)
-> + Apache FOP gets NoClassDefFoun... (3)
-> + Nillable Decimal (4)
-> + Transform XML to AS400 Databas... (4)
-> + xs3p vs xsDoc (3)
-> + Update Installation Problem (11)
-> + Java Heap error and -Xmx param (5)
-> + 2007 Pro won't run XSL files c... (3)
-> + access to multiples databases ... (6)
-> + License Authentication Failed (2)
-> + XSLT Mapper: How to aggregate ... (2)
-> + Why my WYSIWYG tab disappeared... (3)
-> + Flat File (From mainframe COBO... (9)
-> + X12 Validation (5)
-> + Schema replacement in Microsof... (2)
-> + [OT] XML fragment - error expl... (3)
-> + Re-using a simple type definit... (2)
-> + What is "Java bult-in" XSLT Pr... (2)
-> + Error when generating .NET cod... (6)
-> + options for sum(function) - to... (2)
-> + [OT] XSD - is this valid XML o... (2)
-> + Multiple page sequences (2)
-> + License disabled (3)
-> + EDIFACT to XML with multiple Q... (5)
-> + Viewing Web Service Call http ... (2)
-> - keyref handling by different p... (1)
-> + Running transform in SS UI com... (9)
-> + Mapping from one schema to ano... (3)
-> - Using document() to lookup fro... (1)
-> + Can not open a xml file in IE ... (2)
-> + Stylus Studio detected a chang... (3)
-> + Customer Support for Stylus St... (2)
-> + WebService Call is not working... (3)
-> + Activation Problem (2)
-> + Activating Stylus Studio 2008 (3)
-> + Cannot use UNC paths, get save... (22)
-> + DB to XML Data Source not avai... (3)
-> + Stylus Studio 2008 Installatio... (16)
-> - SQL Server 2005 xml datatype -... (1)
-> + XML Reporting: linking to sect... (4)
-> + Merge an external xml with inp... (4)
-> + Stylus Closing abruptly (4)
-> + Best approach for generating X... (2)
-> + Problem with Java call (5)
-> + Changing the top margin (2)
-> + Generating a Web Service Call (2)
-> + import xml into excel using V... (2)
-> + FOP producing NoSuchMethodErro... (6)
-> + Reporting Errors (2)
-> + Doc/Literal Wrapped (2)
-> + Need image to render at higher... (3)
-> + HTML to xml wizard on thousand... (2)
-> + Doc/Literal and SOAP Header/Bo... (2)
-> - Help with settping up MS Acces... (1)
-> + WSDL - A Well Defined Service (7)
-> + XML to XML Mapping - Combining... (2)
-> + CData Question (3)
-> + mySQL DB Connection (11)
-> + XPath documentation confusion (2)
-> + Extra block/CR generated (6)
-> + Apache FOP (2)
-> + Inserting Java Script (2)
-> + Convert EDIFACT to X12 or vice... (6)
-> + XSD: Restricting an attribute ... (2)
-> + Creating dynamically named ele... (2)
-- Previous [1201-1220] [1221-1240] [1241-1260] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Jeff CannizzoSubject: XML Mapping to SGML DTD
Author: Jeff Cannizzo
Date: 13 Sep 2002 07:46 PM
I am trying to map an XML DTD to an SGML DTD. Which is the 87269 DTD. The problem that I am having is, when selecting the 87269 DTD as the destination schema, no root elements are included. Is there any way to fix this?


Document87269.zip

Postnext
(Deleted User) Subject: Re: XML Mapping to SGML DTD
Author: (Deleted User)
Date: 14 Sep 2002 12:04 AM
Hi Jeff,
the file 87269.dtd is not a valid DTD according to the XML specs, and
Stylus Studio only supports DTDs as defined in
http://www.w3.org/TR/REC-xml. The file can be a valid DTD according to the
SGML specs, but XML has been defined as a subset of the SGML grammar,
removing features that made SGML quite unpractical to be handled/validated.

Looking at this file in particular, SGML allows the definition for an
external parameter entities like

<!ENTITY % dietmdb-a PUBLIC "-//USA-DOD//DTD Content Data Model Generic
Layer//EN" >

while the XML specs always require a "system id" to be specified, like in

<!ENTITY % dietmdb-a PUBLIC "-//USA-DOD//DTD Content Data Model Generic
Layer//EN" "dietmdb-a.ent">

****
the relevant BNF from the XML schema spec is
[70] EntityDecl ::= GEDecl | PEDecl
[72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
[74] PEDef ::= EntityValue | ExternalID
[75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S
SystemLiteral
****

Also, you use a "- O" inside the definition of elements, but this is not
allowed inside an XML DTD.

****
[45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>' [VC:
Unique Element Type Declaration]
[46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children
[47] children ::= (choice | seq) ('?' | '*' | '+')?
[48] cp ::= (Name | choice | seq) ('?' | '*' | '+')?
[49] choice ::= '(' S? cp ( S? '|' S? cp )+ S? ')'
[50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')'
[51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S?
'#PCDATA' S? ')'
****

Hope this helps,
Alberto

Postnext
Jeff CannizzoSubject: Re: XML Mapping to SGML DTD
Author: Jeff Cannizzo
Date: 21 Sep 2002 05:51 PM
So can I change these things in the DTD to make it work? Any help would be great!.

Thanks

Postnext
(Deleted User) Subject: Re: XML Mapping to SGML DTD
Author: (Deleted User)
Date: 23 Sep 2002 06:30 AM
Try the attached modified files; however, keep in mind that this DTD should only be used as an input for Mapper and not to validate XML files, as it's not equivalent to the one you posted.
This because the DTD syntax, as defined by the XML spec, does not have the same expressive power of the one defined by the SGML spec, so this version enforces less constraints on the data.

Hope this helps,
Alberto

Postnext
(Deleted User) Subject: Re: XML Mapping to SGML DTD
Author: (Deleted User)
Date: 23 Sep 2002 06:32 AM
Here is the attachment.

Alberto


Documentsgml.zip
Modified DTD files

Postnext
Jeff CannizzoSubject: Re: XML Mapping to SGML DTD
Author: Jeff Cannizzo
Date: 23 Sep 2002 08:49 PM
Thank you for the help! I would like to do this to other SGML DTD's for conversion that I am doing. Is there any guidance you can give me on what exactly you did?

Posttop
(Deleted User) Subject: Re: XML Mapping to SGML DTD
Author: (Deleted User)
Date: 24 Sep 2002 04:16 AM
Hi Jeff,
here is a list of the conversions I did; please note that the DTD obtained
by running these steps is not strictly equivalent to the source SGML. The
XML specs have greatly reduced the expressivity of DTDs with the aim of
making them less complex, so the result DTD would validate data files that
the original DTD would reject as invalid.

1) definition of external parameter entities in SGML doesn't have the
"system ID". So, you need to add the location of the file to be included

ENTITY % dietmdb-a PUBLIC "-//USA-DOD//DTD Content Data Model Generic
Layer//EN"

must become

ENTITY % dietmdb-a PUBLIC "-//USA-DOD//DTD Content Data Model Generic
Layer//EN" "ietmdba"

2) element definition has a couple of character chosen between "-", "O" and
"o" between the name and the children model, that you need to remove.
For example,

ELEMENT techinfo - - ( version+, (%system;)+ )

must become

ELEMENT techinfo ( version+, (%system;)+ )

3) SGML allows to put comments inside the definitions of entities and
element, between "--" markers, that you need to remove.
For example,

ENTITY alpha "[alpha ]" --Greek letter lowercase alpha --

must become

ENTITY alpha "[alpha ]"

4) in SGML you can define multiple elements in the same declaration, like in

ELEMENT (sup | sub) (%f.text; | %f.oper;)+

You need to create one ELEMENT definition for each element

ELEMENT sup (%f.text; | %f.oper;)+
ELEMENT sub (%f.text; | %f.oper;)+

5) DTD introduced the restriction that, when an element has #PCDATA nodes
as children, the definition for this element must be in the form (#PCDATA |
child1 | child2 ....)*
So, every time the SGML definition involves a #PCDATA element, you need to
rearrange it so that it has this form. BTW, this new form is less
restrictive, like in this example

ENTITY % f.text "#PCDATA | roman | italic | ov"
ENTITY % f.oper "mark | markref | break | sup | sub | sum | integral |
product | plex | frac | diff | sqrt | root | square | power | pile |
matrix | fence | middle | tensor | mfn | box | vec"

ELEMENT mfn ((fname , of) | (%f.text; | %f.oper;)+)>

that must be changed into

ELEMENT mfn (%f.text; | fname | of | %f.oper;)*>

6) SGML has more attribute types, e.g. NUTOKEN, NUTOKENS, NAME, NAMES; the
first two should be mapped to NMTOKEN and NMTOKENS, the last ones should be
changed into plain CDATA. It also has a modifier, #CONREF, that should be
changed into #IMPLIED. Also, the default value for enumerated values should
be placed between quotes.

Hope this helps,
Alberto

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.