xsl-list
[Top] [All Lists]

Re: [xsl] Query info on XSD.

2011-07-20 04:54:21
One thing you could try is to use the Saxon schema processor to create a representation of your schema as a .SCM document - this is an XML representation of the Schema Component Model. It's relatively easy to query the .SCM document using XPath to find the information you need (but you'll need to do a bit of exploration to understand the format).

There's more information here:

http://www.saxonica.com/documentation/schema-processing/scm.xml

Michael Kay
Saxonica

On 19/07/2011 19:11, Giuseppe Briotti wrote:
Hi all!

First of all, sorry for my bad english...

I have a question about a transformation from xml to xml with different xsd.

I start from a flat docx with custom tag. The following example is a
fragment of such docx:

                                     <w:customXml

w:uri="http://www.mywebsite.it/mynamespace.html";
                                         w:element="MyCustomElement">
                                         <w:customXmlPr>
                                             <w:attr w:name="idA" 
w:val="18769"/>
                                             <w:attr w:name="idB" 
w:val="25201"/>
                                             <w:attr w:name="timeA"
w:val="10:53:09"/>
                                         </w:customXmlPr>
                                         <w:r w:rsidRPr="00735F4B">
                                             <w:rPr>
                                                 <w:b/>
                                             </w:rPr>
                                             <w:t>This is a bold text</w:t>
                                         </w:r>
                                     </w:customXml>

Due to the fact that this docx is generated with mynamespace XSD
loaded in MSWord, if I transform
with a XSLT such docx in my xml, I obtain as result a valid XML.

BUT!

Some of my custom tag allow presentation elements as children, and
others don't.

The idea is thus to query on my XSD to see if that particular element
allows text or paragraphs as childre.

I didn't find any example. I find xsom [1] that implements SCD [2] but
it seems that you must now the correct
and complete SCD path (probably I must implement some kind of visitor...).

I check XSLT2.0 schema aware, but if I understood right, it validates
the source XML and destination XML,
throwing exception if something goes wrong. I don't know if it is
possible, for instance, to change a template
behaviour depending on schema.

At the moment, the only working solution is to create a some king of
XML configuration file that contains all
the required information and open such file as document in xslt and
check it in a template.

This solution works fine, but probably there is a more efficient approach.

Any suggestions?

TIA

Giuseppe.

[1] http://xsom.java.net/
[2] http://www.w3.org/TR/2005/WD-xmlschema-ref-20050329/


--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>