Hitachi Vantara Pentaho Community Forums
Results 1 to 5 of 5

Thread: DTD issue with 3.3.0/3.4.1/3.5.0

  1. #1

    Default DTD issue with 3.3.0/3.4.1/3.5.0

    Hi all,

    I'm using Eclipse to create my schema and I ran into a problem with the following snippet of code:
    Code:
        <Dimension name="media">
            <Hierarchy hasAll="true">
             The content of element type  "Hierarchy" must match  "(Annotations?,RelationOrJoin?,Level*,MemberReaderParameter*)"
                <Table name="media"></Table>
            </Hierarchy>
        </Dimension>
    Apparently the mondrian.dtd does not allow a child Table on Hierarchy:
    Code:
    <!ELEMENT Hierarchy (Annotations?,RelationOrJoin?,(Level)*,(MemberReaderParameter)*)>
    <!ELEMENT RelationOrJoin EMPTY>
    <!ELEMENT Relation EMPTY>
    This is true with 3.3.0-3.5.0.
    Is there any version in which the DTD is right?

  2. #2
    Join Date
    Dec 2009
    Posts
    609

    Default

    Hi there,

    why not use the workbench to create the mondrian schema?
    http://sourceforge.net/projects/mond...a%20workbench/

    Cheers,

    Tom

  3. #3
    Join Date
    Mar 2007
    Posts
    142

    Default

    We use concept inheritance when we define Mondrian schemas, so a Table element happens to be a RelationOrJoin subclass. We generate those DTDs automatically and I don't think that our generation tool can represent these relations (I'm not even sure that DTDs can represent inheritance).
    Luc Boudreau
    aka. Luc le Magnifique
    aka. Monsieur Oui Oui

    Lead Engineer, Pentaho Corporation
    Web: http://devdonkey.blogspot.com
    Twitter: luclemagnifique
    IRC: Monsieur_Oui_Oui@freenode

  4. #4

    Default

    Hi TomS,

    Thanks for your reply. There are several reasons why I'd choose not to use the workbench if the DTD's were working correctly.

    First of all, I'd rather work with plain schema with clearly defined ruleset using a tool of my choice than with an external tool. Secondly, I'm using Mondrian 3.5.3 release from the maven repository and I'd rather use a DTD from the same release than workbench off the SourceForge. Nextly, the workbench is bugged - if I stop working at a spot where the schema is invalid (e.g. I didn't add the table to the hierarchy) and save, I can't re-load that schema.

    Having said that, my reason to put up this topic was not to discuss the possibilities (in fact I did use the workbench to do the schema) but to bring up a likely bug and inquire about it before posting a report to a tracker. From where I'm standing, the DTD is invalid, missing a required element, and thus useless. I suppose that it should NOT be included into releases in the current state. It puts the whole project in a bad light, leaving an "unfinished and buggy" impression from the very start.

    I might be missing some vital information here, so please correct me if I'm wrong!

  5. #5
    Join Date
    Mar 2007
    Posts
    142

    Default

    To understand why the DTDs are not exactly "valid", I suggest that you consult this email thread on the subject. It is recent. In a nutshell, we can't generate DTDs which represent inheritance of elements.

    http://lists.pentaho.org/pipermail/m...ry/004330.html

    Aditionally, you can read the following blog post. That person has taken the DTD for Mondrian 4.X and fixed it and has released a XSD for it as well.

    http://diethardsteiner.blogspot.ca/2...get-ready.html
    Luc Boudreau
    aka. Luc le Magnifique
    aka. Monsieur Oui Oui

    Lead Engineer, Pentaho Corporation
    Web: http://devdonkey.blogspot.com
    Twitter: luclemagnifique
    IRC: Monsieur_Oui_Oui@freenode

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.