コード例 #1
0
ファイル: tree.cpp プロジェクト: alepharchives/Sablotron
void Tree::excludeStdNamespaces()
{
  NZ(getCurrentInfo()) -> 
    getExcludedNS().addUri(stdPhrase(PHRASE_XML_NAMESPACE));
  if (XSLTree)
    {
      NZ(getCurrentInfo()) -> 
	getExcludedNS().addUri(stdPhrase(PHRASE_XSL_NAMESPACE));
    }
}
コード例 #2
0
ファイル: tree.cpp プロジェクト: alepharchives/Sablotron
eFlag Tree::pushNamespacePrefixes(Sit S, Str& prefixes, XSL_ATT att)
{
  if (!XSLTree) return OK;

  PList<Str*> tokens;
  char *p, *q;
  q = (char*) prefixes;
  skipWhite(q);
  p = q;
  int i = strcspn(q, theWhitespace);
  while (*q && i) 
    {
      q += i;
      char save = *q;
      *q = 0;
      
      Str* aux = new Str(p);
      tokens.append(aux);

      *q = save;
      skipWhite(q);
      p = q;
      i = strcspn(q, theWhitespace);
    }
  //add to list
  SubtreeInfo *info = getCurrentInfo();
  for (i = 0; i < tokens.number(); i++)
    {
      Str tok = *(tokens[i]);
      Phrase prefix = 
	tok == (const char*) "#default" ? UNDEF_PHRASE : unexpand(tok);
      int idx = pendingNS().findNdx(prefix);
      if (idx != -1)
	{
	  switch (att) {
	  case XSLA_EXT_ELEM_PREFIXES:
	    {
	      info -> getExtensionNS().append(toNS(pendingNS()[idx]) -> uri);
	    }; //no break
	  case XSLA_EXCL_RES_PREFIXES:
	    {
	      info -> getExcludedNS().append(toNS(pendingNS()[idx]) -> uri);
	    }; break;
	  }
	}
      else
	{
	  Str aux = *(tokens[i]);
	  tokens.freeall(FALSE);
	  Err1(S, E_EX_NAMESPACE_UNKNOWN, (char*) aux);
	}
    }
  tokens.freeall(FALSE);
  //printf("----------------------------\n");
  return OK;
}
コード例 #3
0
ファイル: CurrentImpl.C プロジェクト: AlvaroVega/TIDorbC
PortableServer::Servant TIDorb::core::poa::CurrentImpl::get_servant() 
  throw (PortableServer::Current::NoContext)
{
  return getCurrentInfo()->_servant;
};
コード例 #4
0
ファイル: CurrentImpl.C プロジェクト: AlvaroVega/TIDorbC
PortableServer::ObjectId_ptr TIDorb::core::poa::CurrentImpl::get_object_id() 
  throw (PortableServer::Current::NoContext)
{
  return getCurrentInfo()->_current_oid.toByteArray();
};
コード例 #5
0
ファイル: CurrentImpl.C プロジェクト: AlvaroVega/TIDorbC
PortableServer::POA* TIDorb::core::poa::CurrentImpl::get_POA() 
  throw (PortableServer::Current::NoContext)
{
  return PortableServer::POA::_duplicate(getCurrentInfo()->_current_poa);
};
コード例 #6
0
ファイル: tree.cpp プロジェクト: alepharchives/Sablotron
Bool Tree::isExtensionUri(Phrase uri) 
{
  return getCurrentInfo() -> getExtensionNS().findNdx(uri) != -1;
}
コード例 #7
0
ファイル: tree.cpp プロジェクト: alepharchives/Sablotron
eFlag Tree::popNamespacePrefixes(Sit S)
{
  if (XSLTree)
    getCurrentInfo() -> popNamespaceMarks();
  return OK;
}