Hi, All,

I am using Xerces-C++ 3.1.1 for SAX2 parsing. I am parsing a W3C standard format, the Speech Recognition Grammar Specification 1.0 (SRGS), for which a standard DTD and Schema are provided, and I am currently validating using both files. The SRGS recommendation says that if attributes or elements from other namespaces are encountered, it is permissible to ignore them or process them.

Right now, if I try to define a new namespace in an SRGS XML file, and then add an attribute using that namespace to an existing element, I get a validation error ("attribute '{http://www.example.com/2010/test}attr' is not declared for element 'rule'"). Sample file is below.

I'd like to figure out how to ignore or process the attribute. Is there some combination of features I can set that will validate to the SRGS namespace, yet will allow such items through without errors? Failing that, is there anything I can do short of editing the SRGS DTD and/or Schema? Can I do something in a Schema for my "test" namespace that might help? Thanks,

Lee Doron


vvvvvvvv

<?xml version="1.0" encoding="WINDOWS-1252"?>
<!DOCTYPE grammar PUBLIC "-//W3C//DTD GRAMMAR 1.0//EN"
                  "http://www.w3.org/TR/speech-grammar/grammar.dtd";>

<grammar version="1.0"
         xmlns="http://www.w3.org/2001/06/grammar";
         xmlns:test="http://www.example.com/2010/test";
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
         xsi:schemaLocation="http://www.w3.org/2001/06/grammar
                             http://www.w3.org/TR/speech-grammar/grammar.xsd
                             http://www.example.com/2010/test
                             test.xsd"
         xml:lang="en-US"
         >
  <rule id="hi" test:attr="1">
  hi
  </rule>
</grammar>

^^^^^^^^

Reply via email to