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
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Alexander KolchinskySubject: Cannot see links from source document in mapper
Author: Alexander Kolchinsky
Date: 20 Dec 2007 10:50 PM
Originally Posted: 20 Dec 2007 10:43 PM
Please help,

I cannot see links from my source xsd in the mapper when I use the "unqualified" references in the xslt script. My schema definition has imports from other schemas, which are qualified, but the target document is unqualified. When I use the mapper to create the links (by drag and drop) it creates the a & b namespaces, and then shows the link from the source (a) document. However, the resulting xslt doesn't work, since I don't have any namespace qualifiers in the xml instance document. Anyways, I really don't want to use any namespace qualifiers in my xslt, since the schema itself specifies a nonqualified target documeent. I am including my schema and xslt files. I could upload the "included" schemas because they are too large, but you have an idea of what I am trying to do.


Unknownmap-address.xsl
map-address xslt

Unknowntest-input.xml
test input

Unknownnsm-dm.xsd
envelope schema (source)

Unknownadm.xsd
adm schema

UnknownStylusStudionolinksfromsource.rtf
SS screenshot showing no links from src

Postnext
Alberto MassariSubject: Cannot see links from source document in mapper
Author: Alberto Massari
Date: 21 Dec 2007 03:06 AM
Hi Alexander,
I am unable to open your XSL in mapper, as I miss at least two schemas (juno-es.xsd and dm.xsd).
However, what I see doesn't seem right: the test-input.xml doesn't use namespaces at all, but the schema you are using to model it (nsm-dm.xsd) places all the elements inside the http://juniper.net/DMSchema namespace.
Mapper added the prefixes to both the output nodes and the XPath queries because that was the correct thing to do; it's your XML file that doesn't respect the schemas being used.

Alberto

Postnext
Alexander KolchinskySubject: Cannot see links from source document in mapper
Author: Alexander Kolchinsky
Date: 21 Dec 2007 01:06 PM
Hi Alberto,

I cannot put the namespace qualifiers on the input file, because I don't control the input file. That's why I specify: elementFormDefault="unqualified" in the schema. The xslt script actually works fine without the namespace qualifiers in the input file. The reason I need the namespace qualifiers in nsm-dm.xsd is because I am importing 2 other xsd schemas, and I need to differentiate, in case there is a name conflict. So, if the xslt actually works and the xpath's do pick up the correct nodes in the input, why doesn't stylus show me the links in the mapper?

Postnext
Alberto MassariSubject: Cannot see links from source document in mapper
Author: Alberto Massari
Date: 24 Dec 2007 11:56 AM
Hi Alexander,
the XSLT works fine with your source XML because the XSLT assumes the XML doesn't have any namespace, and it indeed doesn't use them.
But the schema you are using to model the XML is not modeling it at all; even if you use the elementFormDefault="unqualified" directive, it will place in the empty namespace only the locally defined elements, while the elements declared at the top level (e.g. "dm") will always be in the namespace specified by the targetNamespace attribute.
I don't have the dm.xsd schema that the main one includes, so I cannot judge whether you have a clash between different element names; but in the end, if the XML you are using doesn't use namespaces, the XML Schema that is supposed to model it shouldn't use namespace too.

Hope this clears the picture,
Alberto

Postnext
Alexander KolchinskySubject: Cannot see links from source document in mapper
Author: Alexander Kolchinsky
Date: 28 Dec 2007 08:26 PM
Then how can I not use the namespaces in the envelope schema, but at the same time control which object I want to use as the element type. I am importing 2 schemas (dm.xsd & adm.xsd) into the envelope schema, and I have an "address_collection_type" objects in both dm.xsd & adm.xsd.

Postnext
Alberto MassariSubject: Cannot see links from source document in mapper
Author: Alberto Massari
Date: 02 Jan 2008 10:50 AM
Hi Alexander,
you should not use a targetNamespace in the top-level schema that defines the envelope; that schema can import other schemas that have a targetNamespace, just be sure that they define complex and simple types, instead of elements. All the elements should be defined in the targetSchema-less schema, using type="xxx:type" to point to the type from the included schema.

Hope this helps,
Alberto

Postnext
Alexander KolchinskySubject: Cannot see links from source document in mapper
Author: Alexander Kolchinsky
Date: 03 Jan 2008 01:52 PM
Hi Alberto,

I tried what you have suggested, but still doesn't show the links from the source schema in the mapper. My envelope schema looks like this:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:dm="http://juniper.net/nsm/DMSchema"
xmlns:adm="http://juniper.net/nsm/ADMSchema"
elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<xsd:import schemaLocation="included/dm.xsd" namespace="http://juniper.net/nsm/DMSchema"/>
<xsd:import schemaLocation="included/adm.xsd" namespace="http://juniper.net/nsm/ADMSchema"/>
<xsd:element name="dm">

...

If I remove the xmlns:dm & xmlns:adm from the envelope schema, then it tells me that the schema is invalid because it cannot find the dm:type when I use it in the element definition.

Please help.

Alex.

Postnext
Alberto MassariSubject: Cannot see links from source document in mapper
Author: Alberto Massari
Date: 03 Jan 2008 03:56 PM
Hi Alexander,
in this snippet you are associating the same namespace to two different prefixes, and loading two different schemas for that namespace; if the two schemas are using the same targetNamespace, they should be merged into one.
In order to help you designing the correct schema, I need all the files, like the juno-es.xsd and the dm.xsd. Can you zip the entire folder and attach it to the post?

Thanks,
Alberto

Postnext
Alexander KolchinskySubject: Cannot see links from source document in mapper
Author: Alexander Kolchinsky
Date: 03 Jan 2008 08:24 PM
Here is the one which includes junos-es.xsd as well.


Unknownsupport(1).zip

Posttop
Alberto MassariSubject: Cannot see links from source document in mapper
Author: Alberto Massari
Date: 04 Jan 2008 05:13 AM
Hi Alexander,
the dm.xsd and adm.xsd schemas specify elementFormDefault="qualified", so the XML elements inside the complex type they defines are placed in their own namespaces. For example, a valid instance of the dm:address_type type would contain <dm:name_>, <dm:zone> and so on. In order to validly represent a namespace-less XML document, you need to specify elementFormDefault="unqualified" in both dm.xsd and adm.xsd; at that point Mapper will show the links to the source tree.

Hope this helps,
Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
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.